Problema
En muchos homelabs el crecimiento de datos supera rápidamente la capacidad de un único tipo de medio. Se combina NVMe para rendimiento, SSD para disponibilidad y HDD para archivo, pero la copia de seguridad suele quedar confinada al mismo rack. Esa proximidad aumenta el riesgo: una falla eléctrica, incendio o error humano puede destruir simultáneamente el origen y todas sus réplicas. El reto es diseñar una estrategia de backup que:
- Aproveche la velocidad del NVMe para operaciones diarias.
- Utilice SSD como zona de respaldo rápido y de retención corta.
- Reserve HDD para copias de seguridad semanales o mensuales (“cold storage”).
- Añada una capa fuera del sitio o un medio físico resistente (cinta LTO, nube, etc.) para recuperación ante desastres (DR).
El objetivo es crear un flujo de datos predecible, automatizado y verificable sin depender de soluciones propietarias costosas.
Causa
Los fallos más habituales en este tipo de entornos provienen de:
- Single‑point-of‑failure del rack – todos los volúmenes están alimentados por la misma UPS y red. Cuando esa infraestructura colapsa, se pierden tanto los datos primarios como los respaldos locales.
- Falta de separación temporal – si la copia de seguridad diaria se guarda en el mismo SSD que sirve de cache, un borrado accidental o corrupción se propaga rápidamente.
- Inconsistencias de snapshots – al respaldar máquinas virtuales sin congelar el estado del sistema de archivos, los backups pueden quedar corruptos.
- Plan de retención insuficiente – sin una política clara, los archivos antiguos se sobrescriben y se pierden versiones históricas.
- Ausencia de pruebas de restauración – la mayoría de los usuarios confía en que “el backup está ahí” sin validar la integridad ni el tiempo de recuperación.
Solución
Una arquitectura de backup en tres niveles, con automatización y verificación, cubre los puntos anteriores.
1. Nivel 0 – Producción (NVMe)
- Objetivo: Máxima IOPS y latencia mínima para VMs y bases de datos.
- Implementación: Pool ZFS o Ceph con 128 TB NVMe, expuesto a los hipervisores vía iSCSI o NFS.
- Buenas prácticas: Habilitar
recordsize=4Kpara bases de datos, usarcompression=lz4solo si la carga lo permite, y crear snapshots cada hora con retención de 24 h.
2. Nivel 1 – Backup rápido (SSD)
- Objetivo: Copia de seguridad diaria que pueda restaurarse en minutos.
- Implementación: Servidor dedicado con 96 TB SATA SSD, ejecutando Proxmox Backup Server (PBS). PBS recibe los snapshots de nivel 0 mediante
pve-backupovzdump. - Política de retención: Retener 7 copias diarias y 4 semanales. PBS gestiona deduplicación a nivel de bloque, lo que reduce el espacio necesario.
- Automatización: Jobs programados en PBS con
prune-backuppara aplicar la política de retención.
3. Nivel 2 – Archivo frío (HDD)
- Objetivo: Almacén de gran capacidad para copias semanales/mensuales y datos que rara vez se acceden.
- Implementación: NAS de 4 × 30 TB en RAID‑6, montado vía NFS en el servidor PBS. El NAS se apaga después de cada ventana de backup para ahorrar energía y reducir desgaste.
- Ciclo de copia: Cada domingo, PBS replica los backups de nivel 1 al NAS usando
rsync --archive --delete. Se conserva una rotación mensual de 12 copias.
4. Nivel 3 – Off‑site / LTO
- Objetivo: Protección contra desastres físicos.
- Opciones:
- Cinta LTO‑8 – 12 TB por cartucho, escritura a 300 MB/s, vida útil de 30 años. Ideal para almacenar una instantánea mensual del NAS HDD.
- Nube privada – bucket S3 compatible (Backblaze B2, Wasabi) con versión de objetos activada.
- Procedimiento: Cada primer día del mes, un script copia la última instantánea del NAS a la cinta o al bucket. La cinta se guarda en una caja fuerte ignífuga fuera del sitio; el bucket se replica a una región distinta.
5. Orquestación y monitoreo
- Cron o systemd timers para lanzar los jobs de PBS y
rsync. - Prometheus + node_exporter para exponer métricas de espacio, latencia y éxito de backups.
- Alertmanager envía notificaciones por Telegram o correo cuando un job falla o el espacio disponible cae bajo el 20 %.
Cuándo aplicar esta solución
- Entornos con >50 TB de datos activos – la separación de NVMe y SSD evita cuellos de botella.
- Necesidad de RTO < 15 min – PBS permite restaurar una VM completa en pocos minutos desde SSD.
- Presupuesto medio – usar hardware existente (NAS HDD) y una sola cinta LTO reduce costos frente a soluciones de nube completa.
- No aplica si el homelab solo maneja unos pocos terabytes y la complejidad de tres niveles no justifica el mantenimiento adicional.
Código
# PBS: crear job de backup diario para todas las VM
pbs-manager datastore create nvme-backup --path /mnt/ssd/pbs
# Añadir VM 101 al job
pbs-manager backup create --datastore nvme-backup --vm 101 --schedule "0 2 * * *" --retain "7d,4w"
# Prune automático según política
pbs-manager prune --datastore nvme-backup --keep-daily 7 --keep-weekly 4
# Replicar de PBS a NAS HDD cada domingo a las 03:00
rsync -a --delete /mnt/ssd/pbs/ backups@nas-hdd:/export/backups/
Verificación
-
Comprobar integridad del snapshot
pbs-manager backup verify --datastore nvme-backup --vm 101 --snapshot latestEl comando debe devolver
OKsin errores. -
Simular restauración
pbs-manager restore --datastore nvme-backup --vm 101 --snapshot latest --dry-runVerifica que la VM pueda arrancar en modo prueba.
-
Validar copia en HDD
rsync --dry-run -a /mnt/ssd/pbs/ backups@nas-hdd:/export/backups/Asegúrate de que el número de archivos y tamaños coincidan.
-
Revisar métricas
Accede a Grafana → Dashboard “Backup Health”. Los paneles deben mostrarbackup_success_totalsin decrementos en los últimos 24 h.
Notas adicionales
- Desactivar el NAS durante la copia – apaga la unidad antes de iniciar el
rsyncpara evitar I/O conflictivo y reducir consumo energético. - Cifrado en reposo – habilita ZFS
encryption=onen el pool SSD y HDD si manejas datos sensibles; la clave se almacena en un HSM o en un archivo protegido porchmod 600. - Pruebas de DR – al menos una vez al trimestre, restaura una VM completa desde la cinta LTO o el bucket S3 en un hardware diferente para validar el proceso completo.
- Rotación de cintas – etiqueta cada cartucho con fecha y contenido; conserva al menos tres generaciones (mes actual, anterior y dos meses atrás) para cubrir errores de retención.
- Documentación interna – mantén un
README.mden el repositorio de scripts con pasos de recuperación, credenciales de acceso y contactos de soporte.
Con esta arquitectura de backup multi‑tier, el homelab gana velocidad en operaciones diarias, resiliencia frente a fallos locales y una capa de protección contra desastres que no depende exclusivamente de la infraestructura del rack. La clave está en automatizar, monitorear y, sobre todo, probar regularmente la restauración.