Taille: 4257
Commentaire: icône « idée »
|
Taille: 3028
Commentaire: mise à jour du lien de téléchargement du fichier udpcast-initrd
|
Texte supprimé. | Texte ajouté. |
Ligne 1: | Ligne 1: |
== UDPCast == | UDPCast permet de transférer des données simultanément sur plusieurs destinations via le réseau. Nous l'utilisons pour copier une machine modèle vers ''n'' machines. UDPCast utilisant le broadcast, il est aussi rapide de dupliquer 2 machines que 15 ou 30... |
Ligne 3: | Ligne 3: |
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. [[InstallationRéseauDesMachines|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.) | 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. |
Ligne 5: | Ligne 5: |
Un site à lire : http://udpcast.linux.lu/ Tout est expliqué dessus. En anglais. |
Un site à lire : http://udpcast.linux.lu/ Tout est expliqué dessus. En anglais. |
Ligne 11: | Ligne 9: |
=== Principe === | = Création d'une image UDPCast bootable par PXE = |
Ligne 13: | Ligne 11: |
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 |
''PXE est un système de démarrage des machines par réseau. Si vous ne savez pas ce que c'est, lire d'abord la page [[PXE]].'' |
Ligne 16: | Ligne 13: |
=== Application Directe AUF === | Pour démarrer UDPCast avec PXE, il nous faut : * un noyau * une image disque (''initrd'') qui contiendra udpcast (`udp-receiver` et `udp-sender`) et une interface pour nous aider à le lancer. |
Ligne 18: | Ligne 17: |
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]]. | La technique la plus simple pour obtenir ces deux fichiers est la suivante : |
Ligne 20: | Ligne 19: |
Des images pour faire de l'UDPCast en démarrant via le réseau sont disponibles ici : http://udpcast.linux.lu/bootloader.html#pxe | == Obtenir un noyau (fichier udpcast-linux) == |
Ligne 22: | Ligne 21: |
== 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 |
Travailler sur une machine Ubuntu de dernière version. Elle contiendra un noyau supportant un maximum de matériel (disque dur, carte réseau). Prendre le noyau de cette machine : {{{ $ cp /boot/vmlinuz-`uname -r` /tmp/udpcast-linux |
Ligne 48: | Ligne 26: |
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. | == Obtenir le disque de démarrage (fichier udpcast-initrd) == |
Ligne 50: | Ligne 28: |
(!) ''À étudier : on peut maintenant mettre des options sur la ligne de boot, comme par exemple `auto=yes lang=FR kbdmap=FR`. Donc on devrait pouvoir choisir le mode `sender` ou `receiver` simplement avec une option, en utilisant un seul `initrd` commun. -- ProgFou'' | Installer le système de création d'un disque initrd proposé sur le site d'UDPCast, sur la page http://udpcast.linux.lu/mkimagedoc.html : |
Ligne 52: | Ligne 30: |
* 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= |
{{{ $ cd /tmp $ wget http://udpcast.linux.lu/download/udpcast-mkimage_20100131_all.deb (version disponible le 31 janvier 2010... ça peut changer) $ sudo gdebi udpcast-mkimage_20100131_all.deb |
Ligne 72: | Ligne 36: |
* 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 compromis 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) /* autrement dit : oui, ça sert vraiment car ça marche */ {{{ # dd if=/dev/zero of=/dev/hdaX |
Et lancer la construction du fichier ''initrd'' en utilisant ce système : {{{ $ /usr/lib/udpcast/makeImage --kernel /boot/vmlinuz-`uname -r` --initrd /tmp/udpcast-initrd |
Ligne 77: | Ligne 41: |
Liens utiles : | == Installation et configuration sur le serveur de boot PXE (dhcp+tftp) == |
Ligne 79: | Ligne 43: |
* documentation : http://udpcast.linux.lu/ | 1. Copier les fichiers obtenus sur le poste Ubuntu `/tmp/udpcast-linux` et `/tmp/udpcast-initrd` vers le serveur, dans le répertoire `/tfptboot` 2. Ajouter une section dans la configuration de PXE pour démarrer avec ce système : {{{ # démarrage du lanceur d'UDPCast label udp kernel udpcast-linux append load_ramdisk=1 initrd=initrd-udpcast root=/dev/ram0 }}} A noter qu'on peut envoyer des paramètres afin d'éviter à répondre aux questions du lanceur d'UDPCast. C'est génial, cela permet que le boot UDPCast arrive directement jusqu'au choix "serveur/recepteur" sans qu'on appuie sur aucune touche ! On gagne du temps et on évite les erreurs : {{{ # démarrage du lanceur d'UDPCast, avec réponse automatique aux questions ! label udp kernel udpcast-linux append load_ramdisk=1 initrd=initrd-udpcast root=/dev/ram0 auto=yes lang=FR kbmap=FR netmodule=AUTO dhcp=yes enableDiskmodule=no diskmodparm= disk=/dev/sda compr=none netmodparm= port=9000 udpcparam= }}} |
UDPCast permet de transférer des données simultanément sur plusieurs destinations via le réseau. Nous l'utilisons pour copier une machine modèle vers n machines. UDPCast utilisant le broadcast, il est aussi rapide de dupliquer 2 machines que 15 ou 30...
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
Création d'une image UDPCast bootable par PXE
PXE est un système de démarrage des machines par réseau. Si vous ne savez pas ce que c'est, lire d'abord la page PXE.
Pour démarrer UDPCast avec PXE, il nous faut :
- un noyau
une image disque (initrd) qui contiendra udpcast (udp-receiver et udp-sender) et une interface pour nous aider à le lancer.
La technique la plus simple pour obtenir ces deux fichiers est la suivante :
Obtenir un noyau (fichier udpcast-linux)
Travailler sur une machine Ubuntu de dernière version. Elle contiendra un noyau supportant un maximum de matériel (disque dur, carte réseau). Prendre le noyau de cette machine :
$ cp /boot/vmlinuz-`uname -r` /tmp/udpcast-linux
Obtenir le disque de démarrage (fichier udpcast-initrd)
Installer le système de création d'un disque initrd proposé sur le site d'UDPCast, sur la page http://udpcast.linux.lu/mkimagedoc.html :
$ cd /tmp $ wget http://udpcast.linux.lu/download/udpcast-mkimage_20100131_all.deb (version disponible le 31 janvier 2010... ça peut changer) $ sudo gdebi udpcast-mkimage_20100131_all.deb
Et lancer la construction du fichier initrd en utilisant ce système :
$ /usr/lib/udpcast/makeImage --kernel /boot/vmlinuz-`uname -r` --initrd /tmp/udpcast-initrd
Installation et configuration sur le serveur de boot PXE (dhcp+tftp)
Copier les fichiers obtenus sur le poste Ubuntu /tmp/udpcast-linux et /tmp/udpcast-initrd vers le serveur, dans le répertoire /tfptboot
- Ajouter une section dans la configuration de PXE pour démarrer avec ce système :
# démarrage du lanceur d'UDPCast label udp kernel udpcast-linux append load_ramdisk=1 initrd=initrd-udpcast root=/dev/ram0
A noter qu'on peut envoyer des paramètres afin d'éviter à répondre aux questions du lanceur d'UDPCast. C'est génial, cela permet que le boot UDPCast arrive directement jusqu'au choix "serveur/recepteur" sans qu'on appuie sur aucune touche ! On gagne du temps et on évite les erreurs :
# démarrage du lanceur d'UDPCast, avec réponse automatique aux questions ! label udp kernel udpcast-linux append load_ramdisk=1 initrd=initrd-udpcast root=/dev/ram0 auto=yes lang=FR kbmap=FR netmodule=AUTO dhcp=yes enableDiskmodule=no diskmodparm= disk=/dev/sda compr=none netmodparm= port=9000 udpcparam=