Backup de Proxmox a almacenamiento S3 compatible
Saca tus copias de Proxmox del datacenter: una tercera copia inmutable en S3, sin sorpresas por peticiones ni por borrados.
Tu clúster de Proxmox VE ya hace copias con vzdump y Proxmox Backup Server (PBS) deduplica y verifica tus VMs y contenedores. Pero si todo vive en el mismo rack, un incendio, un robo o un ransomware que llegue al hipervisor se lo lleva por delante. OtterStorage te da el tercer eslabón de la regla 3-2-1: un destino offsite, compatible con S3, donde dejar una copia inmutable de tus backups.
El problema
Las copias locales son rápidas para restaurar, pero no protegen ante un desastre del sitio. Las configuraciones más habituales en Proxmox dejan un único punto de fallo:
- Los volcados
vzdumpse escriben en un storage local o NFS que está en el mismo edificio que el hipervisor. - El datastore de PBS, por bueno que sea su deduplicado y su verificación, sigue siendo una sola copia física.
- Un ransomware con acceso al host puede cifrar o borrar tanto las VMs como sus backups si están montados o accesibles desde el mismo sistema.
- Replicar a un segundo PBS reduce el riesgo, pero suele estar en la misma red o el mismo proveedor.
La regla 3-2-1 lo resume bien: 3 copias, en 2 soportes distintos, con 1 fuera del sitio. Ese "1 fuera del sitio" es justo lo que falta en la mayoría de instalaciones.
La solución con OtterStorage
OtterStorage es almacenamiento de objetos compatible con S3. Apuntas tus herramientas al endpoint https://s3.otterstorage.io, creas un bucket con sus credenciales (access key + secret key por bucket) y sincronizas allí tus backups de Proxmox como tercera copia offsite. Puntos clave:
- Offsite real: tus copias salen de tu datacenter sin necesidad de montar un segundo sitio.
- Coste por TB claro: pagas por lo que almacenas. No cobramos por peticiones ni por borrados, así que las sincronizaciones frecuentes y la rotación de copias antiguas no te penalizan en factura.
- Inmutabilidad: con Object Lock (OtterVault) y Legal Hold a nivel de bucket puedes garantizar que una copia no se altera ni se borra durante un periodo, ni siquiera con credenciales comprometidas.
Hay varios enfoques prácticos según uses PBS o vzdump directamente. Los detallamos a continuación; si quieres el contexto general de copias offsite, también tienes nuestra página de backups.
Cómo configurarlo
Enfoque A — rclone: sincronizar el datastore de PBS o los volcados vzdump
El enfoque más directo es copiar a S3 lo que ya está en disco. Vale tanto para el directorio del datastore de PBS como para la carpeta de volcados vzdump (por defecto /var/lib/vz/dump).
1. Instala rclone en el host de PBS o en el nodo Proxmox VE:
apt update && apt install -y rclone
2. Crea un remote S3 genérico. Puedes usar el asistente con rclone config o escribir directamente /root/.config/rclone/rclone.conf:
[otter]
type = s3
provider = Other
access_key_id = TU_ACCESS_KEY
secret_access_key = TU_SECRET_KEY
endpoint = https://s3.otterstorage.io
region = eu-mad
acl = private
3. Comprueba el acceso listando el bucket que hayas creado en el panel (por ejemplo proxmox-backups):
rclone lsd otter:proxmox-backups
4. Sincroniza el directorio de copias hacia el bucket. sync deja el destino igual que el origen (sube lo nuevo y elimina en destino lo que ya no está en origen):
# Volcados vzdump
rclone sync /var/lib/vz/dump otter:proxmox-backups/dump \
--transfers 4 --checkers 8 --fast-list --stats 30s
# O el datastore de PBS (sustituye por la ruta real de tu datastore)
rclone sync /mnt/datastore/principal otter:proxmox-backups/pbs \
--transfers 4 --checkers 8 --fast-list --stats 30s
5. Programa la sincronización por cron. Edita el crontab con crontab -e y lánzala, por ejemplo, cada noche a las 03:30:
30 3 * * * /usr/bin/rclone sync /var/lib/vz/dump otter:proxmox-backups/dump --transfers 4 --checkers 8 --fast-list --log-file /var/log/rclone-otter.log
Nota sobre PBS: el datastore usa una estructura de "chunks" deduplicados. Copiar esos ficheros con rclone te da un respaldo fiel del datastore que puedes restaurar montándolo de nuevo en un PBS; trátalo como un bloque coherente y evita sincronizar mientras hay tareas de garbage collection en curso.
Enfoque B — restic apuntando directamente a OtterStorage
Si prefieres que la propia herramienta de copia gestione cifrado, snapshots y retención contra S3, restic es una opción excelente para enviar /var/lib/vz/dump (o el datastore) a OtterStorage. Restic cifra del lado del cliente, deduplica y aplica políticas de retención.
1. Instala restic y exporta las credenciales del bucket:
apt install -y restic
export AWS_ACCESS_KEY_ID=TU_ACCESS_KEY
export AWS_SECRET_ACCESS_KEY=TU_SECRET_KEY
export RESTIC_REPOSITORY="s3:https://s3.otterstorage.io/proxmox-restic"
export RESTIC_PASSWORD="una-frase-larga-y-secreta"
2. Inicializa el repositorio (solo la primera vez):
restic init
3. Haz la copia de la carpeta de volcados:
restic backup /var/lib/vz/dump --tag proxmox --tag offsite
4. Aplica una política de retención y limpia lo sobrante. Recuerda que no cobramos por peticiones ni por borrados, así que ejecutar forget --prune con frecuencia no añade coste:
restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune
5. Verifica la integridad del repositorio periódicamente:
restic check
Guarda la variable RESTIC_PASSWORD en lugar seguro: sin ella no se puede restaurar nada. Para automatizar, coloca las exportaciones en un fichero /root/.restic-env con permisos 600 y cárgalo desde una tarea de cron.
Enfoque C — sync jobs nativos de PBS + S3 como tercera copia
Proxmox Backup Server permite definir un remote (otra instancia de PBS) y crear sync jobs que replican datastores entre instancias. Es una capa de replicación PBS-a-PBS muy sólida para la segunda copia. OtterStorage encaja perfectamente como tercera copia: sincronizas con rclone (Enfoque A) el datastore destino del sync job hacia S3, de modo que la cadena queda completa:
- 1.ª copia: datastore de PBS local, con verificación y deduplicado.
- 2.ª copia: sync job de PBS hacia un segundo PBS (otro nodo o sitio).
- 3.ª copia: rclone del datastore a
https://s3.otterstorage.io, offsite e inmutable.
Inmutabilidad recomendada con Object Lock
Para que una copia comprometida en el host no pueda alterar lo que ya está en OtterStorage, activa Object Lock (OtterVault) al crear el bucket y, si lo necesitas, Legal Hold a nivel de bucket. Con un periodo de retención en modo cumplimiento, ni siquiera unas credenciales robadas pueden borrar o sobrescribir los objetos protegidos hasta que expire la retención. Es la defensa más eficaz frente a ransomware sobre tus backups. Consulta los pasos exactos en la documentación.
Beneficios
- Offsite sin segundo datacenter: cumples el "1 fuera del sitio" de la regla 3-2-1 apuntando a un endpoint S3.
- Coste por TB predecible: facturas por lo almacenado, sin letra pequeña.
- Sin coste por peticiones ni por borrados: sincroniza a menudo y rota copias antiguas sin miedo a inflar la factura con operaciones.
- Inmutabilidad real: Object Lock y Legal Hold protegen tus copias frente a borrado o cifrado malicioso.
- Compatible con lo que ya usas: rclone y restic funcionan con cualquier flujo de vzdump o PBS, sin cambiar tu operativa.
¿Tienes dudas sobre el endpoint, la región eu-mad o la creación de buckets con Object Lock? Todo está en la documentación.
¿Lo montamos juntos?
Migración asistida para los Founding Otters.