Faire des sauvegardes automatiques de ses disque, via un boot réseau (Clonezilla)
Puisqu’apparemment ce n’est pas encore aujourd’hui qu’un article juridique verra le jour sur ce blog, et puisque j’évoquais le boot PXE dans le précédent article, j’en profite pour vite partager une autre astuce que j’aime utiliser pour faire une image d’un disque, et surtout pour la restaurer.
Ça peut être très pratique pour déployer rapidement un très grand nombre d’ordinateur, ou pour faire des tests sur un système, avant de le re-déployer.
Quand il s’agit d’un one-shot, je boote souvent simplement sur un live-usb linux, et puis je fais
dd if=LE_DISQUE_A_SAUVER | gzip -c Le_PATH_OU_SAUVER
Sachant que LE_DISQUE_A_SAUVER sera souvent /dev/sda et que Le_PATH_OU_SAUVER sera souvent un emplacement sur le réseau (typiquement un NAS) monté pour l’occasion.
Pour restaurer, je fais
gunzip -c la/partoche.img.gz | dd of/dev/lapartochecible
Mais quand je dois réutiliser l’image, ou que je veux pouvoir faire les opérations automatiquement, alors je préfaire utiliser un Clonezilla bootable par le réseau.
Pour ce faire, j’utilise le serveur pxe/tftp comme configuré dans le précédent article, auquel j’ajoute des options.
Pour ce faire, je crée un dossier clonezilla dans /var/lib/tftpboot/
sudo mkdir /var/lib/tftpboot/clonezilla Puis je place le fichier pxelinux.0 (le fichier qui permet d'amorcer un linux via un boot PXE) dans ce dossier
cp /var/lib/tftpboot/ltsp/i386/pxelinux.0 /var/lib/tftpboot/clonezilla
Notez qu’ici je prends celui qui est fourni par ltsp, mais je pourrais prendre celui qui est fourni par le paquet syslinux (qui sera trouvable ici: /usr/lib/syslinux/pxelinux.0), voire même directement celui distribué sur kernel.org https://www.kernel.org/pub/linux/utils/boot/syslinux/)
Ensuite, je place dans le même dossier, les fichiers vmlinuz, initrd.img et filesystem.squashfs trouvé dans le zip de la dernière version de clonezilla, en zip.
unzip clonezilla-live-2.2.2-37-i686-pae.zip live/vmlinuz live/filesystem.squashfs live/initrd.img -d /var/lib/tftpboot/clonezilla
Il reste à donner à pxelinux sa config
sudo mkdir /var/lib/tftpboot/clonezilla/pxelinux.cfg sudo nano /var/lib/tftpboot/clonezilla/pxelinux.cfg/default
Et mettre dans default
DISPLAY boot.txt LABEL clonezilla kernel vmlinuz append initrd=initrd.img boot=live union=aufs noswap noprompt vga=788 fetch=tftp://L'ADRESSE-IP-DU-SERVEUR/clonezilla/filesystem.squashfs PROMPT 1 TIMEOUT 0
(à noter que pxelinux admet des config par adresse ip, pour plus de détail voir http://www.syslinux.org/wiki/index.php/PXELINUX#How_do_I_Configure_PXELINUX.3F)
Pour pouvoir booter sur Clonezilla, il ne reste plus qu’un étape: que le serveur dhcp renvoie vers notre tftp. On va donc adapter la config de dnsmasq (déjà mis en place à l’article précédent), pour y faire apparaître
pxe-service=x86PC, « Charger Clonezilla », /clonezilla/pxelinux
Et on peut enfin démarrer son clonezilla sur le réseau.
Rester maintenant à automatiser tout ça.