Contexto General
El sistema de copias de seguridad está basado en Bacula utilizando el contenedor bacularis/bacularis-standalone desplegado mediante Docker Compose. El contenedor del Director y Storage Daemon se ejecuta en una computadora local con dos discos configurados en RAID, conectada por red Ethernet.
Todos los servicios de la infraestructura se encuentran conectados mediante una VPN a un servidor VPS en la nube, que actúa tanto como cliente de Bacula como punto de acceso remoto. El VPS también ejecuta servicios críticos (por ejemplo, OpenProject, Reverse Proxy y Zabbix VPS).
Infraestructura de Backup
Componente | Descripción |
---|---|
Servidor Bacula | Equipo físico local con RAID. Corre el contenedor bacularis/bacularis-standalone y contiene el Director, Storage Daemon y Console. |
Almacenamiento local | RAID montado en el host y exportado al contenedor Bacula. Se usa para guardar los volúmenes de backup. |
Conexión VPN | Red privada que enlaza el VPS con el servidor Bacula y los clientes Proxmox locales. |
Clientes Bacula |
Cada cliente tiene su propio File Daemon y realiza backups hacia el Bacula Director local. |
Backups de configuración | Copia diaria del directorio /etc/bacula hacia una carpeta montada conf-backup mediante cron, para respaldar la configuración del sistema Bacula. |
Servicios Respalados
Servicio | Ubicación | Tipo de backup | Frecuencia |
---|---|---|---|
BillionMail (LXC) | Proxmox local | Incremental | Quincenal |
MediaWiki (VM QEMU) | Proxmox local | Incremental | Quincenal |
Odoo (LXC) | Proxmox local | Incremental | Diario |
Zabbix Local (LXC) | Proxmox local | Incremental | Quincenal |
OpenProject (Docker Compose) | VPS | Incremental | Diario |
Reverse Proxy (NGINX + Docker Compose) | VPS | Incremental | Quincenal |
Servidor OpenVPN | Baremetal | Incremental | Diario |
Zabbix VPS (Docker Compose) | VPS | Incremental (de dumps MySQL) | Quincenal |
Schedules definidos
Schedule { Name = "Diario" Run = at 1:30 } Schedule { Name = "Quincenal" Run = on 1,16 at 1:00 } Schedule { Name = "Semanal" Run = Level=Full 1st sun at 2:00 Run = at 2:00 }
Cada servicio tiene su propio Job y Pool asociado, lo que permite rotaciones independientes.
Política de Retención
- Cada Pool mantiene los últimos 7 backups realizados.
- Configuración:
Maximum Volume Jobs = 1 Maximum Volumes = 7 Recycle = yes Recycle Oldest Volume = yes AutoPrune = yes Label Format = "<Servicio>-" Label Media = yes
- Resultado: cada Job genera un nuevo volumen. Al llegar al octavo, el más antiguo es reciclado automáticamente.
Regla 3-2-1 Aplicada
La política de backups cumple la regla 3-2-1 de la siguiente forma:
3 Copias de los Datos
- **Datos en producción:** ubicados en los servidores locales (Proxmox, baremetal y VPS).
- **Backup primario (on-site):** almacenado en el RAID local mediante Bacula (Pool principal por servicio).
- **Backup secundario (off-site):** replicación hacia el VPS (Storage remoto) y posterior sincronización hacia un bucket S3/MinIO con rclone.
2 Tipos de Soporte
- Disco local (RAID físico en el servidor Bacula).
- Almacenamiento remoto (VPS o almacenamiento POR RESOLVER).
De esta manera se utilizan dos medios distintos: disco local y almacenamiento remoto.
1 Copia Fuera del Sitio
- El VPS actúa como destino remoto conectado por VPN.
- Además, un proceso rclone en el VPS sincroniza diariamente los volúmenes al bucket de nube (S3/Wasabi/MinIO), garantizando una copia off-site geográficamente separada.
Esquema General
[Producción] ↓ [Backup On-site (RAID local)] ↓ [Replicación Off-site (VPS)] ↓ [Sync a Nube / POR RESOLVER]
Resumen de Cumplimiento 3-2-1
Elemento | Medio | Ubicación | Descripción |
---|---|---|---|
1. Datos productivos | Disco | On-site / VPS | Datos en ejecución (servicios, bases de datos, etc.) |
2. Copia on-site | RAID (disco) | Local | Backup primario con Bacula Storage local. |
3. Copia off-site | X RESOLVER | Remoto | Copia replicada mediante VPN y sincronizada a almacenamiento de objetos. |
Procedimientos de Mantenimiento
- Verificación semanal de logs de Bacula (Director y SD).
- Revisión mensual de espacio en RAID.
- Ejecución manual de restore de validación.
- Limpieza automática del catálogo según retenciones de 90 días.
Conclusión
La infraestructura cumple con la regla 3-2-1 de backup mediante la combinación de Bacula, un almacenamiento local en RAID y replicación off-site automatizada hacia ALMACENAMIENTO POR RESOLVER. Esto garantiza redundancia, disponibilidad y protección ante fallos locales o pérdida de sitio físico.