free 'Ghost'
Enrico Colombini
erix a erix.it
Mar 12 Nov 2002 14:17:03 UTC
Ovvero: come fare il backup/restore compresso, via rete, di un'intera
partizione Windows (o Linux, o altro, purche' non in uso al momento) usando
solo software libero.
Sembra complicato, ma e' solo questione di farci la mano. La parte di
suddivisione del file e' certamente migliorabile (contributi ben accetti).
=== Materiale necessario ===
- Il PC contenente la partizione interessata, su cui dev'esserci netcat (nc).
- Un altro PC con Linux e abbastanza spazio da contenere il backup
compresso, lo chiamo "PC di archivio".
- Un collegamento Ethernet tra i due PC.
- Un CD-ROM con Linux RAM-based, inclusi netcat (nc) e bzip2;
io uso PLAC 2.9.5 (http://sourceforge.net/projects/plac)
=== Numeri ===
Negli esempi qui sotto uso gli IP vanno *sostituiti* con quelli dei PC
effettivamente usati, come pure il numero della partizione:
- 192.168.127.127 e' il PC di archivio.
- 192.168.127.129 e' il PC con la partizione interessata
(nel mio caso, un portatile Compaq della cui D: voglio fare backup).
- /dev/hda5 e' la partizione interessata.
=== Preparazione ===
- Avviare il PC interessato col CD di PLAC (o altro), login come root.
- Installare manualmente la rete, ad esempio con:
ifconfig eth0 192.168.127.129 netmask 255.255.255.0 up
route add -net 192.168.127.0/24 dev eth0
- Avviare Linux sul PC di archivio, login come utente.
=== Compressione e trasferimento ===
- Sul PC di archivio, avviare un server netcat sulla porta 7777
(o altra a piacere):
nc -l -p 7777 >hda5.data.bz2
- Sul PC interessato, comprimere e trasferire la partizione
con un client netcat:
cat /dev/hda5 finito | bzip2 | nc 192.168.127.127 7777
Nota: "finito" e' un file che non deve esistere nella directory
corrente, serve per avere una segnalazione di errore che indichi
che il trasferimento e' terminato.
L'operazione e' piuttosto *lunga*: per comprimere e trasferire
4 GB sulla mia rete 10/100 ci mette una mezz'ora.
- Al termine del trasferimento "cat" si lamentera' che "finito"
non esiste. Va tutto bene, non e' un errore.
- Sul PC interessato, premere Ctrl-C per uscire da netcat
(dall'altra parte uscira' da solo).
- A questo punto sul PC di archivio ci sara' un file hda5.data.bz2
contenente un'immagine compressa della partizione.
=== Verifica (opzionale) ===
- Nota: se si vuole fare questa verifica, va fatta subito; se il
PC interessato viene usato, il contenuto della partizione puo'
cambiare *anche se non la si usa* (e' successo a me...).
- Sul PC interessato, avviare un server netcat e il confronto:
nc -l -p 7777 | bzip2 -d | cmp - /dev/hda5
- Sul PC di archivio, avviare un client netcat:
cat hda5.data.bz2 finito | nc 192.168.127.129 7777
- Al termine del trasferimento "cat" si lamentera' che "finito"
non esiste. Va tutto bene, non e' un errore.
- Sul PC di archivio, premere Ctrl-C per uscire da netcat
(dall'altra parte uscira' da solo).
- Se sul PC interessato non ci sono messaggi del tipo
"files differ...", e' andato tutto bene: i dati coincidono.
=== Eventuale archiviazione su CD-ROM ===
- Per archiviare il file su CD-ROM, occorre dividerlo in parti
abbastanza piccole da stare su un CD-ROM.
- Nota: quanto segue prevede che sul PC di archivio ci sia
abbastanza spazio per due copie del file compresso; inoltre
diventa scomodo se il file e' molto grosso.
- Sul PC di archivio, fare:
split -b 602m hda5.data.bz2
- Verranno creati i file "xaa", "xab", "xac", ecc.
- Nota: nel mio caso "602m" (602 MB) andava bene, si puo' salire
fino ad almeno 620m, basta che resti spazio per la chiusura
della sessione.
- Registrare ciascun file su un CD-ROM.
- Cancellare (rm) hda5.data.bz2 e tutti i file "x??".
=== Eventuale recupero del file compresso dai CD-ROM ===
- Copiare ciascuno dei file "x??" dal relativo CD-ROM
al PC di archivio.
- concatenarli nell'ordine giusto con:
cat xaa xab xac (etc.) > hda5.data.bz2
- Nota: nel mio caso i file sono solo 3 e quindi non c'e' problema
a farlo a mano, se qualcuno vuole proporre un sistema generico per
n file e' benvenuto.
- A questo punto il PC di archivio contiene l'immagine della
partizione da ripristinare nel file hda5.data.bz2.
=== Restore ===
- Per ripristinare la partizione dal backup, fare per prima cosa
quanto descritto sopra alla voce "Preparazione".
- Attenzione: quanto segue *distrugge* il contenuto corrente
della partizione interessata.
- Sul PC interessato, avviare un server netcat:
nc -l -p 7777 | bzip2 -d > /dev/hda5
- Sul PC di archivio, avviare un client netcat:
cat hda5.data.bz2 finito | nc 192.168.127.129 7777
- Al termine del trasferimento "cat" si lamentera' che "finito"
non esiste. Va tutto bene, non e' un errore.
- Sul PC di archivio, premere Ctrl-C per uscire da netcat
(dall'altra parte uscira' da solo).
- Salvo disastri, la partizione sara' stata ripristinata al
contenuto precedente il backup.
=== NOTE IMPORTANTI ===
- Salvo errori & omissioni (ogni verifica e' gradita).
- A me funziona bene, ma tutto cio' e' A VOSTRO RISCHIO E PERICOLO.
.Erix.
Maggiori informazioni sulla lista
Lug
|