Clonare il sistema operativo

Da Faber Libertatis.

Questa guida spiega come clonare partizioni via rete da un computer server a uno o più computer client contemporaneamente. E' uno strumento che può risultare utile per installare lo stesso sistema operativo su diversi computer uguali.

Questa guida è stata creata in occasione della preparazione dei PC per il progetto Benin

Indice della pagina

Clonare l'hard disk

L'utility di cloning utilizzata è Partimage (http://www.partimage.org/Main_Page). Di seguito una valutazione dello strumento:

PRO:

  • Permette creare un'immagine compressa dei soli file contenuti in una partizione, nel nostro caso da una partizione di 20 GByte, con utilizzati 3,2 GByte, abbiamo ottenuto un'immagine di 1,1 GByte;
  • Poichè si copiano solo i dati e non tutta la partizione, non ci si deve preoccupare della differenza di dimensione della partizione sorgente e quella di destinazione, ne di effettuare un eventuale resizing della partizione a fine cloning;
  • Dispone di un server per acquisire e distribuire le immagini delle partizioni da clonare nel caso, ad esempio, che se si voglia effettuare la copia di una partizione su più PC contemporaneamente (come si è effettivamente fatto);
  • Molto più comodo copiare l'immagine via rete invece che da HD portatile (lento su USB 1.1) oppure via HD collegato direttamente al PC (necessità di aprire il case e liberare un attacco IDE).

CONTRO:

  • La versione del client e del server devono essere la stessa, inoltre immagini realizzate con versioni diverse sono tra di loro incompatibili;
  • Spesso client e server sono incompatibili per differenze nei parametri di compilazione, ad esempio il pacchetto partimage-server contiene il partimaged 0.6.7 ma con supporto SSL e login utente, mentre il partimage del CD Live System Rescue CD ha la stessa versione ma non supporta SSL e login utente per cui risultano incompatibili;
  • Quando chiede il nome dell'immagine, bisogna fornirlo con l'estensione ".000" che accoda il programma automaticamente ma che non è digitato direttamente dall'utente (sarebbe preferibile chiarirlo).
  • Il tool semigrafico partimage è abbastanza ostico, se si sbaglia bisogna ricominciare tutto da capo.

Si consiglia pertanto di procurarsi il System Rescue CD.

Server Partimage

Individuare una macchina server e su di essa seguire i passi seguenti:

  1. Inserire il System Rescue CD e avviare il computer con il boot da CD
  2. Alla comparsa della scritta
boot:

digitare

boot: rescuecd docache

L'opzione "docache" serve per poter liberare il CD una volta caricato il sistema (servono almeno 256 GByte, ma meglio averne di almeno 384)

  1. Digitare il numero 21 per impostare la lingua italiana oppure, se non si arriva in tempo, dopo il boot digitare:
loadkeys it
  1. Alla comparsa del boot digitare
net-setup eth0
  1. chiede di configurare la rete, selezionare quello che serve. Se c'è il server DHCP digitare:
dhclient eth0
  1. Creare una directory da usare come mount point per l'hard disk:
mkdir /mnt/sda1
  1. Montare l'hard disk sulla directory appena creata:
mount /dev/sda1 /mnt/sda1
  1. Creare una directory con i permessi adatti a contenere ad operare con partimage:
mkdir /mnt/sda1/partimage
chown partimag:partimag /mnt/sda1/partimage
chmod 750 /mnt/sda1/partimage
  1. Avviare il server di partimage:
partimage -d /mnt/sda1/partimage -D

Creazione immagine con partimage

Seguire gli stessi passi per il server fino ad ottenere la rete configurata.

  1. Eseguire il comando partimage:
partimage
  1. Selezionare la partizione (sda1), digitare il nome dell'immagine (img-sda1), l'azione "Save partition into a new image file", abilitare la casella "Connect to server", immettere l'indirizzo IP del server e premere F5.
  2. Nella schermata successiva selezione "Automatic split" tra le modalità di split dell'immagine e premere F5;
  3. Confermare eventuali richieste, immetere una descrizione quando richiesto e attendere che abbia copiato l'immagine sul server.
  4. Eseguire il reboot:
reboot

Copia immagine con partimage

Seguire gli stessi passi per il server fino ad ottenere la rete configurata.

  1. Al termine della configurazione della rete digitare:
wizard

per accedere all'interfaccia grafica e confermare la selezione automatica (xorg-run).

  1. Avviare GParted e creare nel disco:
    1. la tabella delle partizioni;
    2. una partizione primaria di tipo ext3 (prevedendo di formattarla) che lasci 512 MByte di spazio in fondo al disco;
  2. una partizione estesa nei restanti 512 MByte;
    1. una partizione logica di 512 MByte in quella estesa, di tipo linux-swap (prevedendo di formattarla).
  3. Applicare le modifiche
  4. Al termine abilitare il flag boot alla prima partizione.
  5. Chiudere e tornare alla shell
  6. Eseguire il comando:
partimage
  1. Selezionare la partizione (sda1), digitare il nome dell'immagine (img-sda1.000), l'azione "Restore partition from an image file", abilitare la casella "Connect to server", immettere l'indirizzo IP del server e premere F5.
  2. Appare la descrizione precedentemente inserita, premere invio e poi F5;
  3. Confermare eventuali richieste e attendere che abbia copiato l'immagine nella partizione.
  4. Eseguire il reboot:
reboot

Procedere con l'installazione di grub.

Installare Grub sul MBR

Una volta clonato l'hard disk è necessario installare Grub sul MBR (Master Boot Record) utilizzando il comando grub-install.

  1. Inserire un live CD della stessa versione di Ubuntu installata nel sistema.
  1. Aprire un terminale e creare una directory con un nome qualsiasi (p.e. "target")che serva da punto di mount:
sudo mkdir /mnt/target
  1. Montare la prima partizione del primo disco sulla directory target:
sudo mount /dev/sda1 /mnt/target
  1. Installare Grub con l'opzione --root-directory=/mnt/target. Diversamente viene installato Grub con la configurazione del live CD e non con quella contenuta nel sistema clonato nell'hard disk. Quindi:
sudo grub-install --root-directory=/mnt/target /dev/sda

Cambiare nome al computer

Dopo la clonazione sarà necessario cambiare l'host name. L'host name è registrato in due file:

/etc/hosts
/etc/hostname

Aprire i file con un editor e cambiare il nome.