Usare ufsdump e ufsrestore su Solaris

Su Unix sono disponibili degli strumenti di dump (copia) e restore su nastro (storicamente) di interi file system o parti di essi.
Su Solaris è possibile trovare analoghi comandi specificatamente dedicati al file system UFS di Sun.

Il comando ufsdump viene usato per eseguire un backup completo (full) o incrementale di un file-system UFS. La sua sintassi è:
ufsdump opzioni [argomenti] file_da_dumpare
Le Opzioni più comuni:
0-9 Specifica il livello di DUMP. 0 (zero) è quello più basso ed indica sempre un FULL DUMP, da 1 a 9 sono usati per dump incrementali e hanno significato solo relativo fra loro (un dump di livello 3, per esempio, include anche file dumpati con livelli superiori, ma non file dumpati con operazioni di livello inferiore).
f nome_device Specifica il device in cui vengono scritti i file da dumpare.
v Verifica dei dati copiati.
S (senza altre opzioni) Visualizza il numero di byte previsti per il backup per il device o directory specificati.
u Aggiorna il registro /etc/dumpdates con la data e il livello del backup che si sta eseguendo.
file_da_dumpare Può riferirsi sia al nome di un file o directory (es: /export/home/al ) che al nome di un file system montato (es: /home ) che al nome completo di un device (es: /dev/dsk/c0t0d0s0 ).

I backup incrementali vengono gestiti con livelli di dump da 1 a 9. Questo permette di schedulare backup incrementali con flessibilità. Quando viene eseguito un backup incrementale, vegnono copiati solo i dati modificati dell'ultima volta in cui è stato eseguito un backup dello stesso livello o superiore. Lo storico dei backup eseguiti viene mantenuto sul file /etc/dumpdates, per cui è sempre raccomandabile usare ufsdump con l'opzione u.

E' raccomandabile eseguire il dump di un file system quando questo non è montato sul sistema e non può essere modificato durante l'operazione di copia (questa è infatti divisa in due diverse fasi: nella prima si raccolgono gli inode dei file da dumpare, nella seconda si copiano i dati effettivi).
Se non si può andare direttamente in maintenance mode (init S), la procedura corretta per il dump di un intera partizione è:
- Umount della partizione (es: umount /home) Questa operazione è ovviamente impossibile con la / o la /usr (dove risiedono tutti i comandi di sistema)
- File system check della partizione (es: fsck /dev/rdsk/c0t1d0s1)
- Dump su nastro della partizione (es: ufsdump 0f /dev/rmt/0 /dev/rdsk/c0t1d0s1)
- Mount della partizione precedentemente smontata (es: mount /home)
Per conoscere esattamente mount point e relativi nomi completi di device fare riferimento a /etc/vfstab.
Si può verificare la dimensione dei dati da backuppare con ufsdump S file_da_dumpare.

Il restore dei dati salvati su nastro viene fatta con ufsrestore:
ufsrestore opzioni [argomenti] [file_da_riprestinare]
Le Opzioni più comuni:
i Esegue un restore interattivo: si visualizza un prompt dedicato da cui è possibile browsare file e directory su nastro, selezionare quali ripristinare e fare un restore selettivo dei file scelti.
r Esegue un restore completo dell'intero backup.
t Visualizza l'elenco dei file backuppati senza fare un restore.
x Esegue un restore solo dei file specificati come argomento.
f dump_file Specifica un dump_file (tape device, dischetto o disk file) alternativo a quello di default (/dev/rmt/0).
v Verbose mode: visualizza i nomi dei path mentre vengono restorati.
L'operazione di restore viene eseguita in riferimento alla directory corrente: se ci si trova in /tmp e si fa un restore di /etc/hosts (usfrestore xvf /dev/rmt/0 ./etc/hosts),  il file viene scritto in /tmp/etc/hosts.

Se si deve eseguire un restore di un intero sistema per un qualsiasi disastro (rm -rf /*, crash di un hard disk non mirrorato, formattazioni incaute ecc.) si devono eseguire le seguenti operazioni (fare riferimento alla documentazione SUN online per maggiori dettagli, qui viene fatto solo un sommario elenco):
1- Spegnimento del sistema, inserimento di un nuovo hard disk;
2- Boot del sistema da CDROM in maintenance mode (boot cdrom -r da ok prompt);
3- Riconoscimento, partizionamento, formattazione e mount su una directory temporanea del nuovo hard disk.
4- Restore dei dati dal nastro al nuovo hard disk (ufsrestore rvf /dev/rmt/0)
5- Eventuali restore successivi di dump incrementali (farlo dai livelli di dump inferiori a quelli superiori)
6- Verifica dell'integrità del file system restorato nell directory montata e rimozione di restoresymtable.
7- Umount e fsck del nuovo file system.
8- Creazione dei settori di boot sulla partizione di root (installboot /usr/platform/'uname -i'/lib/fs/ufs/bootblk /dev/rdsk/nomedevice)
9- Ripetizione dei punti da 4 a 8 per ogni mount point o partizioni separate
10- Verifica che /directorydimounttemporaneo/etc/vfstab abbia informazioni corrette per il nuovo hard disk aggiunto al sistema (va modificato se l'hard disk non è stato fisicamente sostituito al precente ed ha un device name diverso)
11- Reboot del sistema (con le dita incrociate).

Da Solaris 8 è disponibile il tool fssnap che permette un corretto dump di un file system senza la necessità di doverlo smontare.

Privacy Policy