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

26.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,crossmnt)
/export/data 192.168.1.2(rw,bind=/data,sync)

Hier wird die IP-Adresse 192.168.1.2 verwendet, um den erlaubten Client zu identifizieren. Sie können auch den Namen des Hosts, ein Platzhalterzeichen, mit dem mehrere Hosts angegeben werden (*.abc.com, * usw.) oder Netzwerkgruppen (@my-hosts) verwenden).

Das Verzeichnis, das fsid=0 angibt, ist speziell, da es die Root des exportierten Dateisystems darstellt. Gelegentlich wird es auch als Pseudo-Root-Dateisystem bezeichnet. Dieses Verzeichnis muss für den fehlerfreien Betrieb mit NFSv4 auch über crossmnt verfügen. Alle anderen Verzeichnisse, die über NFSv4 exportiert wurden, müssen unterhalb dieser Position eingehängt werden. Wenn Sie ein Verzeichnis exportieren möchten, das sich normalerweise nicht unter diesem exportierten Root befindet, muss es in den exportierten Baum eingebunden werden. Das ist über die Syntax bind= möglich.

Im obigen Beispiel befindet sich /data nicht unter dem Verzeichnis /export, jedoch möchten wir es trotzdem exportieren. Daher exportieren wir /export/data und geben an, dass das Verzeichnis /data an diesen Namen gebunden werden soll. Das Verzeichnis /export/data muss existieren und sollte normalerweise leer sein.

Beim Einhängen der Clients von diesem Server sollte damit nur servername:/ anstelle von servername:/export eingehängt werden. Es ist nicht erforderlich, auch servername:/data einzuhängen. Dieses Verzeichnis erscheint automatisch unter dem Einhängepunkt von servername:/.

/etc/sysconfig/nfs

Diese Datei enthält einige Parameter, mit denen das Verhalten des NFSv4-Server-Dämons 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.

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