====== 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)