version=pmwiki-2.1.6 ordered=1 urlencoded=1 agent=Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.1.8) Gecko/20071004 Iceweasel/2.0.0.8 (Debian-2.0.0.6+2.0.0.8-0etch1) author=FiFi csum=ajout commentaire pour OBSD ctime=1164384989 host=158.64.60.66 name=AutoInst.PXEUDPCASTDebian-netboot rev=2 targets= text=!!Boot PXE pour UDPCAST ou Debian netboot%0a%0aNous allons décrire dans ce HOWTO l'utilisation de PXE et d'un TFTP%0apour permettre le démarrage de système d'exploitation ou d'installeur%0avia le réseau.%0a%0aC'est la méthode que nous avons utilisé pour répliquer un parc de 9%0amachines, la machine 'maître' ayant été installée et peaufinée pour%0atourner sous Ubuntu Edgy Eft 6.10.%0a%0aCette méthode peut être appliquée également dans le cadre d'une%0ainstallation de Debian par exemple, via le réseau.\\%0aMéthode utilisée avec succès sur un portable sans lecteur de disquette%0aet dont le lecteur de CD était défaillant.%0a%0aVous pouvez retrouver les sites officiels et/ou liens vers les ressources%0aemployées dans ce HOWTO, juste ci-dessous :%0a* [[http://udpcast.linux.lu/]]%0a* [[http://ftp.debian.org/debian/dists/stable/main/installer-i386/current/images/netboot/|netboot.tar.gz]] de Debian stable, d'autres sont disponibles en parcourant le FTP.%0a* [[http://fr.wikipedia.org/wiki/Preboot_Execution_Environment|Wikipedia PXE]]%0a* [[http://fr.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol|Wikipedia DHCP]]%0a* [[http://fr.wikipedia.org/wiki/TFTP|Wikipedia TFTP]]%0a%0a!!!Installation commune de base%0a%0aInstallons tout d'abord un serveur Trivial FTP et un serveur DHCP.%0a[@%0a$ sudo apt-get install tftpd-hpa dhcp3-server%0a@]%0a%0aConfigurons ensuite une interface réseau, ici eth0 avec 192.168.1.254%0a[@%0a$ sudo ifconfig eth0 192.168.1.254%0a@]%0a%0aVérifions que la ligne suivante apparaît bien dans /etc/inetd.conf,%0aet modifions-la si besoin est%0a[@%0a$ cat /etc/inetd.conf%0a...%0atftp dgram udp wait root /usr/sbin/in.tftpd in.tftpd /tftpboot%0a...%0a@]%0a%0aL'option '-s' peut également vous être utile, elle change la racine du contenu%0aservi par TFTPD, une sorte de 'chroot'. Cette option peut vous servir dans le%0acas d'un boot d'OpenBSD (bsd.rd) celui cherchant '/etc/boot.conf' en chemin absolu.%0aPar exemple:%0a%0a[@%0atftp dgram udp wait root /usr/sbin/in.tftpd in.tftpd -s /tftpboot%0a@]%0a%0aConfigurons maintenant le serveur DHCP, vous devriez obtenir un fichier de%0aconfiguration de cette forme (tel quel, celui-ci a marché dans notre cas)%0a[@%0a$ cat /etc/dhcp3/dhcpd.conf%0a...%0adefault-lease-time 600;%0amax-lease-time 7200;%0aallow booting;%0aallow bootp;%0aauthoritative;%0asubnet 192.168.1.0 netmask 255.255.255.0 {%0a option subnet-mask 255.255.255.0;%0a option broadcast-address 192.168.1.255;%0a range 192.168.1.10 192.168.1.30;%0a#chemin absolu%0a filename "/tftpboot/pxelinux.0";%0a#!! l'adresse du serveur fournissant l'image PXE !!%0a next-server 192.168.1.254;%0a%0a#options supplémentaires de gateway et/ou DNS%0a#l'adresse de votre routeur/gateway%0a #option routers 192.168.1.254;%0a#une adresse de serveur DNS%0a #option domain-name-servers 192.168.1.254;%0a}%0a...%0a@]%0a%0aSur quel interface le serveur DHCP doit-il écouter ?\\%0aeth0 dans notre cas%0a[@%0a$ cat /etc/default/dhcp3-server%0a#l'interface kivabien%0aINTERFACES="eth0"%0a@]%0a%0aLe contenu du dossier contenant les images PXE :%0a[@%0a$ ls -r /tftpboot/%0audpcast-kernel udpcast-initrd pxelinux.cfg pxelinux.0%0a@]%0a%0aNous y avons simplement décompressé l'image de UDPCAST, on pourrait%0aégalement y trouver une image de Debian (netboot.tar.gz décompressé).%0a[@%0a$ cd /tftpboot/%0a$ tar -zxf netboot.tar.gz%0a$ ls -r /tftpboot/%0apxelinux.cfg pxelinux.0 netboot.tar.gz debian-installer%0a@]%0a%0aMaintenant que tout semble OK, rédémarrons les services\\%0a(NB : le nom de inetd peut varier)%0a[@%0a$ sudo /etc/init.d/dhcp3-server restart%0a$ sudo /etc/init.d/inetd restart%0a@]%0a%0aDémarrons les machines clientes en leur spécifiant de booter via PXE,%0acette configuration peut varier d'un matériel à l'autre, référez-vous%0aà vos manuels en cas de doute.%0a%0a!!!UDPCAST%0a%0aIl faut choisir une machine maître et une ou des machines clientes.%0aUne fois fait, remplissez les informations demandées aux écrans qui%0ase présentent à vous. Vous pouvez choisir de suivre celles-ci sans%0aaucune autre configuration manuelle, mais cette méthode va vous%0aamener à réaliser une réplication plus lente.%0a%0aEn ce qui nous concerne, nous allons tenter de répliquer via une%0aadresse de multicast et pour cela nous allons arrêter de suivre la%0aprocédure simplifiée une fois qu'elle nous demandera de sélectionner%0aun disque à répliquer.%0a%0aVous aurez évidemment pris soin de spécifier une adresse IP pour chaque%0amachine de votre réseau afin qu'elles puissent communiquer par la suite,%0aainsi que la sélection d'un masque réseau et d'un port de communication%0acommun à toutes les machines; cette configuration ne sera utilisée que%0apendant le temps de la réplication, ne vous en faites pas.%0a%0aRemarque pour le cas que nous avons expérimenté :\\%0aEn ce qui nous concerne, nous ne pouvions pas utiliser PXE via les%0ainterfaces en Gigabit, nous avons donc d'abord booter via les interfaces%0aintégrées en 100Mbits, chargé le module des interfaces Gigabit, configuré%0acelles-ci, et tout simplement changé le câble avant de commencer la%0aréplication; en effet, le mini système d'exploitation a été chargé en RAM%0aau moment du boot, nous n'avons plus besoin du réseau pour le faire%0afonctionner.%0a%0aNous sommes donc à l'étape de sélection du disque (device) à répliquer, %0ane faisons pas ENTER, mais plutôt Ctrl+Alt+F3 afin d'accéder à une interface%0aen ligne de commande (un tty pour ceux qui connaissent).%0a%0aNous pouvons vérifier que l'interface réseau est bien configurée grâce à %0a$ ifconfig , tester la connexion des câbles grâce à $ dmesg, en cherchant%0aune ligne du genre 'eth0: link up' (avec $ dmesg | grep eth0 ) et plein%0ad'autres informations si nous le désirons.%0a%0aPassons maintenant à la réplication en elle même :%0aSur le maître, la machine à répliquer :%0a%0a[@%0a$ /bin/udpsender --mcast-rdv-addr 224.2.2.1 \%0a --mcast-data-addr 224.2.2.2 --interface eth0 -f /dev/hda%0a@]%0a%0aoù vous prendrez soin de modifier 'eth0' et '/dev/hda' en fonction de vos besoins%0a%0aSur les clients, les machines "cibles" :%0a%0a[@%0a$ /bin/udpreceiver --mcast-rdv-addr 224.2.2.1 \%0a --interface eth0 -f /dev/hda%0a@]%0a%0a%0aNormalement, en lançant d'abord le maître, puis les clients, le maître devrait%0aafficher, à chaque nouvelle connexion d'un client, un message, indiquant %0al'adresse IP de celui-ci, ainsi vous pouvez savoir qui est connecté à un moment%0adonné.%0a%0aMaintenant que tous les clients sont connectés au maître (on l'espère), il ne %0areste plus qu'à lancer la réplication en appuyant sur la touche ENTER du maître.%0a%0aSi tout se passe bien, votre réplication débute, vous n'avez plus qu'à attendre,%0aquand c'est terminé, Ctrl+Alt+Delete pour rédémarrer (éventuellement changer la%0aconfiguration du PC pour ne plus booter via PXE) et votre système répliqué est%0aprêt à fonctionner.%0a%0aDans notre cas, avec de simple disques durs IDE de 40Go, un réseau en Gigabit %0a(une centaine d'euros pour le switch, 20 euros par carte réseau) il nous a été%0apossible de répliquer 8 machines en une petite demi-heure, à une moyenne de%0a240Mbits/s (environ 30Mo par seconde).%0a%0a!!!Debian netboot %0aSi vous avez bien configuré votre passerelle par défaut ainsi que le DNS, et %0aque l'archive netboot.tar.gz est bien décompressée dans /tftpboot (pour notre%0aexemple), alors vous n'aurez rien à faire et pourrez directement débuter%0al'installation.%0a%0aVous vous attendiez à plus compliqué ... désolé de vous décevoir ;) time=1193995755 author:1193995755=FiFi csum:1193995755=ajout commentaire pour OBSD diff:1193995755:1164384989:=45,49c45,46%0a%3c L'option '-s' peut également vous être utile, elle change la racine du contenu%0a%3c servi par TFTPD, une sorte de 'chroot'. Cette option peut vous servir dans le%0a%3c cas d'un boot d'OpenBSD (bsd.rd) celui cherchant '/etc/boot.conf' en chemin absolu.%0a%3c Par exemple:%0a%3c %0a---%0a> Configurons maintenant le serveur DHCP, vous devriez obtenir un fichier de%0a> configuration de cette forme (tel quel, celui-ci a marché dans notre cas)%0a51,56d47%0a%3c tftp dgram udp wait root /usr/sbin/in.tftpd in.tftpd -s /tftpboot%0a%3c @]%0a%3c %0a%3c Configurons maintenant le serveur DHCP, vous devriez obtenir un fichier de%0a%3c configuration de cette forme (tel quel, celui-ci a marché dans notre cas)%0a%3c [@%0a host:1193995755=158.64.60.66