Difference between revisions of "Disk cloning (Italiano)"

From ArchWiki
Jump to: navigation, search
(External Links: translated)
(wikify some external links, use https for archlinux.org)
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
[[Category:Data compression and archiving (Italiano)]]
 
[[Category:Data compression and archiving (Italiano)]]
 
[[Category:System recovery (Italiano)]]  
 
[[Category:System recovery (Italiano)]]  
{{translateme}}
+
[[en:Disk Cloning]]
{{i18n|Disk Cloning}}
+
[[ru:Disk Cloning]]
 
+
[[tr:Disk_klonlama]]
 
La clonazione del disco è il processo di creare un'immagine di una partizione o di un intero disco rigido. Ciò può tornare utile sia per copiare il disco su un altro computer, sia per finalità di backup\recupero dei dati.
 
La clonazione del disco è il processo di creare un'immagine di una partizione o di un intero disco rigido. Ciò può tornare utile sia per copiare il disco su un altro computer, sia per finalità di backup\recupero dei dati.
  
 
===Usando dd===
 
===Usando dd===
Il comando {{Codeline|dd}} è un semplice, versatile e potente strumento. Può essere usato per copiare dalla sorgente alla destinazione, blocco per blocco, a prescindere dal tipo di filesystem oppure dal sistema operativo. Un metodo più conveniente è quello di usare {{Codeline|dd}} da un ambiente live, come un livecd.
+
Il comando {{Ic|dd}} è un semplice, versatile e potente strumento. Può essere usato per copiare dalla sorgente alla destinazione, blocco per blocco, a prescindere dal tipo di filesystem oppure dal sistema operativo. Un metodo più conveniente è quello di usare {{Ic|dd}} da un ambiente live, come un livecd.
 
{{attenzione|Data la natura di questi comandi, è bene essere molto cauti nel loro utilizzo; questi comandi possono distruggere i vostri dati. Ricordare che l'ordine è file di input <nowiki>(if=) e file di output (of=) e non invertiteli! Assicurarsi sempre che il disco/partizione di destinazione (of=) sia uguale o più grande dell'origine (if=).</nowiki>}}
 
{{attenzione|Data la natura di questi comandi, è bene essere molto cauti nel loro utilizzo; questi comandi possono distruggere i vostri dati. Ricordare che l'ordine è file di input <nowiki>(if=) e file di output (of=) e non invertiteli! Assicurarsi sempre che il disco/partizione di destinazione (of=) sia uguale o più grande dell'origine (if=).</nowiki>}}
 
====Clonare una partizione====
 
====Clonare una partizione====
Da un disco fisico {{Filename|/dev/sda}}, la partizione 1, ad un disco fisico {{Filename|/dev/sdb}} sulla partizione 1.
+
Da un disco fisico {{ic|/dev/sda}}, la partizione 1, ad un disco fisico {{ic|/dev/sdb}} sulla partizione 1.
 
  dd if=/dev/sda1 of=/dev/sdb1 bs=4096 conv=notrunc,noerror
 
  dd if=/dev/sda1 of=/dev/sdb1 bs=4096 conv=notrunc,noerror
Se il file di output '''''{{Codeline|of}}'''''  ({{Filename|sdb1}} nel nostro esempio) non esiste, {{Codeline|dd}} lo ceerà a partire dall'inizio del disco.
+
Se il file di output '''''{{Ic|of}}'''''  ({{ic|sdb1}} nel nostro esempio) non esiste, {{Ic|dd}} lo creerà a partire dall'inizio del disco.
  
 
====Clonare un intero hard disk====
 
====Clonare un intero hard disk====
Da un dico fisico {{Filename|/dev/sda}} ad un disco fisico {{Filename|/dev/sdb}}:
+
Da un dico fisico {{ic|/dev/sda}} ad un disco fisico {{ic|/dev/sdb}}:
 
  dd if=/dev/sda of=/dev/sdb bs=4096 conv=notrunc,noerror
 
  dd if=/dev/sda of=/dev/sdb bs=4096 conv=notrunc,noerror
 
Questo comando clonerà l'intero disco, incluso il [[Master Boot Record (Italiano)|Master Boot Record]] (e quindi anche il bootloader), tutte le partizioni ed i dati.
 
Questo comando clonerà l'intero disco, incluso il [[Master Boot Record (Italiano)|Master Boot Record]] (e quindi anche il bootloader), tutte le partizioni ed i dati.
*{{Codeline|notrunc}} o {{Codeline|do not truncate}} mantiene l'integrità dei dati imponendo a {{Codeline|dd}} di non spezzare nessu dato.
+
*{{Ic|notrunc}} o {{Ic|do not truncate}} mantiene l'integrità dei dati imponendo a {{Ic|dd}} di non spezzare nessun dato.
*{{Codeline|noerror}} comunica a {{Codeline|dd}} di continuare l'operazione, ignorando tutti gli errori dall'origine. Il comportamento di default di {{Codeline|dd}} è quello di fermarsi ad ogni errore.  
+
*{{Ic|noerror}} comunica a {{Ic|dd}} di continuare l'operazione, ignorando tutti gli errori dall'origine. Il comportamento di default di {{Ic|dd}} è quello di fermarsi ad ogni errore.  
*{{Codeline|bs<nowiki>=</nowiki>4096}} imposta la dimensione dei blocchi a 4k, la dimensione ottimale ed efficente per la lettura/scrittura del disco, e quindi della velocità clonazione.
+
*{{Ic|bs<nowiki>=</nowiki>4096}} imposta la dimensione dei blocchi a 4k, la dimensione ottimale ed efficiente per la lettura/scrittura del disco, e quindi della velocità clonazione.
  
 
====Backup del MBR====
 
====Backup del MBR====
Line 29: Line 29:
 
#Gli ultimi 2 byte contengono un identificatore.
 
#Gli ultimi 2 byte contengono un identificatore.
  
Per salvare il MBR in un file dal nome {{Filename|mbr.img}}:
+
Per salvare il MBR in un file dal nome {{ic|mbr.img}}:
 
   # dd if=/dev/hda of=/mnt/sda1/mbr.img bs=512 count=1
 
   # dd if=/dev/hda of=/mnt/sda1/mbr.img bs=512 count=1
  
Line 54: Line 54:
 
   # dd if=/dev/hda conv=sync,noerror bs=64K | gzip -c  > /mnt/sda1/hda.img.gz
 
   # dd if=/dev/hda conv=sync,noerror bs=64K | gzip -c  > /mnt/sda1/hda.img.gz
  
5. Salvare alcune informazioni addizionali riguardo al disco, come la sua geomentria, sarà necessario per interpretare la tavola delle partizioni salvata nell'immagine. L'informazione più importante è la dimensione dei cilindri.
+
5. Salvare alcune informazioni addizionali riguardo al disco, come la sua geometria, sarà necessario per interpretare la tavola delle partizioni salvata nell'immagine. L'informazione più importante è la dimensione dei cilindri.
 
   # fdisk -l /dev/hda > /mnt/sda1/hda_fdisk.info
 
   # fdisk -l /dev/hda > /mnt/sda1/hda_fdisk.info
  
{{Nota| Sarà possibile usare un valore di dimensione dei blocchi ({{Codeline|bs<nowiki>=</nowiki>}}) uguale all'ammontare della cache del disco di cui si sta creando l'immagine. Ad esempio, {{Codeline|bs<nowiki>=</nowiki>8192K}} funziona per una cache di 8MB. Il valore di 64K menzionato in questo articolo è migliore del valore di default, che è impostato a  {{Codeline|bs<nowiki>=</nowiki>512}} byte, perché {{Codeline|dd}} verrà eseguito più velocemente con un valore di {{Codeline|bs<nowiki>=</nowiki>}} maggiore.}}
+
{{Nota| Sarà possibile usare un valore di dimensione dei blocchi ({{Ic|bs<nowiki>=</nowiki>}}) uguale all'ammontare della cache del disco di cui si sta creando l'immagine. Ad esempio, {{Ic|bs<nowiki>=</nowiki>8192K}} funziona per una cache di 8MB. Il valore di 64K menzionato in questo articolo è migliore del valore di default, che è impostato a  {{Ic|bs<nowiki>=</nowiki>512}} byte, perché {{Ic|dd}} verrà eseguito più velocemente con un valore di {{Ic|bs<nowiki>=</nowiki>}} maggiore.}}
  
 
====Ripristinare il sistema====
 
====Ripristinare il sistema====
Line 65: Line 65:
  
 
===Usando cp===
 
===Usando cp===
Il programma {{Codeline|cp}} può essere usato per clonare un disco, ad una partizione alla volta. Il vantaggio dell'uso di {{Codeline|cp}} è che il tipo di filesystem della/delle partizione/i di destinazione può non essere il solito dell'origine. Per sicurezza, effettuare il processo da un ambiente live.
+
Il programma {{Ic|cp}} può essere usato per clonare un disco, ad una partizione alla volta. Il vantaggio dell'uso di {{Ic|cp}} è che il tipo di filesystem della/delle partizione/i di destinazione può non essere il solito dell'origine. Per sicurezza, effettuare il processo da un ambiente live.
  
 
La procedura di base da un ambiente live sarà:
 
La procedura di base da un ambiente live sarà:
Line 71: Line 71:
 
* Creare un filesystem su ogni partizione precedentemente creata. Ad esempio:
 
* Creare un filesystem su ogni partizione precedentemente creata. Ad esempio:
 
  mkfs -t ext3 /dev/sdb1
 
  mkfs -t ext3 /dev/sdb1
* Effetture il mount dell'origne e della/delle partizione/partizioni di destinazione. Ad esempio:
+
* Effettuare il mount dell'origine e della/delle partizione/partizioni di destinazione. Ad esempio:
 
  mount -t ext3 /dev/sda1 /mnt/origine
 
  mount -t ext3 /dev/sda1 /mnt/origine
 
  mount -t ext3 /dev/sdb1 /mnt/destinazione
 
  mount -t ext3 /dev/sdb1 /mnt/destinazione
 
* Copiare i file dalla partizione di origine a quella di destinazione:
 
* Copiare i file dalla partizione di origine a quella di destinazione:
  cp -a /mnt/source/* /mnt/destination
+
  cp -a /mnt/origine/* /mnt/destinazione
L'opzione '''{{Codeline|-a}}''': preserva i permessi, non segue mai i link simbolici ed copia ricorsivamente
+
L'opzione '''{{Ic|-a}}''': preserva i permessi, non segue mai i link simbolici ed copia ricorsivamente
* Cambiare i punti di mount della partizione appena copiata nel file {{Filename|/etc/fstab}} a seconda delle modifiche effettuate(es. il tipo di filesystem)
+
* Cambiare i punti di mount della partizione appena copiata nel file {{ic|/etc/fstab}} a seconda delle modifiche effettuate(es. il tipo di filesystem)
 
* Infine, installare il bootloader GRUB se necessario. (Consultare [[GRUB (Italiano)|GRUB]])
 
* Infine, installare il bootloader GRUB se necessario. (Consultare [[GRUB (Italiano)|GRUB]])
  
 
==Software per la clonazione del disco==
 
==Software per la clonazione del disco==
 
===Clonazione del disco in Arch===
 
===Clonazione del disco in Arch===
Il programma ncurses [http://en.wikipedia.org/wiki/Partimage PartImage] è nel repository community. La sua interfaccia non è eccezionalmente intuitiva, ma funziona. Non ci sono attualmente programmi di clonazione con interfaccia grafica GTK\QT per Linux. Un'altra opzione è quella di utilizzare il comando {{Codeline|dd}}, una piccola utility per creare file immagine. Wikipedia ha una lista delle varie versioni di dd, specificatamente orientate a questo tipo di scopo. [http://en.wikipedia.org/wiki/Dd_(Unix)#Recovery-oriented_variants_of_dd]. [http://www.garloff.de/kurt/linux/ddrescue/ dd_rescue] funziona efficentemente con dischi guasti copiando prima le aree prive di errori e successivamente ritentando le aree con errori.
+
Il programma ncurses [[wikipedia:Partimage|PartImage]] è nel repository community. La sua interfaccia non è eccezionalmente intuitiva, ma funziona. Non ci sono attualmente programmi di clonazione con interfaccia grafica GTK\QT per Linux. Un'altra opzione è quella di utilizzare il comando {{Ic|dd}}, una piccola utility per creare file immagine. Wikipedia ha una lista delle varie versioni di dd, specificatamente orientate a questo tipo di scopo. [[wikipedia:Dd_(Unix)#Recovery-oriented_variants_of_dd].|[http://www.garloff.de/kurt/linux/ddrescue/ dd_rescue]] funziona efficientemente con dischi guasti copiando prima le aree prive di errori e successivamente ritentando le aree con errori.
  
 
===Clonazione del disco all'infuori di Arch===
 
===Clonazione del disco all'infuori di Arch===
Line 89: Line 89:
 
* [http://partedmagic.com/doku.php?id=start PartedMagic] ha un bel live cd/usb con PartImage ed altri strumenti per il recupero dati.
 
* [http://partedmagic.com/doku.php?id=start PartedMagic] ha un bel live cd/usb con PartImage ed altri strumenti per il recupero dati.
 
* [http://www.mondorescue.org/ Mindi] è una distribuzione Linux specifica per fare delle clonazioni backup dei dischi. È fornita insieme al suo programma specifico, Mondo Rescue.
 
* [http://www.mondorescue.org/ Mindi] è una distribuzione Linux specifica per fare delle clonazioni backup dei dischi. È fornita insieme al suo programma specifico, Mondo Rescue.
* [http://en.wikipedia.org/wiki/Acronis_True_Image Acronis True Image] è un programma commerciale per Windows. Permette di creare un live cd (da Windows), cosicchè non avrete necessità di installare Windows sulla macchina che volete clonare per utilizzarlo.
+
* [[wikipedia:Acronis_True_Image|Acronis True Image]] è un programma commerciale per Windows. Permette di creare un live cd (da Windows), cosicché non avrete necessità di installare Windows sulla macchina che volete clonare per utilizzarlo.
* [http://www.fsarchiver.org/Main_Page FSArchiver] permette di salvare il contenuto di un filesystem in un archivio compresso. Può essre trovato su [http://www.sysresccd.org/Main_Page System Rescue CD].
+
* [http://www.fsarchiver.org/Main_Page FSArchiver] permette di salvare il contenuto di un filesystem in un archivio compresso. Può essere trovato su [http://www.sysresccd.org/Main_Page System Rescue CD].
 
* [http://clonezilla.org/ Clonezilla] è un sistema che permette di creare immagini delle partizioni, esso può anche ripristinare interi dischi oppure singole partizioni.
 
* [http://clonezilla.org/ Clonezilla] è un sistema che permette di creare immagini delle partizioni, esso può anche ripristinare interi dischi oppure singole partizioni.
  
 
==Link esterni==
 
==Link esterni==
 
* [[Wikipedia:List of disk cloning software|Articolo sulla clonazione dei dischi da Wikipedia (in inglese)]]
 
* [[Wikipedia:List of disk cloning software|Articolo sulla clonazione dei dischi da Wikipedia (in inglese)]]
* [http://bbs.archlinux.org/viewtopic.php?id=4329 thread sul forum internazionale di Arch Linux]
+
* [https://bbs.archlinux.org/viewtopic.php?id=4329 thread sul forum internazionale di Arch Linux]

Revision as of 14:52, 4 December 2012

La clonazione del disco è il processo di creare un'immagine di una partizione o di un intero disco rigido. Ciò può tornare utile sia per copiare il disco su un altro computer, sia per finalità di backup\recupero dei dati.

Usando dd

Il comando dd è un semplice, versatile e potente strumento. Può essere usato per copiare dalla sorgente alla destinazione, blocco per blocco, a prescindere dal tipo di filesystem oppure dal sistema operativo. Un metodo più conveniente è quello di usare dd da un ambiente live, come un livecd.

Attenzione: Data la natura di questi comandi, è bene essere molto cauti nel loro utilizzo; questi comandi possono distruggere i vostri dati. Ricordare che l'ordine è file di input (if=) e file di output (of=) e non invertiteli! Assicurarsi sempre che il disco/partizione di destinazione (of=) sia uguale o più grande dell'origine (if=).

Clonare una partizione

Da un disco fisico /dev/sda, la partizione 1, ad un disco fisico /dev/sdb sulla partizione 1.

dd if=/dev/sda1 of=/dev/sdb1 bs=4096 conv=notrunc,noerror

Se il file di output of (sdb1 nel nostro esempio) non esiste, dd lo creerà a partire dall'inizio del disco.

Clonare un intero hard disk

Da un dico fisico /dev/sda ad un disco fisico /dev/sdb:

dd if=/dev/sda of=/dev/sdb bs=4096 conv=notrunc,noerror

Questo comando clonerà l'intero disco, incluso il Master Boot Record (e quindi anche il bootloader), tutte le partizioni ed i dati.

  • notrunc o do not truncate mantiene l'integrità dei dati imponendo a dd di non spezzare nessun dato.
  • noerror comunica a dd di continuare l'operazione, ignorando tutti gli errori dall'origine. Il comportamento di default di dd è quello di fermarsi ad ogni errore.
  • bs=4096 imposta la dimensione dei blocchi a 4k, la dimensione ottimale ed efficiente per la lettura/scrittura del disco, e quindi della velocità clonazione.

Backup del MBR

Il Master Boot Record è contenuto nei primi 512 byte del disco. Esso consiste in 3 parti:

  1. I primi 446 byte contengono il bootloader.
  2. I successivi 64 contengono la tavola delle partizioni (4 voci di 16 byte ciascuna, una voce per ogni partizione primaria).
  3. Gli ultimi 2 byte contengono un identificatore.

Per salvare il MBR in un file dal nome mbr.img:

  # dd if=/dev/hda of=/mnt/sda1/mbr.img bs=512 count=1

Per ripristinare (attenzione questo comando potrebbe distruggere la tavola delle partizioni, e quindi impedire l'accesso ai dati presenti sul disco):

  # dd if=/mnt/sda1/mbr.img of=/dev/hda

Se si desidera soltanto ripristinare il bootloader, ma non la tavola delle partizioni, basterà ripristinare solo i primi 446 byte del MBR:

  # dd if=/mnt/sda1/mbr.img of=/dev/hda bs=446 count=1

Per ripristinare soltanto la tavola delle partizioni, il comando sarà:

  # dd if=/mnt/sda1/mbr.img of=/dev/hda bs=1 skip=446 count=64

Sarà possibile estrarre il MBR dall'immagine completa di un disco:

  #dd if=/path/to/disk.img of=/mnt/sda1/mbr.img bs=512 count=1

Creare l'immagine di un disco

1. Effettuare il boot da un sistema live(liveCD o liveUSB).

2. Assicurarsi che nessuna partizione sia montata dal disco di origine.

3. Effettuare il mount di un disco esterno.

4. Effettuare il backup del disco:

 # dd if=/dev/hda conv=sync,noerror bs=64K | gzip -c  > /mnt/sda1/hda.img.gz

5. Salvare alcune informazioni addizionali riguardo al disco, come la sua geometria, sarà necessario per interpretare la tavola delle partizioni salvata nell'immagine. L'informazione più importante è la dimensione dei cilindri.

 # fdisk -l /dev/hda > /mnt/sda1/hda_fdisk.info
Nota: Sarà possibile usare un valore di dimensione dei blocchi (bs=) uguale all'ammontare della cache del disco di cui si sta creando l'immagine. Ad esempio, bs=8192K funziona per una cache di 8MB. Il valore di 64K menzionato in questo articolo è migliore del valore di default, che è impostato a bs=512 byte, perché dd verrà eseguito più velocemente con un valore di bs= maggiore.

Ripristinare il sistema

Per ripristinare il sistema:

 # gunzip -c /mnt/sda1/hda.img.gz | dd of=/dev/hda

Usando cp

Il programma cp può essere usato per clonare un disco, ad una partizione alla volta. Il vantaggio dell'uso di cp è che il tipo di filesystem della/delle partizione/i di destinazione può non essere il solito dell'origine. Per sicurezza, effettuare il processo da un ambiente live.

La procedura di base da un ambiente live sarà:

  • Creare le nuove partizioni di destinazione (usando fdisk, cfdisk oppure altri programmi disponibili nell'ambiente live).
  • Creare un filesystem su ogni partizione precedentemente creata. Ad esempio:
mkfs -t ext3 /dev/sdb1
  • Effettuare il mount dell'origine e della/delle partizione/partizioni di destinazione. Ad esempio:
mount -t ext3 /dev/sda1 /mnt/origine
mount -t ext3 /dev/sdb1 /mnt/destinazione
  • Copiare i file dalla partizione di origine a quella di destinazione:
cp -a /mnt/origine/* /mnt/destinazione

L'opzione -a: preserva i permessi, non segue mai i link simbolici ed copia ricorsivamente

  • Cambiare i punti di mount della partizione appena copiata nel file /etc/fstab a seconda delle modifiche effettuate(es. il tipo di filesystem)
  • Infine, installare il bootloader GRUB se necessario. (Consultare GRUB)

Software per la clonazione del disco

Clonazione del disco in Arch

Il programma ncurses PartImage è nel repository community. La sua interfaccia non è eccezionalmente intuitiva, ma funziona. Non ci sono attualmente programmi di clonazione con interfaccia grafica GTK\QT per Linux. Un'altra opzione è quella di utilizzare il comando dd, una piccola utility per creare file immagine. Wikipedia ha una lista delle varie versioni di dd, specificatamente orientate a questo tipo di scopo. [[wikipedia:Dd_(Unix)#Recovery-oriented_variants_of_dd].|dd_rescue] funziona efficientemente con dischi guasti copiando prima le aree prive di errori e successivamente ritentando le aree con errori.

Clonazione del disco all'infuori di Arch

Se desiderate fare un backup o installare in serie la vostra installazione-tipo di Arch, probabilmente fareste meglio ad usare un altro pc e clonare il disco da li. Alcuni suggerimenti:

  • PartedMagic ha un bel live cd/usb con PartImage ed altri strumenti per il recupero dati.
  • Mindi è una distribuzione Linux specifica per fare delle clonazioni backup dei dischi. È fornita insieme al suo programma specifico, Mondo Rescue.
  • Acronis True Image è un programma commerciale per Windows. Permette di creare un live cd (da Windows), cosicché non avrete necessità di installare Windows sulla macchina che volete clonare per utilizzarlo.
  • FSArchiver permette di salvare il contenuto di un filesystem in un archivio compresso. Può essere trovato su System Rescue CD.
  • Clonezilla è un sistema che permette di creare immagini delle partizioni, esso può anche ripristinare interi dischi oppure singole partizioni.

Link esterni