Proteggere i dati con una strategia di backup solida
La regola 3-2-1: 3 copie dei dati, su 2 supporti diversi, con 1 copia offsite. Vediamo come implementarla nel homelab.
1. Le 3 copie
- Originale: dati live sul server/VM
- Backup locale: su NAS/disco separato nella stessa rete
- Backup offsite: su server remoto o cloud cifrato
2. Backup locale con rsync
# Backup incrementale giornaliero
rsync -avz --delete /var/www/ /mnt/backup/www/
rsync -avz --delete /etc/ /mnt/backup/etc/
# Con hardlinks per versioning (backup rotanti)
rsync -avz --delete --link-dest=/mnt/backup/daily.1 /var/www/ /mnt/backup/daily.0/
3. Backup su NAS via NFS
# Montare NAS
mount -t nfs 192.168.1.90:/backup /mnt/nas-backup
# Backup compresso
tar czf /mnt/nas-backup/server-$(date +%Y%m%d).tar.gz /etc /var/www /var/lib/mysql
4. Backup offsite cifrato
# Con restic (deduplicato e cifrato)
restic init --repo sftp:utente@server-remoto:/backup/restic
restic backup /var/www /etc /var/lib/mysql
restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 12 --prune
5. Backup MySQL
# Dump completo
mysqldump --all-databases --single-transaction > /mnt/backup/mysql-$(date +%Y%m%d).sql
# Compresso
mysqldump --all-databases --single-transaction | gzip > /mnt/backup/mysql-$(date +%Y%m%d).sql.gz
6. Retention policy
# Locale: ultimi 7 giorni
# NAS: ultimi 30 giorni
# Offsite: 7 daily, 4 weekly, 12 monthly
7. Verifica backup
Un backup non verificato non è un backup. Testare il restore almeno una volta al mese.
Nell'infrastruttura: backup settimanale su TerraMASTER (NAS ZFS) via NFS, con retention di 10 copie remote e 1 locale per audit.