====== Clonage de machine GNU/linux ======
===== Solution liveCD =====
Quand on a le temps ou une multitude de configuration différentes
- Faire une image iso pour CD ou DVD avec remastersys
- Utiliser cette image pour la déposer sur une cléUSB avec unetbootin voir multisystem ;-)
- Prendre le CD ou la clé et passer sur chaque machine
===== Solution réseau =====
Quand on veut optimiser le déploiement à travers une réseau grâce à un serveur d'image.
**Idée de cloner sa propre machine**
- Passer par un remastersys pour faire un joli iso
- le poser sur un répertoire de tftpboot pour l'offrir au boot réseau PXE, ce qui fonctionne avec grub2
il y a la solution clonezilla/drbl mais nous pouvons utiliser un script qui offre un boot PXE sur le reseau local et une image iso ou au moins un systeme de fichier en NFS avec un ubiquity pour l'installation.
liens donnant des pistes:
* http://www.unixgarden.com/index.php/gnu-linux-magazine-hs/demarrez-sans-disque-avec-pxe-grub-et-nfs
* http://ubuntuforums.org/archive/index.php/t-1112209.html
* http://random.kakaopor.hu/ubuntu-12-04-live-nfspxe-boot-diskless-casper-kept
* https://help.ubuntu.com/community/NFSv4MinimalHowto
* http://flashinformatique.epfl.ch/spip.php?article1942
Nous avons deja grub2, il manque:
gru2pxe
cd /usr/lib/grub/i386-pc
grub-mkimage --output=core.img --prefix="(pxe)/boot/grub" --format=i386-pc pxe pxecmd
cat pxeboot.img core.img > grub2pxe
cp grub2pxe /tftpboot
mkdir -p /tftpboot/boot
cp -a /boot/grub /tftpboot
chmod 666 /tftpboot/boot/grub/grub.cfg
dans le /tftpboot/grub/grub.cfg au lieu du reste
menuentry 'Clonezilla' --class ubuntu --class gnu-linux --class gnu --class os {
insmod ext2
insmod iso9660
insmod loopback
loopback loop (pxe)/clonezilla.iso
linux (loop)/live/vmlinuz boot=live union=aufs noswap config nomodeset ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_keymap="" ocs_live_batch="no" ocs_lang="" video=uvesafb:mode_option=800x600-16 ocs_numlk="on" ip=172.31.0.1 nosplash fetch=tftp://172.31.0.1/tftpboot/iso/clonezilla/live/filesystem.squashfs
initrd (loop)/live/initrd.img
}
menuentry 'XUB-SNALIS 7d ISO' --class ubuntu --class gnu-linux --class gnu --class os {
insmod iso9660
insmod loopback
loopback loop (pxe)/iso/xub-snalis-7d.iso
linux (loop)/linux
initrd (loop)/initrd.gz
}
apt-get install nfs-kernel-server nfs-common
Clonezilla will run into extreme difficulty if you boot too many systems at once, unless you change the configuration settings for NFS. These settings are stored in the file /etc/default/nfs-kernel-server, the important ones to change are the number of simultaneous NFS processes to use:
# Number of servers to start up
RPCNFSDCOUNT=100
and the number of simultaneous RPC mounts:
RPCMOUNTDOPTS="--manage-gids --num-threads=50"
http://drbl.sourceforge.net/one4all/techrpt.php?c=drbl-SL.sh&t=Load%20Small%20GNU/Linux%20%28DSL,%20PuppyLinux,%20Clonezilla%20live%20or%20GParted%20live%29%20into%20DRBL%20environment
mkdir -p /tftpboot
echo "/tftpboot 172.31.0.0/255.255.0.0(rw,crossmnt,no_subtree_check,async)">> /etc/exportfs
exportfs -a
apt-get install pxe xinetd
==== clonezilla modification ====
si on fixe le nom pour un restore automatique
de https://raymii.org/s/software/Clonezilla-custom-backup-script.html et
http://clonezilla.org/fine-print-live-doc.php?fullmode=0&path=./clonezilla-live/doc/05_Preseed_options_to_do_job_after_booting/01-preseed-options.doc#01-preseed-options.doc
cd live
sudo unsquashfs -f ./filesystem.squashfs
faire script dans squashfs-root/scripts/restoredisk.sh
#!/bin/bash
clear
echo "################################"
echo "# SNALIS Clonage #"
echo "# Based on Clonezilla #"
echo "# fait le 15/01/2013 #"
echo "################################"
echo
for i in 0 1 2 3 4
do
ifconfig eth$i up
dhclient eth$i
done
ifconfig | grep "inet addr"
NAME="image-maitre"
echo "Montage NFS "
echo "recherche de " $NAME
echo
mount -t nfs 192.168.1.10:/home/partimag /home/partimag
#clear
echo
if [ ! -f "/home/partimag/ne-pas-effacer" ] ; then
echo "NFS"
echo "le serveur 192.168.1.10:/home/partimag "
echo "n est pas accessible"
echo "pas de fichier ne-pas-effacer"
echo "Test avec un montage samba ubuntu/ubuntu sur partimag"
mount -t cifs -o username="ubuntu",password="ubuntu" //192.168.1.10/partimage /home/partimag
if [ ! -f "/home/partimag/ne-pas-effacer" ] ; then
echo "SAMBA"
echo "Pas de samba non plus"
echo "sortie"
exit 1
fi
fi
cd /home/partimag
pwd
# tentative eject CD avant eteind
echo "ejection CD"
eject
if [ -d "image-maitre" ] ; then
echo "recuperation de l'image image-maitre"
echo y | /opt/drbl/sbin/ocs-sr -g auto -e1 auto -e2 -c -r -j2 -k1 -p poweroff restoredisk $NAME sda
else
echo "il n'y a pas d'image image-maitre sur le serveur NFS"
echo "ou le serveur 192.168.1.10:/home/partimag "
echo "n est pas accessible"
echo "on en fait une :) "
echo "10s pour stoper par Ctrl-C"
sleep 10
echo y | /opt/drbl/sbin/ocs-sr -q2 -c -j2 -rm-win-swap-hib -z1 -i 2000 -p poweroff savedisk $NAME sda
fi
exit 0
copier dans /home/partimage par exemple
label RESTOR
menu label RESTOR
kernel /live/vmlinuz
append initrd=/live/initrd.img boot=live hostname=precise config union=overlayfs quiet noswap nolocales edd=on nomodeset noprompt ocs_live_run="/scripts/restoredisk.sh" ocs_live_extra_param="" ocs_live_keymap="/usr/share/keymaps/i386/azerty/fr-latin9.kmap.gz" ocs_live_batch="yes" ocs_live_keymap=NONE ocs_lang=fr_FR.UTF-8 ocs_numlk="on" ocs_live_batch="no" ocs_lang="" video=uvesafb:mode_option=800x600-16 ip=frommedia nosplash toram=filesystem.squashfs
refaire le filesystem.squashfs dans /live
cd ../..
rm -f ./filesystem.squashfs
mksquashfs ./squashfs-root ./filesystem.squashfs
rm -rf squashfs-root
refaire l'iso
cd ../..
mkisofs -r -V "Clonezilla SNALIS restore CD" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o clonezilla-snalis.iso clonezilla
ca donne clonezilla-snalis.iso sur http://sourceforge.net/projects/xublivecd/files/?source=navbar
===== SME avec un thinclient ====
Apres l'install du paquet smeserver-thinclient,
modifier le fichier pxelinux.cfg/default. 1.10 pour par exemple pour le serveur
label clonezilla
menu label clonezilla
kernel /clonezilla/live/vmlinuz
append initrd=/clonezilla/live/initrd.img boot=live union=aufs noswap config nomodeset ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_keymap="" ocs_live_batch="no" ocs_lang="" video=uvesafb:mode_option=800x600-16 ocs_numlk="on" nosplash fetch=tftp://192.168.1.10/clonezilla/live/filesystem.squashfs live-media-path=/clonezilla
menu end
Dépaquer un iso clonezilla dans /tftpboot/clonezilla
===== Projet machine de clone =====
Un projet se monte entre les associations [[http://www.alis44.org|ALIS44 ]], [[http://www.snalis.org|SNALIS ]], [[http://www.nautile.org|Le n@utile]], et [[http://la-fabrique.du-libre.org|la Fabrique du Libre]]. Une mini distribution Ubuntu? pour monter sa machine à dépoter du GNU/Linux à la pelle
c'est le livecd drbl :)
echo "deb http://drbl.sourceforge.net/drbl-core drbl stable">>/etc/apt/sources.list
apt-get update
apt-get install drbl
/opt/drbl/sbin/drblsrv -i
/opt/drbl/sbin/drblpush -i
http://ditwww.epfl.ch/SIC/SA/SPIP/Publications/spip.php?article1942
http://wiki.lm7.fr/index.php/Installation_par_le_r%C3%A9seau
Create Recovery Clonezilla http://clonezilla.org/show-live-doc-content.php?topic=clonezilla-live/doc/04_Create_Recovery_Clonezilla
http://restonux.wikispaces.com/documentation+clonezilla
====== Resultats sur sourceforge ======
Avec un article sur snalis :
http://snalis.org/Un-nouveau-serveur-de-clonage-pour
- Image clonezilla du serveur de clone drbl/clonezilla/ : https://sourceforge.net/projects/xublivecd/files/Clonages/
- iso du cd de boot clonezilla avec le script de restoration automatique de l'image ///home/partimag/image-maitre// : https://sourceforge.net/projects/xublivecd/files/Clonages/clonezilla.snalis.iso
le pcloneur est sous debian,
* Il DOIT posséder 2 cartes réseaux,
* 1/WAN internet(reseau local), IP venant du dhcp local
* 1/LAN réseau de clonage , IP = 192.168.66.6
* root pass = gnu/linux
* il utilise un NFS et le répertoire /home/partimag y est accessible.
* il a aussi un samba , pas testé.
* il offre un slitaz en boot réseau
* slitaz US est nécessaire pour un usage de gparted, redimentionnement de partition (FR marche pas)
* UltimateBootCD permet de reformater bas niveau ( et bien plus de choses )
Le cd clonezilla de snalis, offre
* un clonezilla standard utilsable telquel
* un script de suvegarde/restoration automatique
* le serveur 192.168.66.6 est utilisé
* /home/partimage/image-maitre est faite automatiquement si elle n'existe pas,
* /home/partimage/image-maitre est restorée automatiquement apres avoir répondu 'y' sur la machine cible
* le disque comportera une partition redimensionnée (option clonezilla -k1)