Add a new translated section (NFS).
This commit is contained in:
parent
6996509d40
commit
3198ad90a0
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=21189
1 changed files with 656 additions and 2 deletions
|
@ -1539,8 +1539,662 @@ net.link.ether.bridge.ipfw=1</programlisting>
|
|||
</sect1>
|
||||
|
||||
<sect1 id="network-nfs">
|
||||
<title>NFS ** Traduction en Cours **</title>
|
||||
<para></para>
|
||||
<sect1info>
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>Tom</firstname>
|
||||
<surname>Rhodes</surname>
|
||||
<contrib>Réorganisé et augmenté par </contrib>
|
||||
</author>
|
||||
</authorgroup>
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>Bill</firstname>
|
||||
<surname>Swingle</surname>
|
||||
<contrib>Ecrit par </contrib>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</sect1info>
|
||||
<title>NFS</title>
|
||||
|
||||
<indexterm><primary>NFS</primary></indexterm>
|
||||
<para>Parmi les différents systèmes de fichiers que
|
||||
&os; supporte se trouve le système de fichiers
|
||||
réseaux, connu sous le nom de <acronym>NFS</acronym>.
|
||||
<acronym>NFS</acronym> permet à un système de
|
||||
partager des répertoires et des fichiers avec d'autres
|
||||
systèmes par l'intermédiaire d'un réseau. En
|
||||
utilisant <acronym>NFS</acronym>, les utilisateurs et les
|
||||
programmes peuvent accéder aux fichiers sur des
|
||||
systèmes distants comme s'ils étaient des fichiers
|
||||
locaux.</para>
|
||||
|
||||
<para>Certains des avantages les plus remarquables offerts par
|
||||
<acronym>NFS</acronym> sont:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Les stations de travail utilisent moins d'espace disque
|
||||
en local parce que les données utilisées en
|
||||
commun peuvent être stockées sur une seule
|
||||
machine tout en restant accessibles aux autres machines sur le
|
||||
réseau.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Les utilisateurs n'ont pas besoin d'avoir un
|
||||
répertoire personnel sur chaque machine du
|
||||
réseau. Les répertoires personnels pourront se
|
||||
trouver sur le serveur <acronym>NFS</acronym> et seront
|
||||
disponibles par l'intermédiaire du
|
||||
réseau.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Les périphériques de stockage comme les
|
||||
lecteurs de disquettes, de CDROM, de disquettes ZIP peuvent
|
||||
être utilisés par d'autres machines sur le
|
||||
réseau. Cela pourra réduire le nombre de
|
||||
lecteurs de medias amovibles sur le réseau.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<sect2>
|
||||
<title>Comment <acronym>NFS</acronym> fonctionne</title>
|
||||
|
||||
<para><acronym>NFS</acronym> consiste en deux
|
||||
éléments principaux: un serveur et un ou
|
||||
plusieurs clients. Le client accède à distance
|
||||
aux données stockées sur la machine serveur.
|
||||
Afin que tout cela fonctionne correctement quelques processus
|
||||
doivent être configurés et en
|
||||
fonctionnement.</para>
|
||||
|
||||
<note><para>Avec &os; 5.X, l'utilitaire
|
||||
<application>portmap</application> a été
|
||||
remplacé par <application>rpcbind</application>. Aussi
|
||||
sous &os; 5.X l'utilisateur doit remplacer chaque
|
||||
instance de <application>portmap</application> avec
|
||||
<application>rpcbind</application> dans les exemples qui
|
||||
suivent.</para></note>
|
||||
|
||||
<para>Sur le serveur, les “daemons” suivants
|
||||
doivent tourner:</para>
|
||||
<indexterm>
|
||||
<primary>NFS</primary>
|
||||
<secondary>serveur</secondary>
|
||||
</indexterm>
|
||||
<indexterm>
|
||||
<primary><application>portmap</application></primary>
|
||||
</indexterm>
|
||||
<indexterm>
|
||||
<primary><application>mountd</application></primary>
|
||||
</indexterm>
|
||||
<indexterm>
|
||||
<primary><application>nfsd</application></primary>
|
||||
</indexterm>
|
||||
|
||||
<informaltable frame="none">
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Daemon</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><application>nfsd</application></entry>
|
||||
<entry>Le “daemon” <acronym>NFS</acronym>
|
||||
qui répond aux requêtes des clients
|
||||
<acronym>NFS</acronym>.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><application>mountd</application></entry>
|
||||
<entry>Le “daemon” de montage
|
||||
<acronym>NFS</acronym> qui traite les requêtes que
|
||||
lui passe &man.nfsd.8;.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><application>portmap</application></entry>
|
||||
<entry>Le “daemon portmapper” permet aux
|
||||
clients <acronym>NFS</acronym> de trouver le port que
|
||||
le serveur <acronym>NFS</acronym> utilise.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable>
|
||||
|
||||
<para>Le client peut également faire tourner un
|
||||
“daemon” connu sous le nom de
|
||||
<application>nfsiod</application>. Le “daemon”
|
||||
<application>nfsiod</application> traite les requêtes en
|
||||
provenance du serveur <acronym>NFS</acronym>. Ceci est
|
||||
optionnel, et améliore les performances, mais n'est pas
|
||||
indispensable pour une utilisation normale et correcte.
|
||||
Consultez la page de manuel &man.nfsiod.8; pour plus
|
||||
d'informations.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="network-configuring-nfs">
|
||||
<title>Configurer <acronym>NFS</acronym></title>
|
||||
<indexterm>
|
||||
<primary>NFS</primary>
|
||||
<secondary>configuration</secondary>
|
||||
</indexterm>
|
||||
|
||||
<para>La configuration de <acronym>NFS</acronym> est une
|
||||
opération relativement directe. Les processus qui
|
||||
doivent tourner peuvent tous être lancés au
|
||||
démarrage en modifiant légèrement votre
|
||||
fichier <filename>/etc/rc.conf</filename>.</para>
|
||||
|
||||
<para>Sur le serveur <acronym>NFS</acronym>, assurez-vous que
|
||||
les options suivantes sont configurées dans le fichier
|
||||
<filename>/etc/rc.conf</filename>:</para>
|
||||
|
||||
<programlisting>portmap_enable="YES"
|
||||
nfs_server_enable="YES"
|
||||
mountd_flags="-r"</programlisting>
|
||||
|
||||
<para><application>mountd</application> est automatiquement
|
||||
exécuté dès que le serveur
|
||||
<acronym>NFS</acronym> est activé.</para>
|
||||
|
||||
<para>Sur le client, assurez-vous que cette option est
|
||||
présente dans le fichier
|
||||
<filename>/etc/rc.conf</filename>:</para>
|
||||
|
||||
<programlisting>nfs_client_enable="YES"</programlisting>
|
||||
|
||||
<para>Le fichier <filename>/etc/exports</filename> indique quels
|
||||
systèmes de fichiers <acronym>NFS</acronym> devraient
|
||||
être exportés (parfois on utilise le terme de
|
||||
“partagés”). Chaque ligne dans
|
||||
<filename>/etc/exports</filename> précise un
|
||||
système de fichiers à exporter et quelles
|
||||
machines auront accès à ce système de
|
||||
fichiers. En plus des machines qui auront accès, des
|
||||
options d'accès peuvent également être
|
||||
présentes. Ces options sont nombreuses mais seules
|
||||
quelques unes seront abordées ici. Vous pouvez
|
||||
aisément découvrir d'autres options en lisant la
|
||||
page de manuel &man.exports.5;.</para>
|
||||
|
||||
<para>Voici quelques exemples d'entrées du fichier
|
||||
<filename>/etc/exports</filename>:</para>
|
||||
|
||||
<indexterm>
|
||||
<primary>NFS</primary>
|
||||
<secondary>exemples d'exportation</secondary>
|
||||
</indexterm>
|
||||
|
||||
<para>Les exemples suivants donnent une idée de comment
|
||||
exporter des systèmes de fichiers bien que certains
|
||||
paramètres peuvent être différents en
|
||||
fonction de votre environnement et votre configuration
|
||||
réseau. Par exemple, pour exporter le
|
||||
répertoire <filename role="directory">/cdrom</filename>
|
||||
pour les trois machines d'exemple qui appartiennent au
|
||||
même domaine que le serveur (d'où l'absence du
|
||||
nom de domaine pour chacune d'entre elles) ou qui ont une
|
||||
entrée dans votre fichier
|
||||
<filename>/etc/hosts</filename>. Le paramètre
|
||||
<option>-ro</option> limite l'accès en lecture seule au
|
||||
système de fichiers exporté. Avec ce
|
||||
paramètre, le système distant ne pourra pas
|
||||
écrire sur le système de fichiers
|
||||
exporté.</para>
|
||||
|
||||
<programlisting>/cdrom -ro host1 host2 host3</programlisting>
|
||||
|
||||
<para>La ligne suivante exporte <filename
|
||||
role="directory">/home</filename> pour les trois machines en
|
||||
utilisant les adresses IP. C'est une configuration utile si
|
||||
vous disposez d'un réseau privé sans serveur
|
||||
<acronym>DNS</acronym> configuré. Le fichier
|
||||
<filename>/etc/hosts</filename> pourrait éventuellement
|
||||
être configuré pour les noms de machines
|
||||
internes, consultez la page de manuel &man.hosts.5; pour plus
|
||||
d'information. Le paramètre <option>-alldirs</option>
|
||||
autorise l'utilisation des sous-répertoires en tant que
|
||||
point de montage. En d'autres termes, il ne montera pas les
|
||||
sous-répertoires mais autorisera le client à ne
|
||||
monter que les répertoires qui sont nécessaires
|
||||
ou désirés.</para>
|
||||
|
||||
<programlisting>/home -alldirs 10.0.0.2 10.0.0.3 10.0.0.4</programlisting>
|
||||
|
||||
<para>La ligne suivante exporte <filename
|
||||
role="directory">/a</filename> pour que deux clients d'un
|
||||
domaine différent puissent y accéder. Le
|
||||
paramètre <option>-maproot=root</option> autorise
|
||||
l'utilisateur <username>root</username> du système
|
||||
distant à écrire des données sur le
|
||||
système de fichiers exporté en tant que
|
||||
<username>root</username>. Si le paramètre
|
||||
<literal>-maproot=root</literal> n'est pas
|
||||
précisé, même si un utilisateur dispose
|
||||
d'un accès <username>root</username> sur le
|
||||
système distant, il ne pourra pas modifier de fichiers
|
||||
sur le système de fichiers exporté.</para>
|
||||
|
||||
<programlisting>/a -maproot=root host.example.com box.example.org</programlisting>
|
||||
|
||||
<para>Afin de pouvoir accéder à un système
|
||||
de fichiers exporté, le client doit avoir les
|
||||
permissions de le faire. Assurez-vous que le client est
|
||||
mentionné dans votre fichier
|
||||
<filename>/etc/exports</filename>.</para>
|
||||
|
||||
<para>Dans <filename>/etc/exports</filename>, chaque ligne
|
||||
représente l'information d'exportation d'un
|
||||
système de fichiers vers une machine. Une machine
|
||||
distante ne peut être spécifiée qu'une
|
||||
fois par système de fichiers, et ne devrait avoir
|
||||
qu'une seule entrée par défaut. Par exemple,
|
||||
supposons que <filename role="directory">/usr</filename> soit
|
||||
un seul système de fichiers. Le fichier
|
||||
<filename>/etc/exports</filename> suivant serait
|
||||
invalide:</para>
|
||||
|
||||
<programlisting>/usr/src client
|
||||
/usr/ports client</programlisting>
|
||||
|
||||
<para>Un système de fichiers,
|
||||
<filename role="directory">/usr</filename>, a deux lignes
|
||||
précisant des exportations vers la même machine,
|
||||
<hostid>client</hostid>. Le format correct pour une telle
|
||||
situation est:</para>
|
||||
|
||||
<programlisting>/usr/src /usr/ports client</programlisting>
|
||||
|
||||
<para>Les propriétes d'un système de fichiers
|
||||
exporté vers une machine donnée devraient
|
||||
apparaître sur une ligne. Les lignes sans client sont
|
||||
traitées comme destinée à une seule
|
||||
machine. Cela limite la manière dont vous pouvez
|
||||
exporter les systèmes de fichiers, mais pour la plupart
|
||||
des gens cela n'est pas un problème.</para>
|
||||
|
||||
<para>Ce qui suit est un exemple de liste d'exportation valide,
|
||||
où les répertoires <filename
|
||||
role="directory">/usr</filename> et <filename
|
||||
role="directory">/exports</filename> sont des systèmes
|
||||
de fichiers locaux:</para>
|
||||
|
||||
<programlisting># Exporte src et ports vers client01 et client02, mais seul
|
||||
# client01 dispose des privilèges root dessus
|
||||
/usr/src /usr/ports -maproot=root client01
|
||||
/usr/src /usr/ports client02
|
||||
# Les machines clientes ont les privilèges root et peuvent monter tout
|
||||
# de /exports. N'importe qui peut monter en lecture seule
|
||||
# /exports/obj
|
||||
/exports -alldirs -maproot=root client01 client02
|
||||
/exports/obj -ro</programlisting>
|
||||
|
||||
<para>Vous devez relancer <application>mountd</application>
|
||||
à chaque fois que vous modifiez
|
||||
<filename>/etc/exports</filename> pour que les changements
|
||||
puissent prendre effet. Cela peut être effectué
|
||||
en envoyant le signal HUP au processus
|
||||
<application>mountd</application>:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>kill -HUP `cat /var/run/mountd.pid`</userinput></screen>
|
||||
|
||||
<para>De plus, un redémarrage permettra à &os; de
|
||||
tout configurer proprement. Un redémarrage n'est
|
||||
cependant pas nécéssaire. Exécuter les
|
||||
commandes suivantes en tant que <username>root</username>
|
||||
devrait mettre en place ce qui est nécessaire.</para>
|
||||
|
||||
<para>Sur le serveur <acronym>NFS</acronym>:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>portmap</userinput>
|
||||
&prompt.root; <userinput>nfsd -u -t -n 4</userinput>
|
||||
&prompt.root; <userinput>mountd -r</userinput></screen>
|
||||
|
||||
<para>Sur le client <acronym>NFS</acronym>:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>nfsiod -n 4</userinput></screen>
|
||||
|
||||
<para>Maintenant il devrait être possible de monter un
|
||||
système de fichiers distant. Dans nos exemples le nom
|
||||
du serveur sera <hostid>serveur</hostid> et le nom du client
|
||||
<hostid>client</hostid>. Si vous voulez monter temporairement
|
||||
un système de fichiers distant ou vous voulez
|
||||
simplement tester la configuration, exécutez juste une
|
||||
commande comme celle-ci en tant que <username>root</username>
|
||||
sur le client:</para>
|
||||
<indexterm>
|
||||
<primary>NFS</primary>
|
||||
<secondary>montage</secondary>
|
||||
</indexterm>
|
||||
|
||||
<screen>&prompt.root; <userinput>mount serveur:/home /mnt</userinput></screen>
|
||||
|
||||
<para>Cela montera le répertoire <filename
|
||||
role="directory">/home</filename> situé sur le serveur
|
||||
au point <filename role="directory">/mnt</filename> sur le
|
||||
client. Si tout est correctement configuré vous
|
||||
devriez être en mesure d'entrer dans le
|
||||
répertoire <filename role="directory">/mnt</filename>
|
||||
sur le client et de voir tous les fichiers qui sont sur le
|
||||
serveur.</para>
|
||||
|
||||
<para>Si vous désirez monter automatiquement un
|
||||
système de fichiers distant à chaque
|
||||
démarrage de l'ordinateur, ajoutez le système de
|
||||
fichiers au fichier <filename>/etc/fstab</filename>. Voici un
|
||||
exemple:</para>
|
||||
|
||||
<programlisting>server:/home /mnt nfs rw 0 0</programlisting>
|
||||
|
||||
<para>La page de manuel &man.fstab.5; liste toutes les options
|
||||
disponibles.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Exemples pratiques d'utilisation</title>
|
||||
|
||||
<para>Il existe de nombreuses applications pratiques de
|
||||
<acronym>NFS</acronym>. Les plus communes sont
|
||||
présentés ci-dessous:</para>
|
||||
|
||||
<indexterm>
|
||||
<primary>NFS</primary>
|
||||
<secondary>utilisations</secondary>
|
||||
</indexterm>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Configurer plusieurs machines pour partager un CDROM
|
||||
ou un autre médium. C'est moins cher et souvent une
|
||||
méthode plus pratique pour installer des logiciels
|
||||
sur de multiples machines.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Sur les réseaux importants, il peut être
|
||||
plus pratique de configurer un serveur
|
||||
<acronym>NFS</acronym> central sur lequel tous les
|
||||
répertoires utilisateurs sont stockés. Ces
|
||||
répertoires utilisateurs peuvent alors être
|
||||
exportés vers le réseau, les utilisateurs
|
||||
devraient alors toujours avoir le même
|
||||
répertoire utilisateur indépendamment de la
|
||||
station de travail sur laquelle ils ouvrent une
|
||||
session.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Plusieurs machines pourront avoir un répertoire
|
||||
<filename role="directory">/usr/ports/distfiles</filename>
|
||||
commun. De cette manière, quand vous avez besoin
|
||||
d'installer un logiciel porté sur plusieurs machines,
|
||||
vous pouvez accéder rapidement aux sources sans les
|
||||
télécharger sur chaque machine.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="network-amd">
|
||||
<sect2info>
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>Wylie</firstname>
|
||||
<surname>Stilwell</surname>
|
||||
<contrib>Contribution de </contrib>
|
||||
</author>
|
||||
</authorgroup>
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>Chern</firstname>
|
||||
<surname>Lee</surname>
|
||||
<contrib>Réécrit par </contrib>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</sect2info>
|
||||
<title>Montages automatiques avec
|
||||
<application>amd</application></title>
|
||||
|
||||
<indexterm><primary>amd</primary></indexterm>
|
||||
<indexterm><primary>daemon de montage
|
||||
automatique</primary></indexterm>
|
||||
|
||||
<para>&man.amd.8; (“automatic mounter
|
||||
daemon”—“daemon” de montage
|
||||
automatique) monte automatiquement un système de
|
||||
fichiers distant dès que l'on accède à un
|
||||
fichier ou un répertoire contenu par ce système
|
||||
de fichiers. Les systèmes de fichiers qui sont
|
||||
inactifs pendant une certaine période seront
|
||||
automatiquement démontés par
|
||||
<application>amd</application>. L'utilisation
|
||||
d'<application>amd</application> offre une alternative simple
|
||||
aux montages permanents qui sont généralement
|
||||
listés dans <filename>/etc/fstab</filename>.</para>
|
||||
|
||||
<para><application>amd</application> opère en s'attachant
|
||||
comme un serveur NFS aux répertoires <filename
|
||||
role="directory">/host</filename> et <filename
|
||||
role="directory">/net</filename>. Quand on accède
|
||||
à un fichier à l'intérieur de ces
|
||||
répertoires, <application>amd</application> recherche
|
||||
le montage distant correspondant et le monte automatiquement.
|
||||
<filename role="directory">/net</filename> est utilisé
|
||||
pour monter un système de fichiers exporté
|
||||
à partir d'une adresse IP, alors que <filename
|
||||
role="directory">/host</filename> est utilisé pour
|
||||
monter un système de fichiers exporté à
|
||||
partir d'un nom de machine distant.</para>
|
||||
|
||||
<para>Un accès à un fichier dans <filename
|
||||
role="directory">/host/foobar/usr</filename> demandera
|
||||
à <application>amd</application> de tenter de monter
|
||||
l'export <filename role="directory">/usr</filename> sur la
|
||||
machine <hostid>foobar</hostid>.</para>
|
||||
|
||||
<example>
|
||||
<title>Monter un systèmes de fichiers exporté
|
||||
avec <application>amd</application></title>
|
||||
|
||||
<para>Vous pouvez voir les systèmes de fichiers
|
||||
exportés par une machine distante avec la commande
|
||||
<command>showmount</command>. Par exemple, pour voir les
|
||||
répertoires exportés par une machine
|
||||
appelée <hostid>foobar</hostid>, vous pouvez
|
||||
utiliser:</para>
|
||||
|
||||
<screen>&prompt.user; <userinput>showmount -e foobar</userinput>
|
||||
Exports list on foobar:
|
||||
/usr 10.10.10.0
|
||||
/a 10.10.10.0
|
||||
&prompt.user; <userinput>cd /host/foobar/usr</userinput></screen>
|
||||
</example>
|
||||
|
||||
<para>Comme on le voit dans l'exemple,
|
||||
<command>showmount</command> liste <filename
|
||||
role="directory">/usr</filename> comme une exportation. Quand
|
||||
on change de répertoire pour
|
||||
<filename>/host/foobar/usr</filename>,
|
||||
<application>amd</application> tente de résoudre le nom
|
||||
de machine <hostid>foobar</hostid> et de monter
|
||||
automatiquement le système exporté
|
||||
désiré.</para>
|
||||
|
||||
<para><application>amd</application> peut être
|
||||
lancé par les procédures de démarrage en
|
||||
ajoutant les lignes suivantes dans le fichier
|
||||
<filename>/etc/rc.conf</filename>:</para>
|
||||
|
||||
<programlisting>amd_enable="YES"</programlisting>
|
||||
|
||||
<para>De plus, des paramètres peuvent être
|
||||
passés à <application>amd</application> à
|
||||
l'aide de l'option <literal>amd_flags</literal>. Par
|
||||
défaut, l'option <varname>amd_flags</varname> est
|
||||
possitionnée à:</para>
|
||||
|
||||
<programlisting>amd_flags="-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map"</programlisting>
|
||||
|
||||
<para>Le fichier <filename>/etc/amd.map</filename>
|
||||
définit les options par défaut avec lesquelles
|
||||
les systèmes exportés sont montés. Le
|
||||
fichier <filename>/etc/amd.map</filename> définit
|
||||
certaines des fonctionnalités les plus avancées
|
||||
de <application>amd</application>.</para>
|
||||
|
||||
<para>Consultez les pages de manuel de &man.amd.8; et
|
||||
&man.amd.conf.5; pour plus d'informations.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="network-nfs-integration">
|
||||
<sect2info>
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>John</firstname>
|
||||
<surname>Lind</surname>
|
||||
<contrib>Contribution de </contrib>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</sect2info>
|
||||
<title>Problèmes d'intégration avec d'autres
|
||||
systèmes</title>
|
||||
|
||||
<para>Certaines cartes Ethernet ISA présentent des
|
||||
limitations qui peuvent poser de sérieux
|
||||
problèmes sur un réseau, en particulier avec
|
||||
NFS. Ce n'est pas une particularité de &os;, mais &os;
|
||||
en est également affecté.</para>
|
||||
|
||||
<para>Ce problème se produit pratiquement à chaque
|
||||
fois que des systèmes (&os;) PC sont sur le même
|
||||
réseau que des stations de travail très
|
||||
performantes, comme celles de Silicon Graphics, Inc. et Sun
|
||||
Microsystems, Inc. Les montages NFS se feront sans
|
||||
difficulté, et certaines opérations pourront
|
||||
réussir, puis soudain le serveur semblera ne plus
|
||||
répondre au client, bien que les requêtes vers ou
|
||||
en provenance d'autres systèmes continueront à
|
||||
être traitées normalement. Cela se manisfeste
|
||||
sur la machine cliente, que ce soit le système &os; ou
|
||||
la station de travail. Sur de nombreux systèmes, il
|
||||
n'est pas possible d'arrêter le client proprement une
|
||||
fois que ce problème apparaît. La seule solution
|
||||
est souvent de réinitialiser le client parce que le
|
||||
problème NFS ne peut être résolu.</para>
|
||||
|
||||
<para>Bien que la solution “correcte” est
|
||||
d'installer une carte Ethernet plus performante et de plus
|
||||
grande capacité sur le système &os;, il existe
|
||||
une solution simple qui donnera satisfaction. Si le
|
||||
système &os; est le <emphasis>serveur</emphasis>,
|
||||
ajoutez l'option <option>-w=1024</option> lors du montage sur
|
||||
le client. Si le système &os; est le
|
||||
<emphasis>client</emphasis>, alors montez le système de
|
||||
fichiers NFS avec l'option <option>-r=1024</option>. Ces
|
||||
options peuvent être spécifiées dans le
|
||||
quatrième champ de l'entrée
|
||||
<filename>fstab</filename> sur le client pour les montages
|
||||
automatiques, ou en utilisant le paramètre
|
||||
<option>-o</option> de la commande &man.mount.8; pour les
|
||||
montages manuels.</para>
|
||||
|
||||
<para>Il faut noter qu'il existe un problème
|
||||
différent, que l'on confond parfois avec le
|
||||
précédent, qui peut se produire lorsque les
|
||||
serveurs et les clients NFS sont sur des réseaux
|
||||
différents. Si c'est le cas,
|
||||
<emphasis>assurez-vous</emphasis> que vos routeurs
|
||||
transmettent bien les informations UDP nécessaires, ou
|
||||
vous n'irez nulle part, quoi que vous fassiez par
|
||||
ailleurs.</para>
|
||||
|
||||
<para>Dans les exemples suivants, <hostid>fastws</hostid> est le
|
||||
nom de la station de travail (interface) performante, et
|
||||
<hostid>freebox</hostid> celui d'une machine (interface) &os;
|
||||
avec une carte Ethernet moins performante. <filename
|
||||
role="directory">/sharedfs</filename> est le système de
|
||||
fichiers NFS qui sera exporté (consulter la page de
|
||||
manuel &man.exports.5;), et <filename
|
||||
role="directory">/project</filename> sera le point de montage
|
||||
sur le client pour le système de fichiers
|
||||
exporté. Dans tous les cas, des options
|
||||
supplémentaires, telles que <option>hard</option>
|
||||
<option>soft</option> et <option>bg</option> seront
|
||||
peut-être nécessaires pour vos
|
||||
applications.</para>
|
||||
|
||||
<para>Exemple d'extrait du fichier
|
||||
<filename>/etc/fstab</filename> sur <hostid>freebox</hostid>
|
||||
quand le système &os; (<hostid>freebox</hostid>) est le
|
||||
client:</para>
|
||||
|
||||
<programlisting>fastws:/sharedfs /project nfs rw,-r=1024 0 0</programlisting>
|
||||
|
||||
<para>Commande de montage manuelle sur
|
||||
<hostid>freebox</hostid>:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>mount -t nfs -o -r=1024 fastws:/sharedfs /project</userinput></screen>
|
||||
|
||||
<para>Exemple d'extrait du fichier
|
||||
<filename>/etc/fstab</filename> sur <hostid>fastws</hostid>
|
||||
quand le système &os; est le serveur:</para>
|
||||
|
||||
<programlisting>freebox:/sharedfs /project nfs rw,-w=1024 0 0</programlisting>
|
||||
|
||||
<para>Commande de montage manuelle sur
|
||||
<hostid>fastws</hostid>:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>mount -t nfs -o -w=1024 freebox:/sharedfs /project</userinput></screen>
|
||||
|
||||
<para>Presque n'importe quelle carte Ethernet 16 bits
|
||||
permettra d'opérer sans l'utilisation des
|
||||
paramètres restrictifs précédents sur les
|
||||
tailles des tampons de lecture et d'écriture.</para>
|
||||
|
||||
<para>Pour ceux que cela intéresse, voici ce qui se passe
|
||||
quand le problème survient, ce qui explique
|
||||
également pourquoi ce n'est pas
|
||||
récupérable. NFS travaille
|
||||
généralement avec une taille de
|
||||
“bloc” de 8 k (bien qu'il arrive qu'il les
|
||||
fragmente en de plus petits morceaux). Comme la taille
|
||||
maximale d'un paquet Ethernet est de 1500 octets, le
|
||||
“bloc” NFS est divisé en plusieurs paquets
|
||||
Ethernet, bien qu'il soit toujours vu comme quelque chose
|
||||
d'unitaire par les couches supérieures du code, et doit
|
||||
être réceptionné, assemblé, et
|
||||
<emphasis>acquitté</emphasis> comme tel. Les stations
|
||||
de travail performantes peuvent traiter les paquets qui
|
||||
composent le bloc NFS les uns après les autres,
|
||||
pratiquement aussi rapidement que le standard le permet. Sur
|
||||
les cartes les plus petites, de moindre capacité, les
|
||||
derniers paquets d'un même bloc écrasent les
|
||||
paquets précédents avant qu'ils aient pû
|
||||
être transmis à la machine et le bloc ne peut
|
||||
être réassemblé ou acquitté. Avec
|
||||
pour conséquence, le dépassement du délai
|
||||
d'attente sur la station de travail qui recommence alors la
|
||||
transmission, mais en renvoyant l'intégralité
|
||||
des 8 K, et ce processus se repète à
|
||||
l'infini.</para>
|
||||
|
||||
<para>En définissant la taille de bloc inférieure
|
||||
à la taille d'un paquet Ethernet, nous nous assurons
|
||||
que chaque paquet Ethernet complet sera acquitté
|
||||
individuellement, évitant ainsi la situation de
|
||||
blocage.</para>
|
||||
|
||||
<para>Des écrasements peuvent toujours survenir quand des
|
||||
stations de travail performantes surchargent un système
|
||||
PC de données, mais avec de meilleures cartes, de tels
|
||||
écrasements ne sont pas systématiques pour les
|
||||
“blocs” NFS. Quand un écrasement
|
||||
apparaît, les blocs affectés sont retransmis, et
|
||||
ils y a de fortes chances pour qu'ils soient reçus,
|
||||
assemblés et acquittés.</para>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="network-diskless">
|
||||
|
|
Loading…
Reference in a new issue