Add a new translated section (Diskless).
This commit is contained in:
parent
1ca7da2715
commit
2b78389563
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=21596
1 changed files with 943 additions and 2 deletions
|
@ -2212,8 +2212,949 @@ Exports list on foobar:
|
|||
</sect1>
|
||||
|
||||
<sect1 id="network-diskless">
|
||||
<title>Diskless Operation ** Traduction en Cours **</title>
|
||||
<para></para>
|
||||
<sect1info>
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>Jean-François</firstname>
|
||||
<surname>Dockès</surname>
|
||||
<contrib>Mis à jour par </contrib>
|
||||
</author>
|
||||
</authorgroup>
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>Alex</firstname>
|
||||
<surname>Dupre</surname>
|
||||
<contrib>Réorganisé et augmenté
|
||||
par </contrib>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</sect1info>
|
||||
<title>Système sans disque dur</title>
|
||||
|
||||
<indexterm><primary>station de travail sans disque
|
||||
dur</primary></indexterm>
|
||||
<indexterm><primary>système sans disque
|
||||
dur</primary></indexterm>
|
||||
|
||||
<para>Une machine &os; peut démarrer via le réseau
|
||||
et fonctionner sans disque dur local, en utilisant des
|
||||
systèmes de fichiers montés à partir d'un
|
||||
serveur <acronym>NFS</acronym>. Aucune modification du
|
||||
système n'est nécessaire en dehors des fichiers de
|
||||
configuration standards. Un tel système est facile
|
||||
à mettre en oeuvre comme tous les éléments
|
||||
sont directement disponibles:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Il y a au moins deux métodes possibles pour
|
||||
charger un noyau via le réseau:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para><acronym>PXE</acronym>: l'environnement
|
||||
d'exécution préalable au démarrage
|
||||
d'&intel; (Preboot eXecution Environment) est une sorte de
|
||||
ROM intelligente présente sur certaines cartes
|
||||
réseau ou cartes mère. Consultez la page de
|
||||
manuel &man.pxeboot.8; pour plus de détails.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Le logiciel porté
|
||||
<application>Etherboot</application> (<filename
|
||||
role="package">net/etherboot</filename>) produit un code
|
||||
stockable dans une ROM pour démarrer des noyaux via
|
||||
le réseau. Le code peut être soit
|
||||
implanté dans une PROM de démarrage sur une
|
||||
carte réseau, soit chargé à partir
|
||||
d'une disquette (ou d'un disque dur local), ou à
|
||||
partir d'un système &ms-dos; en fonctionnement. De
|
||||
nombreuses cartes réseau sont
|
||||
supportées.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Une procédure d'exemple
|
||||
(<filename>/usr/share/examples/diskless/clone_root</filename>)
|
||||
facilite la création et la maintenance du
|
||||
système de fichiers racine de la station de travail sur
|
||||
le serveur. La procédure demandera sûrement
|
||||
quelques modifications mais vous permettra de démarrer
|
||||
rapidement.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Des fichiers de démarrage du système
|
||||
existent dans le répertoire <filename
|
||||
role="directory">/etc</filename> pour détecter et
|
||||
supporter le démarrage d'un système sans disque
|
||||
dur.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>La pagination, si nécessaire, peut être
|
||||
faite par l'intermédiaire d'un fichier
|
||||
<acronym>NFS</acronym> ou sur un disque local.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>Il existe plusieurs façons de configurer des stations
|
||||
de travail sans disque dur. Plusieurs éléments
|
||||
entrent en oeuvre, et la plupart peuvent être
|
||||
ajustés en fonction des besoins locaux. Ce qui suit
|
||||
décrit des variations sur la configuration d'un
|
||||
système complet, mettant en avant le simplicité et
|
||||
la compatibilité avec les procédures standards de
|
||||
démarrage de &os;. Le système décrit
|
||||
présente les caractéristiques suivantes:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Les stations de travail sans disque dur utilisent des
|
||||
systèmes de fichiers <filename>/</filename> et
|
||||
<filename>/usr</filename> partagés et en lecture
|
||||
seule.</para>
|
||||
|
||||
<para>Le système de fichiers racine est une copie d'une
|
||||
racine &os; standard (généralement celle du
|
||||
serveur), avec certains fichiers de configuration
|
||||
remplacés par des versions spécifiques
|
||||
à un fonctionnement sans disque dur, et parfois
|
||||
à la station de travail auxquels ils
|
||||
appartiennent.</para>
|
||||
|
||||
<para>Les parties de la racine qui doivent être
|
||||
inscriptibles sont remplacées par des systèmes
|
||||
de fichiers &man.mfs.8; (&os; 4.X) ou &man.md.4;
|
||||
(&os; 5.X). Toute modification sera perdue au
|
||||
redémarrage du système.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Le noyau est transféré et chargé
|
||||
soit à l'aide d'<application>Etherboot</application>
|
||||
soit de <acronym>PXE</acronym> comme certaines situations
|
||||
peuvent exiger l'utilisation de l'une ou l'autre
|
||||
méthode.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<caution>
|
||||
<para>Ainsi décrit, le système n'est pas
|
||||
sécurisé. Il devrait se trouver dans une partie
|
||||
protégée du réseau, et les autres machines
|
||||
ne devraient pas lui faire confiance aveuglément.</para>
|
||||
</caution>
|
||||
|
||||
<para>Toutes les instructions de cette section ont
|
||||
été testées sous &os; 4.9-RELEASE et
|
||||
5.2.1-RELEASE. Le texte est destiné à l'origine
|
||||
pour une utilisation sous 4.X. Des notes on été
|
||||
insérées aux endroits nécessaires pour
|
||||
indiquer les modifications concernant la branche 5.X.</para>
|
||||
|
||||
<sect2>
|
||||
<title>Information de fond</title>
|
||||
|
||||
<para>Mettre en place des stations de travail sans disque dur
|
||||
est à la fois relativement simple et enclin aux
|
||||
erreurs. Ces dernières sont parfois difficiles
|
||||
à diagnostiquer pour de nombreuses raisons. Par
|
||||
exemple:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Des options de compilation peuvent donner lieu
|
||||
à des comportements différents à
|
||||
l'exécution.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Les messages d'erreurs sont souvent cachés ou
|
||||
totalement absents.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>Dans ce contexte, avoir quelques connaissances des
|
||||
mécanismes sousjacents impliqués est très
|
||||
utile pour résoudre les problèmes qui peuvent
|
||||
surgir.</para>
|
||||
|
||||
<para>Plusieurs opérations doivent être
|
||||
effectutées pour un amorçage
|
||||
réussi:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>La machine doit obtenir des paramètres de base
|
||||
comme son adresse IP, le nom du fichier exécutable,
|
||||
le nom du serveur, l'emplacement de la racine. Ceci est
|
||||
fait en utilisant le protocole <acronym>DHCP</acronym> ou le
|
||||
protocole BOOTP. <acronym>DHCP</acronym> est une extension
|
||||
compatible de BOOTP, et utilise les mêmes
|
||||
numéros de ports et son format de paquets
|
||||
basic.</para>
|
||||
|
||||
<para>Il est possible de configurer un système pour
|
||||
n'utiliser que BOOTP. Le programme serveur &man.bootpd.8;
|
||||
fait partie du système de base de &os;.</para>
|
||||
|
||||
<para>Cependant, <acronym>DHCP</acronym> présente
|
||||
plusieurs avantage sur BOOTP (des fichiers de
|
||||
configuration plus lisibles, la possibilité
|
||||
d'utiliser <acronym>PXE</acronym>, plus de nombreux autres
|
||||
avantages n'ayant pas de relation directe avec les
|
||||
systèmes sans disque dur), et nous décrirons
|
||||
principalement une configuration <acronym>DHCP</acronym>,
|
||||
avec des exemples équivalent utilisant
|
||||
&man.bootpd.8; quand cela est possible. L'exemple de
|
||||
configuration utilisera le logiciel <application>ISC
|
||||
DHCP</application> (la version 3.0.1.r12 était
|
||||
installée sur le serveur de test).</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>La machine a besoin de transférer un ou
|
||||
plusieurs programmes en mémoire locale.
|
||||
<acronym>TFTP</acronym> ou <acronym>NFS</acronym> sont
|
||||
utilisés. Le choix entre <acronym>TFTP</acronym> et
|
||||
<acronym>NFS</acronym> est à de nombreux endroits une
|
||||
option sélectionnée lors de la compilation.
|
||||
Une source d'erreur courante est d'indiquer des noms de
|
||||
fichiers pour le mauvais protocole: <acronym>TFTP</acronym>
|
||||
transfère généralement tous les
|
||||
fichiers à partir d'un seul répertoire sur le
|
||||
serveur, et attendra des noms de fichiers relatifs à
|
||||
ce répertoire. <acronym>NFS</acronym> a besoin de
|
||||
chemins d'accès absolus.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Les éventuels programmes d'amorce
|
||||
intermédiaires et le noyau doivent être
|
||||
initialisés et exécutés. Il existe
|
||||
plusieurs variations à ce niveau:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para><acronym>PXE</acronym> chargera &man.pxeboot.8;,
|
||||
qui est une version modifiée du chargeur. Le
|
||||
chargeur (&man.loader.8;) récupérera la
|
||||
plupart des paramètres nécessaires au
|
||||
démarrage du système, et les transmettra
|
||||
au noyau avant de lui abandonner le contrôle du
|
||||
système. Dans ce cas il est possible d'utiliser
|
||||
un noyau <filename>GENERIC</filename>.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para><application>Etherboot</application>, chargera
|
||||
directement le noyau avec moins de préparation.
|
||||
Vous devrez compiler un noyau avec des options
|
||||
particulières.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para><acronym>PXE</acronym> et
|
||||
<application>Etherboot</application> fonctionnent aussi
|
||||
bien l'un que l'autre avec des systèmes 4.X. Comme
|
||||
le noyau des systèmes 5.X laisse au chargeur
|
||||
(&man.loader.8;) un peu plus de travail à
|
||||
effectuer, <acronym>PXE</acronym> est
|
||||
préféré pour les systèmes
|
||||
5.X.</para>
|
||||
|
||||
<para>Si votre <acronym>BIOS</acronym> et vos cartes
|
||||
réseau supportent <acronym>PXE</acronym>, vous
|
||||
devriez probablement l'utiliser. Cependant, il est
|
||||
toujours possible de démarrer un système 5.X
|
||||
à l'aide
|
||||
d'<application>Etherboot</application>.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Et enfin, la machine a besoin d'accéder
|
||||
à ses systèmes de fichiers.
|
||||
<acronym>NFS</acronym> est utilisé dans tous les
|
||||
cas.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>Consultez également la page de manuel
|
||||
&man.diskless.8;.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Configuration</title>
|
||||
|
||||
<sect3>
|
||||
<title>Configuration utilisant <application>ISC
|
||||
DHCP</application></title>
|
||||
<indexterm>
|
||||
<primary>DHCP</primary>
|
||||
<secondary>système sans disque dur</secondary>
|
||||
</indexterm>
|
||||
|
||||
<para>Le serveur <application>ISC DHCP</application>
|
||||
peut répondre aux requêtes BOOTP et
|
||||
<acronym>DHCP</acronym>.</para>
|
||||
|
||||
<para>Avec la version 4.9, <application>ISC DHCP
|
||||
3.0</application> ne fait pas partie du système de
|
||||
base. Vous devrez installer le logiciel porté
|
||||
<filename role="package">net/isc-dhcp3-server</filename> ou
|
||||
la version pré-compilée correspondante.
|
||||
Veuillez vous référer au <xref
|
||||
linkend="ports"> pour des informations sur les logiciels
|
||||
portés et les logiciels
|
||||
pré-compilés.</para>
|
||||
|
||||
<para>Une fois <application>ISC DHCP</application>
|
||||
installé, il nécessite un fichier de
|
||||
configuration pour fonctionner (normalement appelé
|
||||
<filename>/usr/local/etc/dhcpd.conf</filename>). Voici un
|
||||
exemple commenté, où la machine
|
||||
<hostid>margaux</hostid> utilise
|
||||
<application>Etherboot</application> et où la machine
|
||||
<hostid>corbieres</hostid> emploie
|
||||
<acronym>PXE</acronym>:</para>
|
||||
|
||||
<programlisting>
|
||||
default-lease-time 600;
|
||||
max-lease-time 7200;
|
||||
authoritative;
|
||||
|
||||
option domain-name "example.com";
|
||||
option domain-name-servers 192.168.4.1;
|
||||
option routers 192.168.4.1;
|
||||
|
||||
subnet 192.168.4.0 netmask 255.255.255.0 {
|
||||
use-host-decl-names on; <co id="co-dhcp-host-name">
|
||||
option subnet-mask 255.255.255.0;
|
||||
option broadcast-address 192.168.4.255;
|
||||
|
||||
host margaux {
|
||||
hardware ethernet 01:23:45:67:89:ab;
|
||||
fixed-address margaux.example.com;
|
||||
next-server 192.168.4.4; <co id="co-dhcp-next-server">
|
||||
filename "/data/misc/kernel.diskless"; <co id="co-dhcp-filename">
|
||||
option root-path "192.168.4.4:/data/misc/diskless"; <co id="co-dhcp-root-path">
|
||||
}
|
||||
host corbieres {
|
||||
hardware ethernet 00:02:b3:27:62:df;
|
||||
fixed-address corbieres.example.com;
|
||||
next-server 192.168.4.4;
|
||||
filename "pxeboot";
|
||||
option root-path "192.168.4.4:/data/misc/diskless";
|
||||
}
|
||||
}
|
||||
</programlisting>
|
||||
|
||||
<calloutlist>
|
||||
<callout arearefs="co-dhcp-host-name"><para>Cette option dit
|
||||
à <application>dhcpd</application> d'envoyer le
|
||||
paramètre des déclarations
|
||||
<literal>host</literal> comme nom de machine pour la
|
||||
machine sans disque dur. Une autre méthode
|
||||
aurait été d'ajouter <literal>option
|
||||
host-name <replaceable>margaux</replaceable></literal>
|
||||
à l'intérieur des déclarations
|
||||
<literal>host</literal>.</para>
|
||||
</callout>
|
||||
|
||||
<callout arearefs="co-dhcp-next-server"><para>La directive
|
||||
<literal>next-server</literal> désigne le serveur
|
||||
<acronym>TFTP</acronym> ou <acronym>NFS</acronym>
|
||||
à utiliser pour télécharger le
|
||||
chargeur ou le noyau (le comportement par défaut
|
||||
étant d'utiliser la même machine que le
|
||||
serveur <acronym>DHCP</acronym>).</para>
|
||||
</callout>
|
||||
|
||||
<callout arearefs="co-dhcp-filename"><para>La directive
|
||||
<literal>filename</literal> précise le fichier
|
||||
que chargera <application>Etherboot</application> ou
|
||||
<acronym>PXE</acronym> à la prochaine
|
||||
étape. Il doit être défini en
|
||||
fonction de la méthode de transfert
|
||||
utilisée. <application>Etherboot</application>
|
||||
peut être compilé pour utiliser
|
||||
<acronym>NFS</acronym> ou <acronym>TFTP</acronym>. Le
|
||||
logiciel porté pour &os; utilisera
|
||||
<acronym>NFS</acronym> par défaut.
|
||||
<acronym>PXE</acronym> emploie <acronym>TFTP</acronym>,
|
||||
c'est pourquoi un chemin d'accès relatif est
|
||||
utilisé ici (cela peut dépendre de la
|
||||
configuration du serveur <acronym>TFTP</acronym>, mais
|
||||
devrait être plutôt classique). De plus,
|
||||
<acronym>PXE</acronym> charge
|
||||
<filename>pxeboot</filename>, et non pas le noyau. Il
|
||||
existe d'autres possibilités
|
||||
intéressantes, comme le chargement de
|
||||
<filename>pxeboot</filename> à partir du
|
||||
répertoire <filename
|
||||
role="directory">/boot</filename> d'un CD-ROM &os;
|
||||
(comme &man.pxeboot.8; peut charger un noyau
|
||||
<filename>GENERIC</filename> cela rend possible
|
||||
l'utilisation de <acronym>PXE</acronym> pour
|
||||
démarrer à partir d'un lecteur de CD-ROM
|
||||
distant).</para>
|
||||
</callout>
|
||||
|
||||
<callout arearefs="co-dhcp-root-path"><para>L'option
|
||||
<literal>root-path</literal> définie le chemin
|
||||
d'accès au système de fichiers racine,
|
||||
suivant la notation classique de <acronym>NFS</acronym>.
|
||||
En utilisant <acronym>PXE</acronym>, il est possible de
|
||||
ne pas préciser l'adresse IP de la machine
|
||||
dès lors que vous n'activez pas l'option BOOTP du
|
||||
noyau. Le serveur <acronym>NFS</acronym> sera alors le
|
||||
même que le serveur
|
||||
<acronym>TFTP</acronym>.</para>
|
||||
</callout>
|
||||
</calloutlist>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Configuration utilisant BOOTP</title>
|
||||
<indexterm>
|
||||
<primary>BOOTP</primary>
|
||||
<secondary>système sans disque dur</secondary>
|
||||
</indexterm>
|
||||
|
||||
<para>Ce qui suit présente une configuration
|
||||
<application>bootpd</application> équivalente
|
||||
(réduite à un seul client). Elle se
|
||||
trouverait sous <filename>/etc/bootptab</filename>.</para>
|
||||
|
||||
<para>Veuillez noter qu'<application>Etherboot</application>
|
||||
doit être compilé avec l'option
|
||||
<literal>NO_DHCP_SUPPORT</literal> (qui n'est pas
|
||||
activée par défaut) afin d'utiliser BOOTP et
|
||||
que <acronym>PXE</acronym>
|
||||
<emphasis>nécessite</emphasis>
|
||||
<acronym>DHCP</acronym>. The seul avantage évident
|
||||
de <application>bootpd</application> est qu'il est
|
||||
disponible dans le système de base.</para>
|
||||
|
||||
<programlisting>
|
||||
.def100:\
|
||||
:hn:ht=1:sa=192.168.4.4:vm=rfc1048:\
|
||||
:sm=255.255.255.0:\
|
||||
:ds=192.168.4.1:\
|
||||
:gw=192.168.4.1:\
|
||||
:hd="/tftpboot":\
|
||||
:bf="/kernel.diskless":\
|
||||
:rp="192.168.4.4:/data/misc/diskless":
|
||||
|
||||
margaux:ha=0123456789ab:tc=.def100
|
||||
</programlisting>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Préparation d'un programme de démarrage
|
||||
avec <application>Etherboot</application></title>
|
||||
|
||||
<indexterm>
|
||||
<primary>Etherboot</primary>
|
||||
</indexterm>
|
||||
|
||||
<para>Le <ulink url="http://etherboot.sourceforge.net">site
|
||||
Web d'Etherboot</ulink> propose une <ulink
|
||||
url="http://etherboot.sourceforge.net/doc/html/userman/t1.html">
|
||||
documentation importante</ulink> principalement
|
||||
destinée aux systèmes Linux, mais contenant
|
||||
néamoins des informations utiles. Ce qui suit
|
||||
présente comment vous utiliseriez
|
||||
<application>Etherboot</application> sur un système
|
||||
&os;.</para>
|
||||
|
||||
<para>Vous devez tout d'abord installer le logiciel
|
||||
porté <filename
|
||||
role="package">net/etherboot</filename> ou sa version
|
||||
pré-compilée.</para>
|
||||
|
||||
<para>Vous pouvez modifier la configuration
|
||||
d'<application>Etherboot</application> (i.e. pour utiliser
|
||||
<acronym>TFTP</acronym> au lieu de <acronym>NFS</acronym>)
|
||||
en éditant le fichier <filename>Config</filename>
|
||||
dans le répertoire des sources
|
||||
d'<application>Etherboot</application>.</para>
|
||||
|
||||
<para>Pour notre configuration nous utiliserons une disquette
|
||||
de démarrage. Pour d'autres méthodes (PROM,
|
||||
ou un programme &ms-dos;), consultez la documentation
|
||||
d'<application>Etherboot</application>.</para>
|
||||
|
||||
<para>Pour créer une disquette de démarrage,
|
||||
insérez une disquette dans le lecteur de la machine
|
||||
où vous avez installé
|
||||
<application>Etherboot</application>, puis rendez-vous dans
|
||||
le répertoire <filename
|
||||
role="directory">src</filename> de l'arborescence
|
||||
<application>Etherboot</application> et tapez:</para>
|
||||
|
||||
<screen>
|
||||
&prompt.root; <userinput>gmake bin32/<replaceable>devicetype</replaceable>.fd0</userinput></screen>
|
||||
|
||||
<para><replaceable>devicetype</replaceable> dépend du
|
||||
type de carte Ethernet se trouvant dans la station de
|
||||
travail sans disque dur. Référez-vous au
|
||||
fichier <filename>NIC</filename> dans le même
|
||||
répertoire pour déterminer la valeur
|
||||
<replaceable>devicetype</replaceable> correcte.</para>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Démarrer avec <acronym>PXE</acronym></title>
|
||||
|
||||
<para>Par défaut le chargeur &man.pxeboot.8; charge le
|
||||
noyau via <acronym>NFS</acronym>. Il peut être
|
||||
compilé pour utiliser <acronym>TFTP</acronym>
|
||||
à la place en spécifiant l'option
|
||||
<literal>LOADER_TFTP_SUPPORT</literal> dans le fichier
|
||||
<filename>/etc/make.conf</filename>. Lisez les commentaires
|
||||
dans le fichier <filename>/etc/defaults/make.conf</filename>
|
||||
(ou <filename>/usr/share/examples/etc/make.conf</filename>
|
||||
pour les systèmes 5.X) pour plus de
|
||||
détails.</para>
|
||||
|
||||
<para>Il existe deux autres options de
|
||||
<filename>make.conf</filename> non-documentées qui
|
||||
peuvent être utiles pour la configuration d'une
|
||||
machine faisant fonction de console série sans disque
|
||||
dur: <literal>BOOT_PXELDR_PROBE_KEYBOARD</literal>, et
|
||||
<literal>BOOT_PXELDR_ALWAYS_SERIAL</literal> (cette
|
||||
dernière n'existe que sous &os; 5.X).</para>
|
||||
|
||||
<para>Pour utiliser <acronym>PXE</acronym> quand la machine
|
||||
démarre, vous aurez normalement besoin de
|
||||
sélectionner l'option <literal>Boot from
|
||||
network</literal> dans votre <acronym>BIOS</acronym>, ou
|
||||
d'appuyer sur une touche de fonction lors de
|
||||
l'initialisation du PC.</para>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Configuration des serveurs <acronym>TFTP</acronym> et
|
||||
<acronym>NFS</acronym></title>
|
||||
|
||||
<indexterm>
|
||||
<primary>TFTP</primary>
|
||||
<secondary>système sans disque dur</secondary>
|
||||
</indexterm>
|
||||
<indexterm>
|
||||
<primary>NFS</primary>
|
||||
<secondary>système sans disque dur</secondary>
|
||||
</indexterm>
|
||||
|
||||
<para>Si vous utilisez <acronym>PXE</acronym> ou
|
||||
<application>Etherboot</application> configurés pour
|
||||
employer <acronym>TFTP</acronym>, vous devez activer
|
||||
<application>tftpd</application> sur le serveur de
|
||||
fichier:</para>
|
||||
|
||||
<procedure>
|
||||
<step>
|
||||
<para>Créez un répertoire à partir
|
||||
duquel <application>tftpd</application> proposera les
|
||||
fichiers, e.g. <filename
|
||||
role="directory">/tftpboot</filename>.</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Ajoutez la ligne suivante à votre fichier
|
||||
<filename>/etc/inetd.conf</filename>:</para>
|
||||
|
||||
<programlisting>tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -s /tftpboot</programlisting>
|
||||
|
||||
<note>
|
||||
<para>Il apparaît que certaines versions de
|
||||
<acronym>PXE</acronym> veulent la version
|
||||
<acronym>TCP</acronym> de <acronym>TFTP</acronym>.
|
||||
Dans ce cas, ajoutez une seconde ligne, en
|
||||
remplaçant <literal>dgram udp</literal> par
|
||||
<literal>stream tcp</literal>.</para>
|
||||
</note>
|
||||
</step>
|
||||
<step>
|
||||
<para>Demandez à <application>inetd</application>
|
||||
de relire son fichier de configuration:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>kill -HUP `cat /var/run/inetd.pid`</userinput></screen>
|
||||
</step>
|
||||
</procedure>
|
||||
|
||||
<para>Le répertoire <filename
|
||||
role="directory">tftpboot</filename> peut être
|
||||
placé n'importe où sur le serveur.
|
||||
Assurez-vous que son emplacement est défini dans les
|
||||
fichiers <filename>inetd.conf</filename> et
|
||||
<filename>dhcpd.conf</filename>.</para>
|
||||
|
||||
<para>Dans tous les cas, vous devez également activer
|
||||
<acronym>NFS</acronym> et exporter le système de
|
||||
fichiers approprié sur le serveur
|
||||
<acronym>NFS</acronym>.</para>
|
||||
|
||||
<procedure>
|
||||
<step>
|
||||
<para>Ajoutez ce qui suit au fichier
|
||||
<filename>/etc/rc.conf</filename>:</para>
|
||||
|
||||
<programlisting>nfs_server_enable="YES"</programlisting>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Exportez le système de fichiers contenant le
|
||||
répertoire racine du système sans disque dur
|
||||
en ajoutant ce qui suit au fichier
|
||||
<filename>/etc/exports</filename> (ajustez le point de
|
||||
montage et remplacez <replaceable>margaux
|
||||
corbieres</replaceable> avec les noms des stations de
|
||||
travail sans disque dur):</para>
|
||||
|
||||
<programlisting><replaceable>/data/misc</replaceable> -alldirs -ro <replaceable>margaux corbieres</replaceable></programlisting>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Demandez à <application>mountd</application>
|
||||
de relire son fichier de configuration. Si vous avez eu
|
||||
besoin d'activer <acronym>NFS</acronym> dans
|
||||
<filename>/etc/rc.conf</filename> lors du premier point,
|
||||
vous voudrez probablement plutot redémarrer la
|
||||
machine.</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>kill -HUP `cat /var/run/mountd.pid`</userinput></screen>
|
||||
</step>
|
||||
</procedure>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Compilation d'un noyau pour système sans disque
|
||||
dur</title>
|
||||
|
||||
<indexterm>
|
||||
<primary>système sans disque dur</primary>
|
||||
<secondary>configuration du noyau</secondary>
|
||||
</indexterm>
|
||||
|
||||
<para>Si vous utilisez <application>Etherboot</application>,
|
||||
vous devez créer un fichier de configuration du noyau
|
||||
pour le client sans disque dur avec les options suivantes
|
||||
(en plus des options habituelles):</para>
|
||||
|
||||
<programlisting>
|
||||
options BOOTP # Use BOOTP to obtain IP address/hostname
|
||||
options BOOTP_NFSROOT # NFS mount root filesystem using BOOTP info
|
||||
</programlisting>
|
||||
|
||||
<para>Vous pouvez vouloir également employer les
|
||||
options <literal>BOOTP_NFSV3</literal>,
|
||||
<literal>BOOT_COMPAT</literal> et
|
||||
<literal>BOOTP_WIRED_TO</literal> (réferez-vous au
|
||||
fichier <filename>LINT</filename> sous 4.X ou
|
||||
<filename>NOTES</filename> sous 5.X).</para>
|
||||
|
||||
<para>Les noms de ces options sont historiques et
|
||||
légèrement trompeur comme elles activent
|
||||
indifférement l'utilisation de
|
||||
<acronym>DHCP</acronym> et BOOTP dans le noyau (il est
|
||||
également possible de forcer une utilisation stricte
|
||||
de BOOTP ou <acronym>DHCP</acronym>).</para>
|
||||
|
||||
<para>Compilez le noyau (voir <xref linkend="kernelconfig">),
|
||||
et copiez-le à l'emplacement indiqué dans
|
||||
<filename>dhcpd.conf</filename>.</para>
|
||||
|
||||
<note>
|
||||
<para>Quand on utilise <acronym>PXE</acronym>, la
|
||||
compilation d'un noyau avec les options
|
||||
précédentes n'est pas strictement
|
||||
nécessaire (bien que conseillé). Les activer
|
||||
causera un plus grand nombre de requêtes
|
||||
<acronym>DHCP</acronym> générées lors
|
||||
du démarrage du noyau, avec un petit risque
|
||||
d'inconsistence entre les nouvelles valeurs et celles
|
||||
récupérées par &man.pxeboot.8; dans
|
||||
certains cas particuliers. L'avantage de leur utilisation
|
||||
est que le nom de la machine sera forcément
|
||||
défini. Sinon vous devrez définir le nom de
|
||||
la machine par une autre méthode, par exemple dans un
|
||||
fichier <filename>rc.conf</filename> particulier au
|
||||
client.</para>
|
||||
</note>
|
||||
|
||||
<note>
|
||||
<para>Afin d'être chargeable par
|
||||
<application>Etherboot</application>, un noyau 5.X doit
|
||||
être compilé avec les “device
|
||||
hints”. Vous définirez normalement l'option
|
||||
suivante dans le fichier de configuration (voir le fichier
|
||||
de commentaires sur la configuration:
|
||||
<filename>NOTES</filename>):</para>
|
||||
|
||||
<programlisting>hints "GENERIC.hints"</programlisting>
|
||||
</note>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Préparer le système de fichiers
|
||||
racine</title>
|
||||
|
||||
<indexterm>
|
||||
<primary>système de fichiers racine</primary>
|
||||
<secondary>système sans disque dur</secondary>
|
||||
</indexterm>
|
||||
|
||||
<para>Vous devez créer un système de fichiers
|
||||
racine pour les stations de travail sans disque dur,
|
||||
à l'emplacement défini par
|
||||
<literal>root-path</literal> dans le fichier
|
||||
<filename>dhcpd.conf</filename>. Les sections suivantes
|
||||
décrivent deux manières de le faire.</para>
|
||||
|
||||
<sect4>
|
||||
<title>Utilisation de la procédure
|
||||
<filename>clone_root</filename></title>
|
||||
|
||||
<para>C'est la méthode la plus rapide pour
|
||||
créer un système de fichiers racine, mais
|
||||
elle est, pour le moment, uniquement supportée sous
|
||||
&os; 4.X.. Cette procédure est située
|
||||
à l'emplacement
|
||||
<filename>/usr/share/examples/diskless/clone_root</filename>
|
||||
et demande quelques modifications, pour au moins ajuster
|
||||
l'emplacement du système de fichiers à
|
||||
créer (la variable <literal>DEST</literal>).</para>
|
||||
|
||||
<para>Référez-vous aux commentaires
|
||||
situés en début de la procédure pour
|
||||
information. Ils expliquent comment le système de
|
||||
fichiers de base est construit, et comment les fichiers
|
||||
peuvent être remplacés de façon
|
||||
sélective par des versions spécifiques
|
||||
à un fonctionnement sans disque dur, ou à un
|
||||
sous-réseau, ou encore à une station de
|
||||
travail particulière. Ils donnent également
|
||||
des exemples de fichiers <filename>/etc/fstab</filename>
|
||||
et <filename>/etc/rc.conf</filename> pour un
|
||||
fonctionnement sans disque dur.</para>
|
||||
|
||||
<para>Les fichiers <filename>README</filename> dans le
|
||||
répertoire <filename
|
||||
role="directory">/usr/share/examples/diskless</filename>
|
||||
contiennent beaucoup d'information de fond, mais, avec les
|
||||
autres exemples du répertoire <filename
|
||||
role="directory">diskless</filename>, ils documentent une
|
||||
méthode de configuration qui est distincte de celle
|
||||
utilisée par <filename>clone_root</filename> et les
|
||||
procédures de démarrage du système de
|
||||
<filename role="directory">/etc</filename>, ce qui est un
|
||||
peu à l'origine de confusions. Utilisez-les comme
|
||||
référence uniquement, à moins que
|
||||
vous préfériez la méthode qu'ils
|
||||
décrivent, dans quel cas vous devrez modifier les
|
||||
procédures <filename>rc</filename>.</para>
|
||||
</sect4>
|
||||
|
||||
<sect4>
|
||||
<title>Utilisation de la procédure <command>make
|
||||
world</command> standard</title>
|
||||
|
||||
<para>Cette méthode s'applique aussi bien à
|
||||
&os; 4.X qu'à &os; 5.X et installera un
|
||||
système complet (et non pas uniquement le
|
||||
système de fichiers racine) dans le
|
||||
répertoire défini par
|
||||
<envar>DESTDIR</envar>. Tout ce dont vous avez besoin de
|
||||
faire est d'exécuter la procédure
|
||||
suivante:</para>
|
||||
|
||||
<programlisting>#!/bin/sh
|
||||
export DESTDIR=/data/misc/diskless
|
||||
mkdir -p ${DESTDIR}
|
||||
cd /usr/src; make world && make kernel
|
||||
cd /usr/src/etc; make distribution</programlisting>
|
||||
|
||||
<para>Une fois cela terminé, vous devrez personaliser
|
||||
vos fichiers <filename>/etc/rc.conf</filename> et
|
||||
<filename>/etc/fstab</filename> situés dans
|
||||
<envar>DESTDIR</envar> en fonction de vos besoins.</para>
|
||||
</sect4>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Configuration de l'espace de pagination</title>
|
||||
|
||||
<para>Si nécessaire, un fichier de pagination
|
||||
situé sur le serveur peut être utilisé
|
||||
via <acronym>NFS</acronym>. Une des méthodes
|
||||
couramment utilisées pour cela n'est plus
|
||||
supportée sous 5.X.</para>
|
||||
|
||||
<sect4>
|
||||
<title>Pagination via <acronym>NFS</acronym> sous
|
||||
&os; 4.X</title>
|
||||
|
||||
<para>L'emplacement et la taille du fichier de pagination
|
||||
peuvent être spécifiés avec les
|
||||
options BOOTP/<acronym>DHCP</acronym> 128 et 129
|
||||
spécifiques à &os;. Des exemples de
|
||||
fichiers de configuration pour <application>ISC DHCP
|
||||
3.0</application> ou <application>bootpd</application>
|
||||
suivent:</para>
|
||||
|
||||
<procedure>
|
||||
<step>
|
||||
<para>Ajoutez les lignes suivantes au fichier
|
||||
<filename>dhcpd.conf</filename>:</para>
|
||||
|
||||
<programlisting>
|
||||
# Global section
|
||||
option swap-path code 128 = string;
|
||||
option swap-size code 129 = integer 32;
|
||||
|
||||
host margaux {
|
||||
... # Standard lines, see above
|
||||
option swap-path <replaceable>"192.168.4.4:/netswapvolume/netswap"</replaceable>;
|
||||
option swap-size <replaceable>64000</replaceable>;
|
||||
}
|
||||
</programlisting>
|
||||
|
||||
<para><literal>swap-path</literal> est le chemin
|
||||
d'accès vers un répertoire où les
|
||||
fichiers de pagination sont situés. Chaque
|
||||
fichier sera nommé
|
||||
<filename>swap.<replaceable>ip-client</replaceable></filename>.</para>
|
||||
|
||||
<para>Les anciennes version de
|
||||
<application>dhcpd</application> utilisaient une
|
||||
syntaxe du type <literal>option option-128
|
||||
"...</literal>, qui n'est plus
|
||||
supportée.</para>
|
||||
|
||||
<para><filename>/etc/bootptab</filename> utiliserait la
|
||||
syntaxe suivante à la place:</para>
|
||||
|
||||
<programlisting>T128="192.168.4.4:/netswapvolume/netswap":T129=0000fa00</programlisting>
|
||||
|
||||
<note>
|
||||
<para>Dans le fichier
|
||||
<filename>/etc/bootptab</filename>, la taille de
|
||||
l'espace de pagination doit être exprimée
|
||||
en hexadécimal.</para>
|
||||
</note>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Sur le serveur du fichier de pagination
|
||||
par <acronym>NFS</acronym>, créez le(s)
|
||||
fichier(s) de pagination:</para>
|
||||
|
||||
<screen>
|
||||
&prompt.root; <userinput>mkdir <replaceable>/netswapvolume/netswap</replaceable></userinput>
|
||||
&prompt.root; <userinput>cd <replaceable>/netswapvolume/netswap</replaceable></userinput>
|
||||
&prompt.root; <userinput>dd if=/dev/zero bs=1024 count=<replaceable>64000</replaceable> of=swap.<replaceable>192.168.4.6</replaceable></userinput>
|
||||
&prompt.root; <userinput>chmod 0600 swap.<replaceable>192.168.4.6</replaceable></userinput></screen>
|
||||
|
||||
<para><replaceable>192.168.4.6</replaceable> est
|
||||
l'adresse IP du client sans disque dur.</para>
|
||||
</step>
|
||||
|
||||
<step>
|
||||
<para>Sur le serveur du fichier de pagination par
|
||||
<acronym>NFS</acronym>, ajoutez la ligne suivante au
|
||||
fichier <filename>/etc/exports</filename>:</para>
|
||||
|
||||
<programlisting>
|
||||
<replaceable>/netswapvolume</replaceable> -maproot=0:10 -alldirs <replaceable>margaux corbieres</replaceable>
|
||||
</programlisting>
|
||||
|
||||
<para>Ensuite demandez à
|
||||
<application>mountd</application> à relire le
|
||||
fichier <filename>exports</filename>, comme plus
|
||||
haut.</para>
|
||||
</step>
|
||||
</procedure>
|
||||
</sect4>
|
||||
|
||||
<sect4>
|
||||
<title>Pagination via <acronym>NFS</acronym> sous
|
||||
&os 5.X</title>
|
||||
|
||||
<para>Le noyau ne supporte pas l'activation de la pagination
|
||||
par <acronym>NFS</acronym> au démarrage. L'espace
|
||||
de pagination doit être activé par les
|
||||
procédures de démarrage, en montant un
|
||||
système de fichiers accessible en écriture
|
||||
et en créant et en activant un fichier de
|
||||
pagination. Pour créer un fichier de pagination de
|
||||
la taille appropriée, vous pouvez effectuer ce qui
|
||||
suit:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>dd if=/dev/zero of=<replaceable>/path/to/swapfile</replaceable> bs=1k count=1 oseek=<replaceable>100000</replaceable></userinput></screen>
|
||||
|
||||
<para>Pour ensuite l'activer, vous devez ajouter la ligne
|
||||
suivante à votre fichier
|
||||
<filename>rc.conf</filename>:</para>
|
||||
|
||||
<programlisting>swapfile=<replaceable>/path/to/swapfile</replaceable></programlisting>
|
||||
</sect4>
|
||||
</sect3>
|
||||
|
||||
<sect3>
|
||||
<title>Problèmes divers</title>
|
||||
|
||||
<sect4>
|
||||
<title>Utilisation d'un <filename>/usr</filename> en lecture
|
||||
seule</title>
|
||||
|
||||
<indexterm>
|
||||
<primary>système sans disque dur</primary>
|
||||
<secondary>/usr en lecture seule</secondary>
|
||||
</indexterm>
|
||||
|
||||
<para>Si la station de travail sans disque dur est
|
||||
configurée pour exécuter X, you devrez
|
||||
ajuster le fichier de configuration de
|
||||
<application>XDM</application>, qui envoie le journal
|
||||
d'erreurs sur <filename role="directory">/usr</filename>
|
||||
par défaut.</para>
|
||||
</sect4>
|
||||
|
||||
<sect4>
|
||||
<title>Utilisation d'un serveur non-&os;</title>
|
||||
|
||||
<para>Quand le serveur pour le système de fichiers
|
||||
racine ne fait pas tourner &os;, vous devrez créer
|
||||
le système de fichiers racine sur une machine &os;,
|
||||
puis le copier vers sa destination en utilisant
|
||||
<command>tar</command> ou <command>cpio</command>.</para>
|
||||
|
||||
<para>Dans cette situation, il y a parfois des
|
||||
problèmes avec les fichiers spéciaux de
|
||||
périphériques dans <filename
|
||||
role="directory">/dev</filename>, en raison de
|
||||
différences de taille sur les entiers. Une
|
||||
solution à ce problème est d'exporter un
|
||||
répertoire à partir du serveur non-&os;, de
|
||||
monter ce répertoire sur une machine &os;, et
|
||||
exécuter <command>MAKEDEV</command> sur la machine
|
||||
&os; pour créer les entrées de
|
||||
périphériques correctes (&os; 5.X et
|
||||
les versions suivantes utilisent &man.devfs.5; pour
|
||||
l'allocation des fichiers spéciaux de
|
||||
périphériques de manière transparente
|
||||
pour l'utilisateur, exécuter
|
||||
<command>MAKEDEV</command> sur ces versions est
|
||||
inutile).</para>
|
||||
</sect4>
|
||||
</sect3>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="network-isdn">
|
||||
|
|
Loading…
Reference in a new issue