UDPCast
Actuellement, on a plutôt tendance à commander des machines sans lecteur cd ou dvd. A quoi servent ces lecteurs dans nos implantations à part prendre la poussière? Ecouter de la musique, visionner un film... rien de bien scientifique. Installer une machine (en réseau) ? Oui pour une seule, ensuite, il suffit de la dupliquer. Pour cela, il y a un outil, UDPCast, qui permet de transférer des données simultanément sur plusieurs destinations via le réseau. (La combinaison de cet outil avec la possibilité de démarrer les machines sur le réseau PXE, permet d'installer une salle très rapidement.)
Un site à lire : http://udpcast.linux.lu/
Tout est expliqué dessus. En anglais.
Pour le plaisir des yeux, une séance d'UDPCast en photo : http://album.refer.sn/udpcast
Principe
Vous créez une image, que vous mettez sur un support, par exemple, un cdrom, une disquette ou sur le réseau, et vous demandez à la machine à démarrer sur ce support. L'ordinateur démarre sur l'image UDPCast et vous exécute l'outil qui vous permet donc de transférer des fichiers sur le réseau. Vous pouvez créez votre propre image, la documentation est sur le site, ou des images déjà fonctionnelles sont téléchargeables suivant votre besoin : http://udpcast.linux.lu/bootmedia.html
Application Directe AUF
L'intérêt pour nous est de pouvoir démarrer les machines via le réseau, d'aller chercher une image UDPCast sur le serveur DHCP. Pour configurer le serveur afin qu'il envoie des images bootables via le réseau : PXE.
Des images pour faire de l'UDPCast en démarrant via le réseau sont disponibles ici : http://udpcast.linux.lu/bootloader.html#pxe
Pour les grands feignants
Le site d'udpcast permet de générer des initrd personnalisés avec notamment les questions udpcast (langues, drivers réseaux...) déjà renseigné. L'outil est accessible ici: http://udpcast.linux.lu/cast-o-matic/
Avec un fichier pxelinux.cfg/default qui aurait cette tête:
default receiver prompt 1 timeout 50 implicit 1 kbdmap fr.ktl display accueil.msg label local localboot 0 append - label receiver kernel linux append load_ramdisk=1 initrd=receiver_initrd root=/dev/ram0 label sender kernel linux append load_ramdisk=1 initrd=sender_initrd root=/dev/ram0
Et en générant un initrd spécialement pour les receiver et un autre pour le sender vous pourrez booter toute votre salle d'un seul coup sans avoir à répondre aux questions. Tout les machines recevant l'image disque démarreront automatiquement en receiver, la machine envoyant sera sélectionné en tapant "sender" au prompt.
- Un autre exemple de Dakar pour les Ideq :
# cat /tftpboot/pxelinux.cfg/ideq default disque prompt 1 timeout 30 label disque localboot 0 append - label udp kernel linux-udpcast append load_ramdisk=1 initrd=initrd-udpcast root=/dev/ram0 auto=yes lang=FR kbmap=FR netmodule=AUTO dhcp=yes enableDiskmodule=no disk=/dev/hda1 compr=none netmodparm= port=9000 udpcparam= label tout kernel linux-udpcast append load_ramdisk=1 initrd=initrd-udpcast root=/dev/ram0 auto=yes lang=FR kbmap=FR netmodule=AUTO dhcp=yes enableDiskmodule=no disk=/dev/hda compr=none netmodparm= port=9000 udpcparam=
* Astuce pour une duplication plus rapide : une première partition pour la racine, une seconde pour le swap et une 3ème qu'on va remplir de 0 (zéro) pour un transfert plus rapide ; il faudra alors choisir la méthode de compression LZO qui est un compris idéal entre taux de compression correct et faible charge CPU => 30% de gain de vitesse observé sur un réseau à 100 Mbit/s (passage de 1,5 min/Go à 1 min/Go)
# dd if=/dev/zero of=/dev/hdaX
Liens utiles :
documentation : http://udpcast.linux.lu/