====== Clonare hd e dispositivi removibili ======
Autore: **//Fabio Di Matteo//** \\ Ultima revisione: **//30/12/2008//** \\ \\
Sezione //Uso avanzato di dd tratta da: // [[http://wizardlinuxteam.altervista.org/wiki/index.php/How-to:_clonare_con_dd|http://wizardlinuxteam.altervista.org]]
Per fare una copia uno ad uno di un dispositivo su Gnu/Linux si puo' usare il tool ''dd'' (Data Dump) . Possiamo perfino scoscere il tipo di file system contenuto nel dispositivo.
===== Cloniamo il dispositivo =====
dd if=/dev/hda conv=sync,noerror of=immagine.dd
Dove:
* **/dev/hda** e' il nostro dispositivo;
* **conv=sync,noerror** indica come deve procedere nel copiare i dati (clonare);
* **immagine.dd** e' il file d'immagine che verra' prodotto.
===== Verifichiamo se tutto e' andato a buon fine =====
Per verificare che la nostra procedura sia andata a buon fine posiamo confrontare gli **hash** del dispositivo con quello dell'immagine. Se i due hash coincidono allora tutto e' andato a buon fine.
**Calcoliamo l'hash del disco **
md5sum /dev/hda
**Calcoliamo l'hash dell' immagine **
md5sum immagine.dd
===== Montiamo l'immagine =====
E' possibile montare l'immagine appena creata impartendo il seguente comando comando:
mount -o loop immagine.dd /mnt/image
Dove ''immagine.dd'' e' la nostra immagine.
==== Montare in sola lettura ====
Per montare in sola lettura l'immagine impartire invece il seguente comando:
mount -o -ro loop immagine.dd /mnt/image
L'unica differenza e' il parametro **-ro** che significa appunto ''read only ''
===== Uso avanzato di dd =====
Le istruzioni seguenti sono state tratte dal sito [[http://wizardlinuxteam.altervista.org/wiki/index.php/How-to:_clonare_con_dd|http://wizardlinuxteam.altervista.org]]
Abbreviazioni che saranno usate nel documento
* hdx = device (hdx può essere anche sdx se si tratta di SCSI, sata o usb)
* hdxy = partizione sul device (hdxy può essere anche sdxy se si tratta di SCSI, sata o usb)
==== Clonare con DD. Comandi ====
* Backup/Restore di un intero disco su di un altro:
dd if=/dev/hdx of=/dev/hdx
* Backup/Restore una sola partizione:
dd if=/dev/hdxy of=/dev/hdxy
* Backup dell'MBR:
dd if=/dev/hdx of= bs=512 count=1
* Restore MBR
dd if= of=/dev/hdx bs=512 count=1
* Cancellazione dell'MBR (nell'esempio il disco sda):
dd if=/dev/zero of=/dev/sda bs=446 count=1
* Cancellazione dell'MBR e della tabella partizioni (nell'esempio il disco sda):
dd if=/dev/zero of=/dev/sda bs=512 count=1
* Backup in un file unico immagine compressa del disco:
dd if=/dev/hdx |gzip >
* Restore di un file di immagine unico e compresso del disco:
gzip -dc | dd of=/dev/hdx
* Backup di un disco intero in più volumi
dd if=/dev/hdx |gzip -c |split -b 2000m - .img.gz.
* Restore di un file immagine di un disco in più volumi:
cat .img.gz.* |gzip -dc |dd of=/dev/hdx
* Clonazione via rete con ssh
dd if=/dev/hdx | gzip -c | ssh -c blowfish user@hostname "gunzip -c | dd of=/dev/hdx"
Questo metodo può essere usato per clonare un disco fisico dopo aver fatto la conversione del sistema operativo attaccato alla PC a uno virtuale preparato su vmware utilizzando i seguenti passi:
* fate partire 2 distro live linux che abbiano a bordo il dd e l'ssh server
* una partirà dalla macchina fisica dove è stato attaccato il disco l'altra dalla virtuale del vmware
* eseguite il comando scritto sopra facendo gli opportuni aggiustamenti e il gioco è fatto.
==== Clonare con DD e netcat. Comandi ====
Si può procedere alla clonazione di un disco anche via rete.
Clonazione via rete con compressione dei dati trasmessi
Questo metodo è utili per le reti con poca banda.
* Sul sistema di destinazione:
nc –l –p 7000 | gzip –dfc | dd of=/dev/had
* Sul sistema sorgente:
dd if=/dev/hda | gzip -cf | nc 192.168.1.120 7000 –q 10
==== Clonazione via rete senza compressione dei dati trasmessi ====
Utile per infrastrutture di rete veloce
* Sul sistema di destinazione:
nc –l –p 7000 | dd of=/dev/hda
*Sul sistema sorgente:
dd if=/dev/hda | nc 192.168.1.120 7000 –q 10