Modifications entre les versions 18 et 20 (s'étendant sur 2 versions)
Version 18 à la date du 2008-02-29 01:13:37
Taille: 4257
Commentaire: icône « idée »
Version 20 à la date du 2010-03-12 04:32:58
Taille: 3028
Éditeur: WillyManga
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)

  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 (dernière édition le 2012-04-27 05:01:12 par JeanChristopheAndré)