nfsd(7) Miscellaneous Information Manual nfsd(7) BEZEICHNUNG nfsd - Spezialdateisystem zum Steuern eines Linux-NFS-Servers ZUSAMMENFASSUNG mount -t nfsd nfsd /proc/fs/nfsd BESCHREIBUNG Das nfsd-Dateisystem ist ein spezielles Dateisystem, das den Zugriff auf einen Linux-NFS-Server ermoglicht. In dieses Dateisystem zu schreiben kann sich auf den Server auswirken. Lesen aus diesen Dateien kann Informationen uber den Server bereitstellen. Neben diesem Dateisystem gibt es eine Sammlung von Dateien im procfs-Dateisystem (das normalerweise in /proc eingehangt ist), die zum Steuern des NFS-Servers verwendet werden. Diese Handbuchseite beschreibt alle dieser Dateien. Die Programme exportfs und mountd (die Teil des Pakets nfs-utils sind) erwarten, dass dieses Dateisystem in /proc/fs/nfsd oder /proc/fs/nfs eingehangt ist. DETAILS Die Dateien im nfsd-Dateisystem sind unter anderem: exports Diese Datei enthalt eine Liste der Dateisysteme, die aktuell exportiert sind und der Clients, an die jedes der Dateisysteme exportiert ist, sowie eine Liste der Exportoptionen fur jedes Client/Dateisystem-Paar. Dies ahnelt der Datei /proc/fs/nfs/exports in 2.4. Ein Unterschied ist, dass ein Client nicht unbedingt genau einem Rechner entsprechen muss. Er kann auf eine grosse Auswahl an Rechnern reagieren, die identisch behandelt werden. Jede Zeile der Datei enthalt einen Pfadnamen, einen Clientnamen und eine Reihe von Optionen in Klammern. Jedes Leerzeichen, jeder Tabulator, Zeilenvorschub oder Ruckschragstrich im Pfad- oder Clientnamen wird durch einen Ruckschragstrich ersetzt, dem der oktale ASCII-Code fur das jeweilige Zeichen folgt. threads Diese Datei stellt die Anzahl der Threads dar, in denen nfsd aktuell lauft. Durch Lesen der Datei wird die Anzahl der Threads dargestellt. Durch Schreiben einer ASCII-Dezimalzahl wird die Anzahl der Threads geandert (erhoht oder verringert, wie erforderlich), um diese Anzahl zu erreichen. filehandle Diese Datei ist etwas unublich, im Hinblick darauf, dass was daraus gelesen wird, davon abhangt, was hineingeschrieben worden ist. Sie bietet eine Transaktionsschnittstelle, uber die ein Programm die Datei offnen, eine Anforderung schreiben und eine Antwort lesen kann. Falls zwei separate Programme gleichzeitig offnen, schreiben und lesen, werden deren Anfragen nicht miteinander vermischt. Die an filehandle gestellte Anfrage sollte ein Clientname, ein Pfadname und eine Anzahl Bytes sein. Darauf sollte ein Zeilenvorschub folgen, die Felder sollten durch Leerraum getrennt sein und spezielle Zeichen sollten oktal maskiert werden. Nachdem dies geschrieben wurde, ist das Programm in der Lage, einen Datei-Handle fur diesen Pfad zu lesen, wie er an den angegebenen Client exportiert wurde. Die Lange des Datei-Handles wird hochstens die Anzahl der angegebenen Bytes sein. Der Datei-Handle wird mit einem vorangestellten >>\x<< hexadezimal dargestellt. clients/ Dieses Verzeichnis enthalt ein Unterverzeichnis fur jeden NFSv4-Client. Jede Datei in diesem Unterverzeichnis enthalt einige Details zum Client im YAML-Format. Ausserdem zwingt >>expire\n<< in der ctl-Datei den Server, jeglichen Status des Clients unmittelbar zu widerrufen. Das Verzeichnis /proc/net/rpc im procfs-Dateisystem enthalt eine Reihe von Dateien und Verzeichnissen. Die Dateien enthalten Statistiken, die mit dem Programm nfsstat angezeigt werden konnen. Die Verzeichnisse enthalten Informationen uber verschiedene Zwischenspeicher, die der NFS-Server verwaltet, um die Zugriffsrechte verfolgen zu konnen, die verschiedene Clients auf verschiedenen Dateisystemen haben. Die Zwischenspeicher sind: auth.unix.ip Dieser Zwischenspeicher enthalt die Zuweisung der IP-Adresse zum Namen der Authentifizierungsdomain, der die IP-Adresse als Teil zugeordnet werden soll. nfsd.export Dieser Zwischenspeicher enthalt die Zuweisung von Verzeichnis und Domain zu Exportoptionen. nfsd.fh Dieser Zwischenspeicher enthalt eine Zuweisung einer Domain und eines Dateisystembezeichners zu einem Verzeichnis. Der Dateisystembezeichner wird in den Datei-Handles gespeichert und besteht aus einer Zahl, die den Typ des Bezeichners angibt sowie einer Hexadezimalzahl, die den Inhalt des Bezeichners angibt. Jedes Zwischenspeicherverzeichnis kann eine bis drei Dateien enthalten. Dies sind: flush Wenn eine Anzahl der Sekunden seit dem Beginn der Unix-Zeitrechnung (Epoche, 1. Januar 1970) in diese Datei geschrieben wird, werden alle Eintrage im Zwischenspeicher, die zuletzt vor dieser Datei aktualisiert wurden, ungultig und werden entfernt. Durch Schreiben eines Zeitpunkts, der in der Zukunft liegt (in Sekunden seit der Epoche), wird alles entfernt. Dies ist die einzige Datei, die immer vorhanden sein wird. content Diese Datei enthalt, falls vorhanden, eine textuelle Darstellung jedes Eintrags im Zwischenspeicher, einen pro Zeile. Falls ein Eintrag abgelaufen oder aus anderen Grunden ungultig ist, sich aber noch im Zwischenspeicher befindet (beispielsweise weil er aktiv genutzt wird), wird er als Kommentar dargestellt (mit einem vorangestellten Rautezeichen). channel Diese Datei agiert, falls vorhanden, als Kanal fur die Ubergabe von Anfragen vom Kernel-basierten NFS-Server zu einem Programm auf Anwendungsebene zur weiteren Verarbeitung. Wenn der Kernel Informationen benotigt, die im Zwischenspeicher nicht vorhanden sind, erscheint eine Zeile in der channel-Datei, die den Schlussel fur die Information darstellt. Ein Programm auf Anwendungsebene sollte dies lesen, die Antwort finden und eine Zeile schreiben, die den Schlussel, die Ablaufzeit und den Inhalt enthalt. Zum Beispiel konnte der Kernel nfsd 127.0.0.1 in der Datei auth.unix.ip/content erscheinen lassen. Das Programm auf Anwendungsebene konnte dann nfsd 127.0.0.1 1057206953 localhost schreiben, um anzuzeigen, dass 127.0.0.1 an localhost zugewiesen werden soll, zumindest fur den jetzigen Zeitpunkt. Falls das Programm select(2) oder poll(2) verwendet, um herauszufinden, ob es aus dem channel lesen kann, dann wird es niemals ein Dateiende sehen, aber wenn alle Anfragen beantwortet wurden, wird es blockieren, bis eine neue Anfrage erscheint. Im /proc-Dateisystem gibt es vier Dateien, die zum Aktivieren zusatzlicher Verfolgung von Nfsd und darauf bezogenem Code verwendet werden konnen. Diese sind: /proc/sys/sunrpc/nfs_debug /proc/sys/sunrpc/nfsd_debug /proc/sys/sunrpc/nlm_debug /proc/sys/sunrpc/rpc_debug Sie steuern die Verfolgung des NFS-Clients, des NFS-Servers, der Verwaltung der Netzwerksperren (lockd) beziehungsweise der zugrunde liegenden RPC-Ebene. Aus dieser Datei konnen Dezimalzahlen gelesen oder in diese geschrieben werden. Jede Zahl stellt ein Bitmuster dar, wobei gesetzte Bits bestimmte Verfolgungsklassen aktivieren. In den Header-Dateien des Kernels finden Sie Informationen dazu, welche Zahl welcher Verfolgungsklasse entspricht. ANMERKUNGEN Dieses Dateisystem ist ist nur fur Linux-Kernel der Version 2.6 und neuer verfugbar. Ausserdem steht es in den spateren Teilen der Entwicklungsreihe 2.5 zur Verfugung, die zur Version 2.6 fuhrte. Diese Handbuchseite bezieht sich nicht auf 2.4 und fruhere Versionen. Fruher wurde der nfsctl()-Systemaufruf zur Kommunikation zwischen Nfsd und den Benutzerwerkzeugen eingesetzt. Dieser Systemaufruf wurde im Kernel der Version 3.1 entfernt. Altere Versionen der Nfs-utils waren in der Lage, sofern erforderlich, auf Nfsctl zuruckzufallen; dies wurde ab Nfs-utils 1.3.5 entfernt. SIEHE AUCH nfsd(8), rpc.nfsd(8), exports(5), nfsstat(8), mountd(8) exportfs(8). AUTOR NeilBrown UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Mario Blattermann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . 3. Juli 2003 nfsd(7)