nfsd(7) Miscellaneous Information Manual nfsd(7)

nfsd - Système de fichiers spécial permettant le contrôle du serveur NFS de Linux

mount -t nfsd nfsd /proc/fs/nfsd

The nfsd filesystem is a special filesystem which provides access to the Linux NFS server. Writing to files in this filesystem can affect the server. Reading from them can provide information about the server.

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.

The exportfs and mountd programs (part of the nfs-utils package) expect to find this filesystem mounted at /proc/fs/nfsd or /proc/fs/nfs.

Files in the nfsd filesystem include:

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 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.

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.
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 « ex ».

This directory contains a subdirectory for each NFSv4 client. Each file under that subdirectory gives some details about the client in YAML format. In addition, writing "expire\n" to the ctl file will force the server to immediately revoke all state held by that 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 :

Ce cache contient la correspondance entre les adresses IP et les noms du domaine d'authentification auxquels ces adresses IP sont rattachées.
Ce cache contient la correspondance entre les répertoires, les domaines et les options de partage.
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 :

When a number of seconds since epoch (1 Jan 1970) is written to this file, all entries in the cache that were last updated before that file become invalidated and will be flushed out. Writing a time in the future (in seconds since epoch) will flush everything. This is the only file that will always be present.
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).
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 lesquels ces bits définissent certaines classes de traçage à activer. Consultez les fichiers d'en-têtes du noyau (kernel header files) pour savoir à quoi correspond chaque nombre.

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.

Previously the nfsctl systemcall was used for communication between nfsd and user utilities. That systemcall was removed in kernel version 3.1. Older nfs-utils versions were able to fall back to nfsctl if necessary; that was removed from nfs-utils 1.3.5.

nfsd(8), rpc.nfsd(8), exports(5), nfsstat(8), mountd(8), exportfs(8).

NeilBrown

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> et Cédric Boutillier <cedric.boutillier@gmail.com>

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 à debian-l10n-french@lists.debian.org.

3 juillet 2003