publications.LEVINUX.org

4.4. Édition des fichiers nécessaires

Les systèmes de fichiers des noeuds maître et esclaves oeuvent subir de nombreuses adaptations. Concentrons-nous d'abord sur les fichiers de configuration et les points de montage. Nous avons besoin d'un répertoire sous /diskless pour le premier noeud esclave . Chaque esclave a besoin de son propre système de fichiers racine (le "root") parce que certains fichiers ne peuvent pas être communs à plusieurs machines sans causer de graves problèmes. Peu importe les noms des sous-répertoires vous pouvez, par exemple, les nommer d'après les adresses IP car elles sont uniques et explicites. Dans cet exemple, l'adresse IP du premier noeud esclave est 192.168.50.10 : vous devez faire cette opération pour chaque noeud esclave. Voir le code ci-bas.

Qu'est-ce qu'un noeud esclave?

C'est un ordinateur qui reçoit des tâches à effectuer par «l'ordinateur maître» !

# mkdir /diskless/192.168.50.10
# cp -r /etc /diskless/192.168.50.10/etc
# mkdir /diskless/192.168.50.10/home
# mkdir /diskless/192.168.50.10/dev
# mkdir /diskless/192.168.50.10/proc
# mkdir /diskless/192.168.50.10/tmp
# mkdir /diskless/192.168.50.10/mnt
# mkdir /diskless/192.168.50.10/mnt/.initd
# mkdir /diskless/192.168.50.10/root
# mkdir /diskless/192.168.50.10/var
# mkdir /diskless/192.168.50.10/var/empty
# mkdir /diskless/192.168.50.10/var/lock
# mkdir /diskless/192.168.50.10/var/log
# mkdir /diskless/192.168.50.10/var/run
# mkdir /diskless/192.168.50.10/mfs
[Important] Important

Vous devez recommencer cette procédure pour chaque station (noeud esclave) que vous possédez. Vous pouvez incrémenter de 1 pour chaque nouvelle station, comme par exemple : 192.168.50.10 pour la première, 192.168.50.11 pour la deuxième, 192.168.50.12 pour la troisième et ainsi de suite...

Vous devez ensuite modifier le fichier «net» situé dans le répertoire /etc/net pour forcer la carte réseau des postes esclaves à obtenir une adresse ip par dhcp. Encore une fois, cette procédure est nécessaire pour CHAQUE noeud esclave.

#nano /diskless/192.168.50.1/etc/net

Gardez seulement les lignes suivantes :

iface_eth0="dhcp"
gateway="eth0/192.168.50.1" //Changez le ip pour celui de votre passerelle

Quittez le fichier et enregistrez les modifications. Nous allons maintenant procéder à l'installation du serveur DHCP. Le serveur DHCP procure une adresse IP de façon automatique à tous les ordinateurs qui se brancheront sur votre réseau.

#emerge -k dhcp

Modifions maintenant le fichier de configuration du serveur DHCP :

#cp /etc/dhcp/dhcp.conf.sample /etc/dhcp/dhcp.conf
#nano /etc/dhcp/dhcp.conf

Votre fichier dhcp.conf, version finale, devrait ressembler à ceci :

ddns-update-style none;

option space PXE;
option PXE.mtftp-ip             code 1 = ip-address;
option PXE.mtftp-cport          code 2 = unsigned integer 16;
option PXE.mtftp-sport          code 3 = unsigned integer 16;
option PXE.mtftp-tmout          code 4 = unsigned integer 8;
option PXE.mtftp-delay          code 5 = unsigned integer 8;
option PXE.discovery-control    code 6 = unsigned integer 8;
option PXE.discovery-mcast-addr code 7 = ip-address;

subnet 192.168.0.0 netmask 255.255.255.0
{
 option broadcast-address 192.168.0.255;
}

subnet 192.168.50.0 netmask 255.255.255.0
{
 class "pxeclients"
 {
       match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
       option vendor-class-identifier "PXEClient";
       vendor-option-space PXE;
       option PXE.mtftp-ip 0.0.0.0;
       filename "pxelinux.0";
       next-server 192.168.50.1;                       //adresse du serveur
 }

 pool
 {
       max-lease-time 86400;
       default-lease-time 86400;
       deny unknown clients;
 }

 host dix
 {
      hardware ethernet            00:04:75:F4:E6:BC;  //adresse mac du client
      fixed-address                192.168.50.10;
      server-name                  "rouge";            //nom du serveur
      option routers               192.168.50.1;       //adresse du serveur
      option domain-name-servers   192.168.0.14;       //adresse du dns
      option host-name             "dix";              //nom du client
 }

 host onze
 {
      hardware ethernet            00:04:75:F4:EC:07;
      fixed-address                192.168.50.11;
      server-name                  "rouge";
      option routers               192.168.50.1;
      option domain-name-servers   192.168.0.14;
      option host-name             "onze";
 }
}

subnet 192.168.51.0 netmask 255.255.255.0
{
      option broadcast-address     192.168.51.255;
}

}