Product SiteDocumentation Site

9.10. Backup

Making backups is one of the main responsibilities of any administrator, but it is a complex subject, involving powerful tools which are often difficult to master. The importance of backups cannot be stressed enough, though. Backups are also not to be confused with the availability of data. Both can complement each other, but they are essentially different.
Esistono molti programmi, come amanda, bacula e BackupPC. Sono sistemi client/server con molte opzioni, la cui configurazione è piuttosto difficile. Alcuni di essi forniscono interfacce web facili da usare per mitigare il problema. Per un uso non aziendale, gli amministratori potrebbero dare un'occhiata a rsnapshot o rdiff-backup. È possibile creare facilmente dei backup di filesystem con timeshift, fsarchiver, duplicity o persino dd.
Debian contiene dozzine di altri software di backup che coprono tutte le possibili casistiche, come si può facilmente confermare con apt-cache search backup.
Invece di descriverne in dettaglio alcuni, questa sezione esporrà i pensieri degli amministratori della Falcot Corp quando definirono la loro strategia di backup.
Nella Falcot Corp, i backup hanno due obiettivi: recuperare i file erroneamente cancellati e ripristinare rapidamente qualsiasi computer (server o desktop), il cui disco rigido è venuto meno.

9.10.1. Backup con rsync

Dato che i backup su nastro sono stati ritenuti troppo lenti e costosi, il backup dei dati viene fatto su hard disk su un server dedicato, in cui l'uso di RAID software (vedere la Sezione 12.1.1, «RAID software») proteggerà i dati da guasti del disco rigido. I backup dei computer desktop non vengono fatti singolarmente, ma gli utenti sono avvisati che verrà eseguito il backup del loro account personale sul file server del proprio dipartimento. Il comando rsync (dal pacchetto omonimo) viene utilizzato quotidianamente per eseguire il backup di questi server diversi.
Lo spazio disponibile sul disco fisso vieta l'attuazione di un backup completo ogni giorno. Pertanto, il comando rsync è preceduto da una duplicazione del contenuto del backup precedente con collegamenti fisici, il che impedisce l'utilizzo eccessivo di spazio su disco. Il processo rsync quindi sostituisce solo i file che sono stati modificati dall'ultimo backup. Con questo meccanismo un gran numero di backup può essere mantenuto in una piccola quantità di spazio. Dal momento che tutti i backup sono immediatamente disponibili e accessibili (per esempio, in diverse directory di una determinata condivisione della rete), è possibile fare rapidamente paragoni tra due date.
Questo meccanismo di backup viene facilmente implementato con il programma dirvish. Utilizza uno spazio di archiviazione di backup ("banca" nel suo vocabolario), in cui colloca copie con l'indicazione della data di insiemi di file di backup (questi insiemi sono chiamati "casseforti" ("vault") nella documentazione di dirvish).
La configurazione principale è nel file /etc/dirvish/master.conf. Esso definisce la posizione dello spazio di archiviazione di backup, l'elenco delle "casseforti" da gestire, ed i valori predefiniti per la scadenza dei backup. Il resto della configurazione si trova nel file banca/cassaforte/dirvish/default.conf e contiene una configurazione specifica per il corrispondente insieme di file.

Esempio 9.3. Il file /etc/dirvish/master.conf

bank:
    /backup
exclude:
    lost+found/
    core
    *~
Runall:
    root    22:00
expire-default: +15 days
expire-rule:
#   MIN HR    DOM MON       DOW  STRFTIME_FMT
    *   *     *   *         1    +3 months
    *   *     1-7 *         1    +1 year
    *   *     1-7 1,4,7,10  1
L'impostazione bank indica la directory in cui sono memorizzati i backup. L'impostazione exclude consente di indicare i file (o i tipi di file) da escludere dal backup. Runall è un elenco di insiemi di file di cui fare il backup, ciascuno con una marcatura temporale che permette di assegnare la data corretta alla copia nel caso in cui il backup non venga avviato precisamente al tempo stabilito. Si deve indicare una data appena precedente all'effettiva ora di esecuzione (secondo il contenuto di /etc/cron.d/dirvish). Da ultimo, le impostazioni expire-default e expire-rule definiscono la politica di scadenza per i backup. Nell'esempio precedente vengono conservati per sempre i backup che sono generati la prima domenica di ogni trimestre, quelli della prima domenica di ogni mese sono cancellati dopo un anno e quelli delle altre domeniche dopo 3 mesi. Gli altri backup giornalieri sono conservati per 15 giorni. L'ordine in cui sono scritte le regole non ha importanza, Dirvish usa l'ultima regola corrispondente, o expire-default se nessuna altra regola expire-rule corrisponde.

Esempio 9.4. Il file /backup/root/dirvish/default.conf

client: rivendell.falcot.com
tree: /
xdev: 1
index: gzip
image-default: %Y%m%d
exclude:
    /var/cache/apt/archives/*.deb
    /var/cache/man/**
    /tmp/**
    /var/tmp/**
    *.bak
L'esempio precedente specifica l'insieme di file di cui eseguire il backup: questi sono i file sulla macchina rivendell.falcot.com (per il backup locale dei dati, è sufficiente specificare il nome della macchina locale come indicato da hostname), in particolare quelli nell'albero radice (tree: /), eccetto quelli elencati in exclude. Il backup sarà limitato ai contenuti di un file system (xdev: 1). Non include i file da altri punti di mount. Sarà generato un indice dei file salvati (index: gzip), e il nome dell'immagine sarà creato in base alla data corrente (image-default: %Y%m%d).
Ci sono molte opzioni disponibili, tutte documentate nella pagina di manuale dirvish.conf(5). Una volta che questi file di configurazione sono impostati, è necessario inizializzare ogni insieme di file con il comando dirvish --vault cassaforte --init. Da quel momento in poi l'invocazione quotidiana di dirvish-runall creerà automaticamente una nuova copia di backup subito dopo aver cancellato quelle scadute.

9.10.2. Ripristino di macchine senza backup

I computer desktop, sui quali non è fatto il backup, si potranno reinstallare facilmente da DVD-ROM o chiavette USB personalizzati preparati con simple-cdd (vedere Sezione 12.3.3, «Simple-CDD: la soluzione completa»). Dato che quest'operazione effettua un'installazione da zero, viene persa ogni personalizzazione eventualmente fatta dopo la prima installazione. Ciò non è un problema, dato che i sistemi sono tutti agganciati ad una directory LDAP centralizzata per gli account e la maggior parte delle applicazioni desktop è preconfigurata grazie a dconf (per ulteriori informazioni su questo tema vedere Sezione 13.3.1, «GNOME»).
Gli amministratori della Falcot Corp sono consapevoli dei limiti della loro politica di backup. Dal momento che non possono proteggere il server di backup così efficacemente come un nastro in una cassetta di sicurezza a prova di fuoco, l'hanno installato in una stanza separata in modo che un disastro come un incendio nella stanza del server non distruggerà i backup insieme a tutto il resto. Inoltre, ne fanno un backup incrementale su DVD-ROM, una volta a settimana: vengono inclusi solo quei file che sono stati modificati dopo l'ultimo backup.