27.5 Manuelles Exportieren von Dateisystemen

Die Konfigurationsdateien für den NFS-Exportdienst lauten /etc/exports und /etc/sysconfig/nfs. Zusätzlich zu diesen Dateien ist /etc/idmapd.conf für die NFSv4-Serverkonfiguration erforderlich. Führen Sie zum Starten bzw. Neustarten der Dienste das Kommando rcnfsserver restart aus. Dies startet auch rpc.idmapd, wenn NFSv4 in /etc/sysconfig/nfs konfiguriert ist. Der NFS-Server ist von einem laufenden RPC-Portmapper abhängig. Starten Sie aus diesem Grund mit rcrpcbind restart auch den Portmapper-Dienst bzw. starten Sie ihn neu.

27.5.1 Exportieren von Dateisystemen mit NFSv4

NFSv4 ist die neueste Version des NFS-Protokolls, die auf openSUSE verfügbar ist. Das Konfigurieren der Verzeichnisse für den Export mit NFSv4 unterscheidet sich geringfügig von den früheren NFS-Versionen.

Die /etc/exports-Datei

Diese Datei enthält eine Liste mit Einträgen. Mit jedem Eintrag wird ein Verzeichnis angegeben, das freigegeben wird. Zudem wird angegeben, wie das Verzeichnis freigegeben wird. Ein typischer Eintrag in /etc/exports besteht aus:

/shared/directory host(option_list)

Beispiel:

/export 192.168.1.2(rw,fsid=0,sync)
/data 192.168.1.2(rw,bind=/export/data,sync)

Für die Verzeichnisse - das sogenannte Pseudo-Root-Dateisystem - wird fsid=0 in der Optionenliste angegeben. In diesem Fall wird die IP-Adresse 192.168.1.2 verwendet. Sie können den Namen des Hosts, ein Platzhalterzeichen, mit dem mehrere Hosts angegeben werden (*.abc.com, * usw.) oder Netzwerkgruppen verwenden.

Für eine feste Gruppe von Clients stehen nur zwei Arten von Verzeichnissen zur Verfügung, die NFSv4-exportiert sein können:

  • Ein einzelnes Verzeichnis, das als Pseudo-Root-Dateisystem ausgewählt wird. In diesem Beispiel ist /export das Pseudo-Root-Verzeichnis, da fsid=0 in der Optionsliste für diesen Eintrag angegeben ist.

  • Verzeichnisse, die für die Bindung ein vorhandenes Unterverzeichnis des Pseudo-Dateisystems ausgewählt werden. In den oben angegebenen Beispieleinträgen ist /data solch ein Verzeichnis, das an ein vorhandenes Unterverzeichnis (/export/data) des Pseudo-Dateisystems /export gebunden ist.

Das Pseudo-Dateisystem ist das Verzeichnis der obersten Ebene, unter dem alle Dateisysteme, die NFSv4-exportiert werden müssen, ihren Platz einnehmen. Für einen Client bzw. eine Clientgruppe kann nur ein Verzeichnis auf dem Server vorhanden sein, das als Pseudo-Root-Verzeichnis für den Export konfiguriert ist. Für diesen Client bzw. für die gleiche Clientgruppe können zahlreiche weitere Verzeichnisse exportiert werden, indem sie an ein vorhandenes Unterverzeichnis im Pseudo-Root-Verzeichnis gebunden werden.

/etc/sysconfig/nfs

Diese Datei enthält einige Parameter, mit denen das Verhalten des NFSv4-Server-Daemons bestimmt wird. Es ist wichtig, dass der Parameter NFSv4_SUPPORT auf "yes" festgelegt ist. Mit diesem Parameter wird bestimmt, ob der NFS-Server NFSv4-Exporte und -Clients unterstützt.

/etc/idmapd.conf

Jeder Benutzer eines Linux-Rechners verfügt über einen Namen und eine ID. idmapd führt die Name-zu-ID-Zuordnung für NFSv4-Anforderungen an den Server aus und sendet Antworten an den Client. Dies muss auf dem Server und dem Client für NFSv4 ausgeführt werden, da NFSv4 nur Namen für die eigene Kommunikation verwendet.

Stellen Sie sicher, dass Benutzernamen und IDs (uid) Benutzern auf eine einheitliche Weise auf allen Rechnern zugewiesen werden, auf denen möglicherweise Dateisysteme mit NFS freigegeben werden. Dies kann mit NIS, LDAP oder einem beliebigen einheitlichen Domänenauthentifizierungsmechanismus in Ihrer Domäne erreicht werden.

Für eine ordnungsgemäße Funktionsweise muss der Parameter Domain für den Client und den Server in dieser Datei identisch festgelegt sein. Wenn Sie sich nicht sicher sind, belassen Sie die Domäne in den Server- und den Clientdateien als localdomain. Eine Beispielkonfigurationsdatei sieht folgendermaßen aus:

[General] 

Verbosity = 0 
Pipefs-Directory = /var/lib/nfs/rpc_pipefs
Domain = localdomain

[Mapping]

Nobody-User = nobody
Nobody-Group = nobody

Ändern Sie diese Parameter nur, wenn Sie ganz sicher wissen, welche Auswirkungen diese Aktion hat. Weitere Informationen finden Sie auf der man-Seite zu idmapd und idmapd.conf; man idmapd, man idmapd.conf.

Starten und Beenden von Apache

Starten Sie den NFS-Serverdienst nach dem Ändern von /etc/exports oder /etc/sysconfig/nfs mit rcnfsserver restart bzw. starten Sie den Dienst neu. Wenn Sie /etc/idmapd.conf geändert haben, laden Sie die Konfigurationsdatei erneut mit dem Kommando killall -HUP rpc.idmapd.

Wenn dieser Dienst beim Booten gestartet werden soll, führen Sie das Kommando chkconfig nfsserver on aus.

27.5.2 Exportieren von Dateisystemen mit NFSv2 und NFSv3

Dies gilt speziell für NFSv3- und NFSv2-Exporte. Informationen zum Exportieren mit NFSv4 finden Sie unter Exportieren für NFSv4-Clients.

Beim Exportieren von Dateisystemen mit NFS werden zwei Konfigurationsdateien verwendet: /etc/exports und /etc/sysconfig/nfs. Ein typischer /etc/exports-Dateieintrag weist folgendes Format auf:

/shared/directory host(list_of_options)

Beispiel:

/export 192.168.1.2(rw,sync)

Hier wird das Verzeichnis /export gemeinsam mit dem Host 192.168.1.2 mit der Optionsliste rw,sync verwendet. Diese IP-Adresse kann durch einen Clientnamen oder mehrere Clients mit einem Platzhalterzeichen (z. B. *.abc.com) oder auch durch Netzwerkgruppen ersetzt werden.

Eine detaillierte Erläuterung aller Optionen und der entsprechenden Bedeutungen finden Sie auf der man-Seite zu exports (man exports).

Starten Sie den NFS-Server nach dem Ändern von /etc/exports oder /etc/sysconfig/nfs mit dem Befehl rcnfsserver restart bzw. starten Sie ihn neu.