Problemi affrontati
- I backup venivano creati ma mai provati: l'unico controllo era l'esito positivo del job.
- Tutte le copie risiedevano sullo stesso sistema di storage, esposte agli stessi guasti.
- Mancavano una copia fuori sede e una separazione tra le credenziali di produzione e quelle di backup.
- Non c'erano obiettivi di ripristino definiti per classe di servizio né una procedura di ripristino scritta.
Soluzione implementata
La catena segue la regola 3-2-1. I dati di produzione sono salvati da job pianificati su un Proxmox Backup Server locale, replicati su un NAS con un sistema di storage indipendente e sincronizzati verso una destinazione fuori sede. Verify job, prune e garbage collection sono pianificati sul server di backup. Uno script ripristina periodicamente una macchina campione in un ambiente isolato, ne controlla l'avvio e registra l'esito, segnalando gli errori. Gli obiettivi di ripristino per classe di servizio guidano frequenza e conservazione dei backup.
Risultati
- Il ripristino di prova di una macchina campione è automatico e il suo esito viene registrato, non dato per scontato.
- Le copie risiedono su sistemi e posizioni distinti, riducendo il rischio di perdere tutto con un unico evento.
- La procedura di ripristino è scritta e provata a intervalli regolari, non solo documentata.
- La copia fuori sede è operativa e inclusa nelle stesse verifiche periodiche.
Descrizione tecnica
Un backup è utile solo se si riesce a ripristinarlo. Questo caso di studio costruisce una catena di backup secondo la regola 3-2-1 e vi affianca una verifica automatica che ripristina davvero i dati, invece di affidarsi all'esito dei job.
Architettura
La regola 3-2-1 richiede almeno tre copie dei dati, su due supporti diversi, di cui una fuori sede. Oltre ai dati di produzione, la catena prevede tre copie di backup. Le macchine virtuali e i container del cluster sono salvati da job pianificati su un Proxmox Backup Server locale (prima copia). Una seconda copia risiede su un NAS, con un sistema di storage indipendente. La terza copia è inviata a una destinazione fuori sede, con cifratura lato client prima dell'invio. Prima copia, seconda copia e copia fuori sede sono tutte operative e rientrano nelle stesse verifiche di ripristino.
Componenti e scelte
- Proxmox Backup Server offre backup incrementali e deduplicati, conservazione configurabile e controlli di integrità dei dati.
- Prune e garbage collection applicano la conservazione e recuperano spazio; i verify job rileggono periodicamente i dati per individuare corruzioni silenziose.
- NAS su ZFS come seconda copia, con snapshot e scrub periodici.
- Credenziali separate: l'utente con cui i nodi salvano i backup ha solo i permessi necessari e non coincide con l'amministratore del server di backup.
- Obiettivi per classe di servizio: ogni gruppo di carichi ha un obiettivo di punto di ripristino (quanti dati si possono perdere) e di tempo di ripristino (quanto si può attendere), da cui derivano frequenza e conservazione.
Verifica automatica dei ripristini
Attenzione
Il verify job controlla che i dati siano integri, non che la macchina si avvii. Servono entrambi i controlli.
Uno script periodico ripristina una macchina campione su un identificativo temporaneo, scollega la rete per evitare conflitti, la avvia e attende la risposta del guest agent. Poi registra l'esito, segnala gli errori e rimuove la macchina di prova.
qmrestore pbs-locale:backup/vm/105/<data-ora-snapshot> 9100 --storage local-zfs --unique 1
qm set 9100 --delete net0
qm start 9100
qm agent 9100 ping
qm stop 9100 && qm destroy 9100 --purgeIl controllo dell'avvio è il livello minimo: per i servizi critici si aggiungono verifiche applicative, come la risposta di un servizio o la lettura di dati di prova. L'esito di ogni prova viene registrato e notificato; un ripristino fallito è trattato come un incidente da analizzare, non come un semplice avviso. La macchina campione cambia a rotazione, così nel tempo vengono provati tutti i tipi di carico.
Possibili evoluzioni
Rotazione del campione tra tutte le classi di servizio, prova di ripristino di singoli file, copia immutabile o offline contro il ransomware (estensione 3-2-1-1-0) e invio dell'esito delle verifiche al sistema di monitoraggio. Il metodo di base è illustrato in Strategia di backup 3-2-1 con Proxmox Backup Server e un NAS.