Lors de l'utilisation de postes dans un cadre d'entreprise, il est fréquent de vouloir reproduire la même configuration sur plusieurs postes. L'idéal est donc de configurer un premier ordinateur, puis de faire une image (appelée 'ghost') du disque pour la reproduire sur les autres ordinateurs. Voici donc un petit tutorial tout simple vous permettant de le faire :)

Prérequis

  • Un ordinateur près à cloner
  • Une distribution linux live

Environnement

Cette manipulation a été effectuée dans les conditions suivantes :

  • Système Ubuntu feisty
  • Live grml 1.0
  • Répertoire de stockage de l'image sur serveur distant accessible via samba

Création de l'image

Bon voila, mon système est tout beau tout propre sur mon premier ordinateur, je veux donc créer une image.

1) Redémarrez sur la live 2) Avant toute manipulation, installez lzop sur le système live si ce n'est pas déjà fait (lzop est un utilitaire de compression plus rapide que gzip / bzip)

apt-get install lzop

3) Montez le répertoire devant contenir l'image finale

mkdir /mnt/smb && mount -t smbfs -o username=usersmb //<monserveur>/<monpartage> /mnt/smb

4) On va donc récupérer le contenu du disque à l'aide de l'utilitaire dd et le compresser via lzop. De plus, si le système de fichier qui va contenir l'image ne peut dépasser 2Go par fichier, il va falloir découper l'image à l'aide de l'utilitaire split . Je suppose que le disque devant être cloné est en /dev/sda . A vous d'adapter.

dd if=/dev/sda | lzop -5 | split -b 2000m - /mnt/smb/images/monimage_

Explications :

dd nous permet de récupérer le contenu du disque. Ensuite, on compresse ce contenu en l'envoyant à l'aide d'un pipe à la commande lzop. L'option -5 correspond, comme pour gzip, au taux de compression (-1 : peu compressé, -9 : compression maximum). Enfin, on envoi le contenu compressé à split, auquel on demande de découper ce qu'il reçoit sur l'entrée standard (via l'argument - ) en fichier de 2000m, soit 2Go. On donne à split le path de destination, il s'occupera de suffixer le nom du fichier donné par 'aa', 'ab' ...

Et voilà, le temps d'aller prendre un (voire deux ou trois) café(s), vous aurez votre disque en images compressées.

Réplication de l'image

Bon, on a notre image, maintenant on aimerait bien la copier sur les autres ordinateurs :) Rien de plus simple.

1) On commence par remonter notre système de fichier distant :

mkdir /mnt/smb && mount -t smbfs -o username=usersmb //<monserveur>/<monpartage> /mnt/smb

2)Ensuite, il faut concaténer les images, décompresser le fichier obtenu et le recopier sur le disque, ce qui donne :

cd /mnt/smb/images && cat monimage_aa monimage_bb monimage_cc | lzop -d | dd of=/dev/sda

Simple ... non ? cat concatène les différentes images < 2Go, passe l'image recomposée à lzop qui va la décompresser, et l'image une fois décompressée est passée à dd en lui demandant de l'écrire sur le disque /dev/sda .

Allez, un (deux, trois) autre(s) café(s), et votre clonage est fini. Il ne reste plus qu'à redémarrer sur votre nouveau système !

Avertissement :

Votre système cloné est parfaitement identique au premier. Pensez donc à changer les paramètres tels que l'IP si celle ci est configurée en statique, le nom d'host, etc ...