nfsd
Table des matières
Retour à l'index
NOM
nfsd — Système de fichiers spécial permettant le contrôle du serveur NFS de
Linux
SYNOPSIS
mount -t nfsd nfsd /proc/fs/nfsd
DESCRIPTION
Le système de fichiers nfsd est un système de fichiers spécial permettant
l'accès au serveur NFS de Linux. L'écriture dans des fichiers de ce système
de fichiers peut affecter le comportement du serveur. La lecture du contenu
de ces fichiers peut fournir des informations à propos du serveur.
Comme pour ce système de fichiers, il existe un ensemble de fichiers dans le
système de fichiers procfs (habituellement monté dans /proc) qui
permettent le contrôle du serveur NFS. Cette page de manuel décrit tous ces
fichiers.
Les programmes exportfs et mountd qui font partie du paquet nfs-utils
s'attendent à trouver ce système de fichiers monté à l'emplacement
/proc/fs/nfsd ou /proc/fs/nfs.
DÉTAILS
Les fichiers présents dans le système de fichiers nfsd sont :
- exports
-
Ce fichier contient la liste des systèmes de fichiers qui sont actuellement
partagés, les clients vers lesquels ils le sont, ainsi que la liste des
options de partage pour chacune des paires client/système de fichiers. Cela
ressemble au contenu du fichier /proc/fs/nfs/exports du noyau 2.4. La
différence, c'est qu'un client ne correspond pas nécessairement à une seule
et unique machine. Il peut s'agir d'un nombre important d'hôtes qui seront
traités à l'identique.
Chaque ligne de ce fichier contient un chemin, le nom d'un client et un
certain nombre d'options entre parenthèses. Tout caractère espace,
tabulation, retour à la ligne ou barre oblique inverse présent dans le nom
d'un chemin ou d'un client sera remplacé par un caractère barre oblique
inverse (antislash) suivi du code ASCII de ce caractère, exprimé en octal.
- threads
-
Ce fichier contient le nombre de processus légers (thread) de nfsd
actuellement en cours d'exécution. La lecture du fichier affichera le nombre
de processus légers. Écrire un nombre décimal en ASCII modifiera le nombre
de processus légers (à la hausse ou à la baisse) afin d'atteindre la valeur
demandée.
- filehandle
-
C'est un fichier un peu inhabituel, puisque ce qu'on y lit dépend de ce que
l'on vient juste d'y écrire. Il offre une interface transactionnelle afin
qu'un programme puisse ouvrir ce fichier, y écrire une requête et y lire la
réponse. Si deux programmes différents ouvrent, écrivent et lisent ce
fichier au même moment, leurs requêtes ne se mélangeront pas.
Les requêtes écrites dans filehandle devront être de la forme un nom de
client, un nom de chemin et un nombre d'octets. Un retour à la ligne
terminera la requête, les champs seront séparés par une espace et tout
caractère spécial sera protégé et écrit en octal.
Grâce à cette écriture, le programme pourra accéder à un descripteur de
fichier (« filehandle ») pour ce chemin, tel qu'il est partagé pour ce
client. La taille de ce descripteur de fichier (« filehandle ») sera au plus
le nombre d'octets demandé.
Le descripteur de fichier (« filehandle ») sera représenté en hexadécimal et
préfixé par « \x ».
- clients/
-
Ce répertoire contient un sous-répertoire pour chaque client NFSv4. Chaque
fichier de ce sous-répertoire fournit des détails sur le client au format
YAML. En plus, écrire « expire\n » dans le fichier ctl force le serveur
à révoquer tout statut détenu par ce client.
Le répertoire /proc/net/rpc du système de fichiers procfs contient un
certain nombre de fichiers et de répertoires. Ces fichiers contiennent des
statistiques qui peuvent être affichées grâce au programme nfsstat. Les
répertoires contiennent des informations sur les différents caches que le
serveur NFS utilise pour assurer le suivi des permissions d'accès dont
disposent les différents clients sur les différents systèmes de
fichiers. Ces caches sont :
- auth.unix.ip
-
Ce cache contient la correspondance entre les adresses IP et les noms du
domaine d'authentification auxquels ces adresses IP sont rattachées.
- nfsd.export
-
Ce cache contient la correspondance entre les répertoires, les domaines et
les options de partage.
- nfsd.fh
-
Ce cache contient la correspondance entre les domaines, les identifiants du
système de fichiers et les répertoires. L'identifiant du système de fichiers
est stocké dans les descripteurs de fichier (« filehandle ») et est composé
d'un nombre indiquant le type d'identifiant, ainsi qu'un nombre d'octets en
hexadécimal indiquant le contenu de cet identifiant.
Chaque répertoire représentant un cache peut contenir de 1 à 3 fichiers. Ce
sont :
- flush
-
Quand un nombre de secondes depuis l'époque Unix (1 janvier 1970) est écrit
dans ce fichier, toutes les entrées du cache qui ont été mises à jour avant
ce fichier seront invalidées et vidées du cache. Écrire une date dans le
futur (en secondes depuis l'époque Unix) dans ce fichier videra tout. Ce
fichier est le seul qui est toujours présent.
- content
-
Ce fichier, s'il est présent, contient une représentation littérale de tous
les contenus du cache, un par ligne. Si un contenu est toujours dans le
cache (parce qu'il est actuellement en cours d'utilisation), mais qu'il est
dépassé, ou invalide pour une raison quelconque, il sera affiché en tant que
commentaire (avec un dièse en début de ligne).
- channel
-
Ce fichier, s'il existe, sert de canal de communication entre le serveur nfs
en mode noyau et le programme en espace utilisateur.
Quand le noyau a besoin d'informations qui ne sont pas dans le cache, il
écrit une ligne dans le fichier channel qui fournit une clé pour cette
information. Un programme en mode utilisateur pourra la lire, trouver une
réponse, puis écrire une ligne contenant la clé, une date d'expiration et le
contenu de la réponse. Par exemple, le noyau pourrait écrire
nfsd 127.0.0.1
dans le fichier auth.unix.ip/content. Le programme en espace utilisateur
pourrait alors écrire
nfsd 127.0.0.1 1057206953 localhost
pour dire que 127.0.0.1 doit correspondre à « localhost », à ce moment
précis.
Si le programme utilise select(2) ou poll(2) pour découvrir s'il peut lire
le contenu de channel, il n'obtiendra jamais la fin de fichier. Si toutes
les requêtes ont été résolues, il sera bloqué jusqu'à ce qu'une autre
requête arrive.
Dans le système de fichiers /proc, 4 fichiers peuvent être utilisés pour
tracer un peu plus nfsd et les autres programmes associés. Il s'agit de :
/proc/sys/sunrpc/nfs_debug
/proc/sys/sunrpc/nfsd_debug
/proc/sys/sunrpc/nlm_debug
/proc/sys/sunrpc/rpc_debug
Ils contrôlent respectivement le traçage de client NFS, du serveur NFS, du
gestionnaire de verrouillage réseau (lockd) et de la couche RPC
sous-jacente. Des nombres décimaux peuvent être lus ou écrits dans ces
fichiers. Chaque nombre représente un schéma de bits dans lequel les bits
positionnés indiquent certaines classes de traçage à activer. Consultez les
fichiers d'en-têtes du noyau (kernel header files) pour savoir à quoi
correspond chaque nombre.
NOTES
Ce système de fichiers n'est disponible que dans les versions 2.6 et
suivantes du noyau Linux (ainsi que dans les dernières versions de
développement 2.5 amenant vers la série 2.6). Cette page de manuel ne
concerne pas les noyaux 2.4 et précédents.
Auparavant, l'appel système nfsctl était utilisé pour la communication
entre nfsd et les utilitaires de l'utilisateur. Cet appel système a été
retiré de la version 3.1 du noyau. Les versions antérieures de nfs-utils
étaient capables de se rabattre sur nfsctl si nécessaire ; cela a été
supprimé de nfs-utils 1.3.5.
VOIR AUSSI
nfsd(8), rpc.nfsd(8), exports(5), nfsstat(8), mountd(8),
exportfs(8).
AUTEUR
NeilBrown
TRADUCTION
La traduction française de cette page de manuel a été créée par
Valéry Perrin <valery.perrin.debian@free.fr>,
Sylvain Cherrier <sylvain.cherrier@free.fr>,
Thomas Huriaux <thomas.huriaux@gmail.com>,
Dominique Simen <dominiquesimen@hotmail.com>,
Nicolas Sauzède <nsauzede@free.fr>,
Romain Doumenc <rd6137@gmail.com>,
David Prévot <david@tilapin.org>,
Denis Mugnier <myou72@orange.fr>,
Cédric Boutillier <cedric.boutillier@gmail.com>
et
Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>
Cette traduction est une documentation libre ; veuillez vous reporter à la
GNU General Public License version 3
concernant les conditions de copie et
de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel,
veuillez envoyer un message à
Index
- NOM
-
- SYNOPSIS
-
- DESCRIPTION
-
- DÉTAILS
-
- NOTES
-
- VOIR AUSSI
-
- AUTEUR
-
- TRADUCTION
-
This document was created by
man2html,
using the manual pages.
Time: 05:06:38 GMT, September 19, 2025