Kapitel 28. Verteilte Nutzung von Dateisystemen mit NFS

Inhaltsverzeichnis

28.1. Konfiguration des NFS-Client
28.2. Exportieren von Dateisystemen über NFS
28.3. Manuelles Exportieren von Dateisystemen
28.4. NFS mit Kerberos
28.5. Weiterführende Informationen

Eine Möglichkeit, Dateien über das Netzwerk zu verteilen, ist NFS (Network File System). NFS greift auf Netzwerkinformationsdienste wie NIS (siehe Kapitel 25, Arbeiten mit NIS) oder Verzeichnisdienste wie LDAP (siehe Kapitel 26, LDAP – Ein Verzeichnisdienst) zurück, um festzustellen, wie die verfügbaren Dienste verwendet werden. Zur Verhinderung nicht autorisierter Zugriffe ermöglicht NFSv4 die Authentifizierung mit Kerberos (siehe auch Kapitel 39, Installation und Administration von Kerberos). Bei einer korrekten Konfiguration finden die Anwender unabhängig davon, an welchem Terminal sie angemeldet sind, stets die gleiche Umgebung vor.

Wie NIS ist NFS ein Client-Server-System. Ein Computer kann beides gleichzeitig sein – er kann Dateisysteme im Netzwerk zur Verfügung stellen (exportieren) und Dateisysteme anderer Hosts einhängen (importieren).

Im Prinzip können alle Exporte allein mit IP-Adressen vorgenommen werden. Es ist jedoch ratsam, über ein funktionierendes DNS-System zu verfügen, um Zeitüberschreitungen zu vermeiden. Dies ist zumindest für die Protokollierung erforderlich, weil der eingehängte Daemon Reverse-Lookups ausführt.

Für Netzwerkdienste ist die korrekte Einstellung der Systemzeit besonders wichtig. Wenn Sie die Einrichtung solcher Dienste planen, sollten Sie an erster Stelle auch an die Zeitsynchronisierung denken (siehe Kapitel 24, Zeitsynchronisierung mit NTP).

28.1. Konfiguration des NFS-Client

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

28.1.1. Importieren von Dateisystemen mit YaST

Autorisierte Benutzer können NFS-Verzeichnisse von NFS-Servern in ihre eigenen Dateibäume einhängen. Dies geschieht am einfachsten mit dem YaST-Modul NFS-Client. Geben Sie nur den Hostnamen des NFS-Servers, das zu importierende Verzeichnis und den Einhängepunkt an, an dem das Verzeichnis lokal eingehängt werden soll. Diese Eingaben werden im ersten Dialogfeld nach einem Klick auf Hinzufügen eingegeben. Aktivieren Sie Firewall-Port öffnen, um die Firewall zu öffnen und entfernten Computern den Zugriff auf den Dienst zu gewähren. Der Status der Firewall wird neben dem Kontrollkästchen angezeigt. Klicken Sie auf Beenden, um die Änderungen zu speichern. Weitere Informationen hierzu finden Sie in Abbildung 28.1, „Konfiguration des NFS-Clients mit YaST“.

Dadurch werden die Änderungen unter/etc/fstab gespeichert und die angegebenen Dateisysteme importiert. Wenn Sie den Client zu einem späteren Zeitpunkt starten, werden die Informationen von ihm aus dieser Datei gelesen.

Zur Zeit ist mit YaST noch kein Import von NFSv4-Dateisystemen möglich. Diese Dateisysteme könne manuell oder mit dem Automounter importiert werden. Erläuterungen hierzu finden Sie in Abschnitt 28.1.3, „Manuelles Importieren von NFSv4-Dateisystemen“ und Abschnitt 28.1.4, „Verwenden des Diensts zum automatischen Einhängen“.

Abbildung 28.1. Konfiguration des NFS-Clients mit YaST

Konfiguration des NFS-Clients mit YaST

28.1.2. Manuelles Importieren von NFSv3-Dateisystemen

Die einzige Voraussetzung für das Einhängen von NFSv3-Dateisystemen ist die Ausführung des RPC-Port Mapper. Diesen Dienst starten Sie durch Eingabe des Kommandos rcportmap start als root. Sobald diese Voraussetzung erfüllt ist, können entfernt exportierte Dateisysteme genau wie lokale Festplatten mithilfe des Befehls mount auf folgende Weise im Dateisystem eingehängt werden:

mount host:remote-path local-path

Wenn das Verzeichnis /home vom Computer nfs.example.com importiert werden soll, erstellen Sie zunächst ein lokales /home-Verzeichnis und geben Sie danach folgendes Kommando ein:

mount nfs.example.com:/home /home

28.1.3. Manuelles Importieren von NFSv4-Dateisystemen

Der idmapd-Dienst muss verfügbar sein und auf dem Client ausgeführt werden, damit ein NFSv4-Import durchgeführt werden kann. Starten Sie den idmapd-Dienst an der Eingabeaufforderung durch Eingabe von rpc.idmapd. Überprüfen Sie den Status von idmapd durch Eingabe von ps x | grep rpc.idmapd.

Die idmapd-Dienste erhalten ihre Konfigurationsparameter aus der Datei /etc/idmapd.conf. Der Wert des Parameters Domain muss auf allen NFSv4-Servern und -Clients der Domäne identisch sein. Er kann zum Beispiel localdomain lauten. Stellen Sie sicher, dass der angegebene Wert für den NFS-Client und den NFS-Server identisch ist.

Führen Sie NFSv4-Importe durch Eingabe eines Befehls an der Shell-Eingabeaufforderung aus. Geben Sie folgenden Befehl ein, um entfernte NFSv4-Dateisysteme zu importieren:

mount -t nfs4 host:/ local-path

Ersetzen Sie host durch den NFS-Server, auf dem ein oder mehrere NFSv4-Exporte gehostet werden, und ersetzen Sie local-path durch den Verzeichnisspeicherort auf dem Client-Computer, an dem der Export eingehängt werden soll. Um beispielsweise /home, das mit NFSv4 auf nfs.example.com exportiert wurde, nach /local/home zu importieren, verwenden Sie folgendes Kommando:

mount -t nfs4 nfs.example.com:/ /local

Der Pfad des entfernten Dateisystems, der auf den Servernamen und einen Doppelpunkt folgt, wird immer durch einen Schrägstrich („/“) dargestellt. Dies unterscheidet sich von der Angabe bei v3-Importen, bei denen der genaue Pfad des entfernten Dateisystems angegeben ist. Dieses Konzept wird als Pseudo-Dateisystem bezeichnet, das in Abschnitt 28.2, „Exportieren von Dateisystemen über NFS“ erläutert wird.

28.1.4. Verwenden des Diensts zum automatischen Einhängen

Genau wie die regulären Einhängungen für lokale Geräte kann auch der autofs-Daemon zum automatischen Einhängen von entfernten Dateisystemen verwendet werden. Fügen Sie dazu 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, wenn die Datei auto.nfs entsprechend beendet wurde. Der Name auto.nfs wurde nur der Einfachheit halber ausgewählt — Sie können einen beliebigen Namen auswählen. Fügen Sie der ausgewählten Datei (erstellen Sie diese, wenn sie nicht vorhanden ist) Einträge für alle NFS-Einhängungen wie im folgenden Beispiel dargestellt hinzu:

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

Stellen Sie sicher, dass auto.nfs mit dem Kommando chmod 755 auto.nfs ausgeführt werden kann. Aktivieren Sie die Einstellungen danach mit rcautofs start. 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 dem Ausführen des Diensts autofs bearbeitet wird, muss die automatische Einhängung erneut gestarted werden, damit die Änderungen wirksam werden. Verwenden Sie dazu den Befehl rcautofs restart.

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

NFSv4-Einhängungen können der Datei /etc/fstab auch manuell hinzugefügt werden. Verwenden Sie für diese Einhängungen in der dritten Spalte nfs4 statt nfs und stellen Sie sicher, dass das entfernte Dateisystem in der ersten Spalte nach nfs.example.com als / angegeben ist. Eine typische Zeile für eine NFSv4-Einhängung in /etc/fstab sieht zum Beipsiel wie folgt aus:

nfs.example.com:/ /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. Es muss in diesem Fall wie das folgende Kommando nur den Einhängepunkt angeben:

mount /local/path

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