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 ...
Derniers commentaires