====== 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