Zum Inhalt springenZur Seitennavigation springen: vorherige Seite [Zugriffstaste p]/nächste Seite [Zugriffstaste n]
Bezieht sich auf SUSE Linux Enterprise Desktop 15 SP2

32 Verteilte Nutzung von Dateisystemen mit NFS Edit source

Das NFS-Protokoll (Network File System) sorgt für den Zugriff auf Dateien auf einem Server, der ähnlich wie der Zugriff auf lokale Dateien erfolgt.

SUSE Linux Enterprise Server SP1 installiert NFS v4.2. Damit wird die Unterstützung für seltene Dateien, Vorabzuordnung von Dateien, serverseitiges Klonen und Kopieren, ADB (Application Data Block) und gekennzeichnetes NFS für MAC (mandatory access control, obligatorische Zugriffskontrolle, sowohl auf dem Client als auch auf dem Server erforderlich) eingeführt.

32.1 Überblick Edit source

Über das standardisierte, erprobte und weithin unterstützte NFS-Netzwerkprotokoll (Network File System) können Dateien durch separate Hosts gemeinsam genutzt werden.

Über den NIS (Network Information Service) lässt sich eine zentrale Benutzerverwaltung im Netzwerk einrichten. Die Kombination aus NFS und NIS sorgt für die Zugriffskontrolle im Netzwerk anhand von Datei- und Verzeichnisrechten. NFS mit NIS macht ein Netzwerk für den Benutzer transparent.

In der Standardkonfiguration vertraut NFS dem Netzwerk uneingeschränkt – und damit auch jedem Rechner, der mit einem vertrauenswürdigen Netzwerk verbunden ist. Alle Benutzer mit Administratorrechten auf einem Rechner mit physischem Zugriff auf ein Netzwerk, dem der NFS-Server vertraut, können auf sämtliche Dateien zugreifen, die der Server zur Verfügung stellt.

Diese Sicherheitsstufe reicht oft aus, beispielsweise wenn das vertrauenswürdige Netzwerk tatsächlich vollständig privat ist, das Netzwerk sich in einem einzigen Schrank oder Computerraum befindet und kein unbefugter Zugriff möglich ist. In anderen Fällen ist die Notwendigkeit, einem ganzen Teilnetz als einer einzigen Einheit zu vertrauen, dagegen restriktiv und es besteht Bedarf an einem feiner abgestuften Vertrauensverhältnis. Für diese Fälle unterstützt NFS verschiedene Sicherheitsstufen mithilfe der KerberosInfrastruktur. Für Kerberos ist NFSv4 erforderlich, wobei diese Version standardmäßig verwendet wird. Weitere Informationen finden Sie in Chapter 7, Network Authentication with Kerberos.

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. Ein laufender Server ist von den folgenden Daemons abhängig: nfsd (Worker), idmapd (ID-Name-Zuordnung für NFSv4, nur für bestimmte Szenarien), statd (Dateisperren) und mountd (Einhängeanforderungen).

NFSv3

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

NFSv4

NFSv4 ist die neue Implementierungsversion 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.

32.2 Installieren des NFS-Servers Edit source

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

32.3 Konfigurieren der Clients Edit source

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.

32.3.1 Importieren von Dateisystemen mit YaST Edit source

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

Tipp
Tipp: NFS als root-Dateisystem

Auf (festplattenlosen) Systemen, in denen die Stammpartition über das Netzwerk als NFS-Freigabe eingehängt ist, müssen Sie beim Konfigurieren des Netzwerkgeräts, über das die NFS-Freigabe erreichbar ist, besonders vorsichtig vorgehen.

Wenn Sie das System herunterfahren oder neu booten, werden in der standardmäßigen Reihenfolge zunächst die Netzwerkverbindungen deaktiviert und anschließend die Stammpartition ausgehängt. Bei einem NFS-root kann dies zu Problemen führen: Die Stammpartition kann nicht fehlerfrei ausgehängt werden, da die Netzwerkverbindung zur NFS-Freigabe schon nicht mehr aktiviert ist. Damit das System nicht das relevante Netzwerkgerät deaktiviert, öffnen Sie die Registerkarte gemäß Abschnitt 19.4.1.2.5, „Aktivieren des Netzwerkgeräts“ und wählen Sie unter Geräteaktivierung die Option Bei NFSroot.

32.3.2 Manuelles Importieren von Dateisystemen Edit source

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

tux > sudo mount HOST:REMOTE-PATHLOCAL-PATH

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

tux > sudo mount nfs.example.com:/home /home

32.3.2.1 Verwenden des Diensts zum automatischen Einhängen Edit source

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 mit systemctl start autofs 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 autofs-Diensts bearbeitet wird, muss die automatische Einhängung mit systemctl restart autofs erneut gestartet werden, damit die Änderungen wirksam werden.

32.3.2.2 Manuelles Bearbeiten von /ect/fstab Edit source

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:

tux > sudo mount /local/path
Anmerkung
Anmerkung: Einhängen beim Starten

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

32.3.3 pNFS (paralleles NFS) Edit source

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

  • 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 Desktop unterstützt pNFS nur auf der Clientseite.

32.3.3.1 Konfigurieren eines pNTP-Clients mit YaST Edit source

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

32.3.3.2 Manuelles Konfigurieren eines pNTP-Clients Edit source

Beginnen Sie gemäß Abschnitt 32.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:

tux > sudo mount -t nfs4 -o minorversion=1 MDS_SERVER MOUNTPOINT

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

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

32.4 Weiterführende Informationen Edit source

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