Différences
Ci-dessous, les différences entre deux révisions de la page.
tutoriel:installer_ubuntu_sur_plusieurs_pc_en_cluster [Le 06/08/2011, 10:58] – créée, déplacée depuis http://doc.ubuntu-fr.org/cluster Gemnoc | tutoriel:installer_ubuntu_sur_plusieurs_pc_en_cluster [Le 15/12/2011, 15:22] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ---- | ||
+ | ====== Installer Ubuntu sur plusieurs PC en cluster ====== | ||
+ | |||
+ | traduit de [[https:// | ||
+ | |||
+ | Cette page à pour but de présenter l' | ||
+ | |||
+ | Prérequis pour le serveur: | ||
+ | * Ubuntu-base install (ubuntu-server va très bien) | ||
+ | * Une image [[http:// | ||
+ | * Soit il faut avoir le NAT activé sur le serveur [[http:// | ||
+ | * Quelques paquets détaillés ci-dessous | ||
+ | |||
+ | === Etape 1: Configuration du serveur DHCP & du démarrage par PXE === | ||
+ | |||
+ | Premièrement, | ||
+ | |||
+ | Procédez maintenant à l' | ||
+ | |||
+ | Une fois les deux paquets installés, éditez le fichier / | ||
+ | |||
+ | Le démarrage par PXE demande à ce que l' | ||
+ | |||
+ | mkdir / | ||
+ | echo '/ | ||
+ | mount -a | ||
+ | |||
+ | La prochaine étape est de configurer le PXE. J'ai donc créé deux fichiers: un pour l' | ||
+ | [[http:// | ||
+ | |||
+ | Comme vous pouvez le voir l' | ||
+ | |||
+ | cd / | ||
+ | ln -s ubuntu/ | ||
+ | ubuntu/ | ||
+ | ubuntu/ | ||
+ | ubuntu/ | ||
+ | |||
+ | |||
+ | Vous pouvez voir dans la configuration que nous utilisons ces liens | ||
+ | |||
+ | === Etape 2: Configuration du nis et du nfs === | ||
+ | |||
+ | Pour les machines en cluster, nis et nfs sont habituellement utilisées pour partager les informations sur les utilisateurs et des parties du système de fichiers. Il faudra donc installer les deux paquets suivants sur le serveur : '' | ||
+ | |||
+ | Note: le paquet nis (pas nis en lui-même) est un buggé, il essayera de lancer ypbind même si on ne lui demande pas. Il ignore également le preseed, plus loin nous créerons une nouvelle version du package, pour l' | ||
+ | |||
+ | Lorsque l' | ||
+ | |||
+ | |||
+ | invoke-rc.d nis stop | ||
+ | |||
+ | Il faut maintenant éditer / | ||
+ | |||
+ | |||
+ | / | ||
+ | |||
+ | Vous pouvez maintenant démarrer le service nis : | ||
+ | |||
+ | invoke-rc.d nis start | ||
+ | |||
+ | Pour le NFS, il faut éditer / | ||
+ | |||
+ | |||
+ | # / | ||
+ | # to NFS clients. | ||
+ | / | ||
+ | /data | ||
+ | |||
+ | Redémarrez le serveurs NFS | ||
+ | |||
+ | |||
+ | invoke-rc.d nfs-kernel-server restart | ||
+ | |||
+ | === Etape 3: Configuration du miroir local et du proxy === | ||
+ | |||
+ | L' | ||
+ | |||
+ | Il vous faut donc les paquets suivants : '' | ||
+ | |||
+ | Mon cluster a seulement une IP publique, donc seul le maitre est connecté à Internet. Les autres noeuds sont simplement connectés au maitre (et via le NAT ils peuvent accéder à Internet). Comme je ne veux pas faire office de proxy public, J'ai configuré squid pour qu'il écoute seulement sur eth1 (l' | ||
+ | |||
+ | invoke-rc.d apache2 stop | ||
+ | echo ' | ||
+ | echo ' | ||
+ | invoke-rc.d apache start | ||
+ | |||
+ | Il faut également éditer la configuration de squid. Un [[http:// | ||
+ | |||
+ | Faites un lien symbolique de l'iso vers apache pour la servir. | ||
+ | |||
+ | ln -s / | ||
+ | |||
+ | === Etape 4: preseed === | ||
+ | |||
+ | Tout est maintenant configuré sur le serveur, nous pouvons maintenant passer à la configuration des clients. Tftpboot va lancer l' | ||
+ | |||
+ | Un fichier preseed qui répond avec la valeur par défaut a toutes les questions et qui installe ubuntu-base et openssh-server est disponible [[http:// | ||
+ | |||
+ | Ce que l'on peut changer: langue, les paquets à installer (qui sont des chaines aptitude), le premier utilisateur ainsi que le partitionnement. Configurez ceci à votre convenance, puis enregistrez le à la racine d' | ||
+ | |||
+ | === Etape 5: Après le redémarrage === | ||
+ | |||
+ | L' | ||
+ | wget http:// | ||
+ | Ceci ne fait rien sur le client, mais le script PHP créé un fichier de boot PXE pour cette machine, qui force le démarrage depuis le disque dur local. Si vous désirez réinstaller une machine, il vous suffit de supprimer le fichier de boot PXE associé, et l' | ||
+ | |||
+ | Pour que ceci fonctionne, l' | ||
+ | |||
+ | chown :www-data / | ||
+ | chmod g+w $_ | ||
+ | |||
+ | Voici le contenu du script register.php à enregistrer dans | ||
+ | / | ||
+ | |||
+ | |||
+ | <code php> | ||
+ | <?php | ||
+ | function _dechex($x) { return sprintf(" | ||
+ | $host = strtoupper(implode('', | ||
+ | copy("/ | ||
+ | ?> | ||
+ | </ | ||
+ | |||
+ | === Etape 6: Après l' | ||
+ | |||
+ | Le script exécuté après l' | ||
+ | |||
+ | Pour créer un paquet NIS correct, voici comment faire (depuis breezy ce n'est plus nécessaire: | ||
+ | |||
+ | < | ||
+ | mkdir nispackage | ||
+ | cd nispackage | ||
+ | apt-get source nis | ||
+ | cd nis-3.12/ | ||
+ | </ | ||
+ | |||
+ | * Ouvrir le fichier '' | ||
+ | * Commenter la ligne 61 (celle avec '' | ||
+ | * Juste avant la ligne 64 (celle avec '' | ||
+ | * Commenter la ligne 106 (celle avec '' | ||
+ | |||
+ | Tapez ensuite les commandes suivantes: | ||
+ | < | ||
+ | cd .. | ||
+ | apt-get build-dep nis | ||
+ | dpkg-buildpackage</ | ||
+ | |||
+ | Copiez le .deb (qui se trouve dans le dossier nispackage) a un endroit ou les clients peuvent y accéder (soit par wget ou via un montage nfs) | ||
+ | |||
+ | Le script post-install doit être placé dans /var/www | ||
+ | Le mien ressemble à: | ||
+ | |||
+ | < | ||
+ | #!/bin/bash | ||
+ | |||
+ | # Etape 1: Montage initial | ||
+ | mkdir /data | ||
+ | mount -t nfs 192.168.0.1:/ | ||
+ | |||
+ | # Etape 2: Installation et configuration du NIS | ||
+ | aptitude -y install portmap libslp1 | ||
+ | dpkg -i / | ||
+ | cp / | ||
+ | echo ' | ||
+ | echo ' | ||
+ | echo ' | ||
+ | |||
+ | # Réparer le démarrage (nis avec une erreur nfs ) | ||
+ | DIR=`pwd` | ||
+ | cd /etc/rc2.d | ||
+ | ln -s ../ | ||
+ | cd $DIR | ||
+ | |||
+ | # Etape 2: Montage correct | ||
+ | umount /data | ||
+ | echo ' | ||
+ | echo ' | ||
+ | mount -a | ||
+ | |||
+ | # Etape 3: Corriger le sources.list et faire un update | ||
+ | cp / | ||
+ | aptitude update | ||
+ | aptitude -y upgrade | ||
+ | |||
+ | # Etape 4: Installer d' | ||
+ | aptitude -y install linux-686-smp manpages-dev | ||
+ | rm / | ||
+ | rm / | ||
+ | |||
+ | # Etape 5: Activer les crontab utiles | ||
+ | echo '0 * * * * root test -x / | ||
+ | |||
+ | # Etape 6: Redémarrer, | ||
+ | reboot | ||
+ | </ | ||
+ | |||
+ | Téléchargements: | ||
+ | [[http:// | ||
+ | [[http:// | ||
+ | |||
+ | ===== Pages en rapport ===== | ||
+ | {{topic> |