Bezieht sich auf SUSE Linux Enterprise Desktop 12

24 Verteilte Nutzung von Dateisystemen mit NFS

Das Verteilen und Freigeben von Dateisystemen über ein Netzwerk ist eine Standardaufgabe in Unternehmensumgebungen. Das bewährte Netzwerkdateisystem NFS arbeitet mit dem Verzeichnisdienst NIS zusammen. Wenn Sie ein sichereres Protokoll wünschen, das mit LDAP zusammenarbeitet und auch Kerberos nutzen kann, aktivieren Sie NFSv4. Zusammen mit pNFS können Sie so Engpässe bei der Leistung beseitigen.

NFS mit NIS macht ein Netzwerk für den Benutzer transparent. Mit NFS ist es möglich, arbiträre Dateisysteme über das Netzwerk zu verteilen. Bei entsprechendem Setup befinden sich Benutzer in derselben Umgebung, unabhängig vom gegenwärtig verwendeten Terminal.

24.1 Terminologie

Die folgenden Begriffe werden im YaST-Modul verwendet.

Exporte

Ein von einem NFS-Server exportiertes Verzeichnis, das von Clients in ihr System integriert werden kann.

NFS-Client

Der NFS-Client ist ein System, das NFS-Dienste eines NFS-Servers über das NFS-Protokoll verwendet. Das TCP/IP-Protokoll ist bereits in den Linux-Kernel integriert, weshalb keine zusätzliche Software installiert werden muss.

NFS-Server

Der NFS-Server stellt NFS-Dienste für Clients bereit. Die Ausführung eines Servers hängt von folgenden Daemons ab: nfsd (Worker), idmapd (Zuordnung von Benutzer- und Gruppennamen zu IDs und umgekehrt), statd (Dateisperrung) und mountd (Einhängen-Anforderungen).

NFSv3

NFSv3 ist die Implementierungsversion 3, die alte zustandslose NFS, die die Clientauthentifizierung unterstützt.

NFSv4

NFSv4 ist die neue Implementationsversion 4, die die sichere Benutzerauthentifizierung über Kerberos unterstützt. Für NFSv4 ist nur ein einzelner Port erforderlich; diese Version eignet sich daher besser für Umgebungen hinter einer Firewall als NFSv3.

Das Protokoll wird als http://tools.ietf.org/html/rfc3530 angegeben.

pNFS

Parallel NFS, eine Protokollerweiterung für NFSv4. Alle pNFS-Clients können direkt auf die Daten auf einem NFS-Server zugreifen.

24.2 Installieren des NFS-Servers

Informationen zum Installieren und Konfigurieren eines NFS-Servers finden Sie in der Dokumentationen für SUSE Linux Enterprise Server.

24.3 Konfigurieren der Clients

Wenn Sie Ihren Host als NFS-Client konfigurieren möchten, müssen Sie keine zusätzliche Software installieren. Alle erforderlichen Pakete werden standardmäßig installiert.

24.3.1 Importieren von Dateisystemen mit YaST

Autorisierte Benutzer können NFS-Verzeichnisse eines NFS-Servers über das YaST-NFS-Clientmodul in den lokalen Dateibaum einhängen. Führen Sie dazu die folgenden Schritte aus:

Prozedur 24.1 Importieren von NFS-Verzeichnissen
  1. Starten Sie das YaST-NFS-Client-Modul.

  2. Klicken Sie auf dem Karteireiter NFS-Freigaben auf Hinzufügen. Geben Sie den Hostnamen des NFS-Servers, das zu importierende Verzeichnis und den Einhängepunkt an, an dem das Verzeichnis lokal eingehängt werden soll.

  3. Wenn Sie NFSv4 verwenden, wählen Sie die Option NFSv4 aktivieren auf der Registerkarte Einstellungen. Der NFSv4-Domainname muss zudem denselben Wert aufweisen, der beim NFSv4-Server verwendet wird. Die Standarddomäne ist localdomain.

  4. Wenn die Kerberos-Authentifizierung für NFS verwendet werden soll, muss die GSS-Sicherheit aktiviert werden. Wählen Sie GSS-Sicherheit aktivieren.

  5. Wenn Sie eine Firewall nutzen und den Zugriff auf den Dienst von Ferncomputern aus zulassen möchten, aktivieren Sie auf dem Karteireiter NFS-Einstellungen die Option Firewall-Port öffnen. Der Status der Firewall wird neben dem Kontrollkästchen angezeigt.

  6. Klicken Sie zum Speichern der Änderungen auf OK.

Die Konfiguration wird in /etc/fstab geschrieben und die angegebenen Dateisysteme werden eingehängt. Wenn Sie den YaST-Konfigurationsclient zu einem späteren Zeitpunkt starten, wird auch die vorhandene Konfiguration aus dieser Datei gelesen.

24.3.2 Manuelles Importieren von Dateisystemen

Voraussetzung für den manuellen Import eines Dateisystems von einem NFS-Server ist ein aktiver RPC-Port-Mapper. Der Start des Service nfs.service erfordert einige Vorsicht; starten Sie ihn daher mit systemctl start nfs.service als root. Danach können ferne Dateisysteme mit mount wie lokale Partitionen in das Dateisystem eingehängt werden:

mount host:remote-pathlocal-path

Geben Sie zum Beispiel zum Import von Benutzerverzeichnissen vom nfs.example.com-Rechner folgendes Kommando ein:

mount nfs.example.com:/home /home

24.3.2.1 Verwenden des Diensts zum automatischen Einhängen

Ferne Dateisysteme können mit dem autofs-Daemon automatisch eingehängt werden. Fügen Sie den folgenden Eintrag in der Datei /etc/auto.master hinzu:

/nfsmounts /etc/auto.nfs

Nun fungiert das Verzeichnis /nfsmounts als Root-Verzeichnis für alle NFS-Einhängungen auf dem Client, sofern die Datei auto.nfs entsprechend ausgefüllt wurde. Der Name auto.nfs wurde nur der Einfachheit halber ausgewählt – Sie können einen beliebigen Namen auswählen. Fügen Sie der Datei auto.nfs wie folgt Einträge für alle NFS-Einhängungen hinzu:

localdata -fstype=nfs server1:/data
nfs4mount -fstype=nfs4 server2:/

Aktivieren Sie die Einstellungen durch Ausführung von systemctl start autofs.service als root. In diesem Beispiel wird /nfsmounts/localdata, das Verzeichnis /data von server1, mit NFS eingehängt und /nfsmounts/nfs4mount von server2 wird mit NFSv4 eingehängt.

Wenn die Datei /etc/auto.master während der Ausführung des Diensts autofs bearbeitet wird, muss die automatische Einhängung mit systemctl restart autofs.service erneut gestartet werden, damit die Änderungen wirksam werden.

24.3.2.2 Manuelles Bearbeiten von /ect/fstab

Ein typischer NFSv3-Einhängeeintrag in /etc/fstab sieht folgendermaßen aus:

nfs.example.com:/data /local/path nfs rw,noauto 0 0

Bei NFSv4-Einhängepunkten geben Sie nfs4 statt nfs in die dritte Spalte ein:

nfs.example.com:/data /local/pathv4 nfs4 rw,noauto 0 0

Mit der Option noauto wird verhindert, dass das Dateisystem beim Starten automatisch eingehängt wird. Wenn Sie das jeweilige Dateisystem manuell einhängen möchten, können Sie das Einhängekommando auch kürzen, indem Sie nur den Einhängepunkt angeben:

mount /local/path
Anmerkung
Anmerkung

Wenn die Option noauto nicht angegeben ist, wird das Einhängen dieser Dateisysteme beim Start durch die init-Skripte des Systems geregelt.

24.3.3 pNFS (paralleles NFS)

NFS wurde in den 1980er-Jahren entwickelt und gehört damit zu den ältesten Protokollen. Zum Freigeben kleinerer Dateien ist NFS völlig ausreichend. Wenn Sie dagegen große Dateien übertragen möchten oder wenn zahlreiche Clients auf die Daten zugreifen sollen, wird ein NFS-Server rasch zu einer Engstelle, die die Systemleistungen erheblich beeinträchtigt. Dies liegt daran, dass die Dateien rasch größer werden, wobei die relative Ethernet-Geschwindigkeit nicht ganz mithalten kann.

Wenn Sie eine Datei von einem normalen NFS-Server anfordern, werden die Metadaten der Datei nachgeschlagen, die Daten dieser Datei werden zusammengestellt und die Datei wird schließlich über das Netzwerk an den Client übertragen. Der Leistungsengpass wird jedoch in jedem Fall ersichtlich, unabhängig davon, wie groß oder klein die Dateien sind:

  • Bei kleinen Dateien dauert das Sammeln der Metadaten am längsten..

  • Bei großen Dateien dauert das Übertragen der Daten vom Server auf den Client am längsten.

pNFS (paralleles NFS) trennt die Metadaten des Dateisystems vom Speicherort der Daten und überwindet so diese Einschränkungen. Für pNFS sind dabei zwei Arten von Servern erforderlich:

  • Ein Metadaten- oder Steuerungsserver, der den gesamten verbleibenden Verkehr (nicht den Datenverkehr) abwickelt

  • Mindestens ein Speicherserver, auf dem sich die Daten befinden

Der Metadatenserver und die Speicherserver bilden gemeinsam einen einzigen logischen NFS-Server. Wenn ein Client einen Lese- oder Schreibvorgang startet, teilt der Metadatenserver dem NFSv4-Client mit, auf welchem Speicherserver der Client auf die Dateiblöcke zugreifen soll. Der Client kann direkt auf dem Server auf die Daten zugreifen.

SUSE Linux Enterprise unterstützt pNFS nur auf der Clientseite.

24.3.3.1 Konfigurieren eines pNTP-Clients mit YaST

Befolgen Sie die Anweisungen unter Prozedur 24.1, „Importieren von NFS-Verzeichnissen“; aktivieren Sie jedoch das Kontrollkästchen pNFS (v4.1) und (optional) NFSv4-Freigabe. YaST führt alle erforderlichen Schritte aus und schreibt die erforderlichen Optionen in die Datei /etc/exports.

24.3.3.2 Manuelles Konfigurieren eines pNTP-Clients

Beginnen Sie gemäß Abschnitt 24.3.2, „Manuelles Importieren von Dateisystemen“. Der Großteil der Konfiguration wird durch den NFSv4-Server ausgeführt. Der einzige Unterschied für pNFS besteht darin, dass die Option minorversion und der Metadatenserver MDS_SERVER in das Kommando mount eingefügt werden:

mount -t nfs4 -o minorversion=1 MDS_SERVER MOUNTPOINT

Als Hilfe für die Fehlersuche ändern Sie den Wert im Dateisystem /proc:

echo 32767 > /proc/sys/sunrpc/nfsd_debug
echo 32767 > /proc/sys/sunrpc/nfs_debug

24.4 Weiterführende Informationen

Außer auf den man-Seiten zu exports, nfs und mount stehen Informationen zum Konfigurieren eines NFS-Servers und -Clients unter /usr/share/doc/packages/nfsidmap/README zur Verfügung. Weitere Online-Dokumentation finden Sie auf folgenden Websites:

Diese Seite drucken