Einfacher Versand
Netzwerkdateisystem NFS
Exportieren, importieren
Für den ersten Test exportieren Sie mit dem Befehl exportfs -o rw,sync 192.168.1.0/8:/tmp das Verzeichnis /tmp an alle Clients im Netzwerk 192.168.1.0/24 für Lese- und Schreibzugriff (siehe Tabelle "Export-Optionen").
TIPP
Vermeiden Sie, Dateisysteme wie FAT zu exportieren, die keine stabilen Inode-Nummern zur Verfügung stellen. Mit Ext2/3, ReiserFS und JFS sollte es keine Probleme geben.
Export-Optionen
| Export-Option | Bedeutung |
|---|---|
ro
|
Verzeichnis nur mit Lesezugriff exportieren |
rw
|
Verzeichnis lesend und schreibend exportieren |
sync
|
Synchrone Schreibvorgänge. Der Client wartet, bis der Schreibvorgang beendet ist. Langsamer, mit NFS v2 sicherer und empfohlen. |
async
|
Asynchrone Schreibvorgänge. Erlaubt das Zwischenspeichern von zu schreibenden Daten bei Client und Server. Unsicherer mit NFS v2, ab NFS v3 nicht mehr nötig. |
root_squash
|
Setzt root auf den nicht priviligierten Benutzer @TL:nobody mit der Gruppe nobody um. Empfohlen und Standard.
|
no_root_squash
|
Erlaubt root vollen Zugriff mit Root-Rechten.
|
subtree_check
|
Überprüft, ob ein Dateihandle wirklich innerhalb des exportierten Verzeichnisses liegt. Sicherer, jedoch auch fehleranfällig. |
no_subtree_check
|
Keine diesbezügliche Überprüfung. Empfohlen und Standard ab nfs-utils 1.10 [5].
|
Auf dem Client zeigt der Befehl showmount -e NFS-Server
eine Liste der Exports. Mit mount -o intr NFS-Server
:/tmp /mnt/nfs mounten Sie auf dem Client den Export /tmp des Servers NFS-Server im Verzeichnis /mnt/nfs mit der Option intr (siehe Tabelle "Mount-Optionen"). Geben Sie keine Optionen für das Einhängen an, so wählt Linux sinnvolle Vorgaben, die Sie nach dem Mounten mit cat /proc/mounts anzeigen.
Mit umount /mnt/nfs melden Sie das Dateisystem wieder ab, und mit exportfs -u 192.168.1.0/24:/tmp beenden Sie auf dem Server den Export.
Mount-Optionen
| Mount-Option | Bedeutung |
|---|---|
intr
|
Unterbrechung von NFS-Vorgängen mit [Strg]+[C] erlauben |
hard
|
NFS-Clients warten bei unterbrochener Netzwerkverbindung oder Servercrash auf erneute Verbindung. Standard. |
soft
|
NFS-Clients brechen bei unterbrochener Netzwerkverbindung nach einer eingestellten Zeit ab (timeo-Option). Bei UDP nicht empfehlenswert wegen erhöhtem Risiko von Datenverlusten bei Verbindungsabbrüchen.
|
rsize, wsize
|
Puffergröße fürs Lesen und Schreiben (in Bytes). Schneller geht es bei aktuellen Netzwerk-Karten mit 8192 Bytes [6]. |
Exporte automatisieren
Es ist umständlich, Verzeichnisse jedes Mal von Hand zu exportieren und zu mounten. Tragen Sie Exports daher in /etc/exports ein (oder verwenden Sie YaST). Der Aufbau der Exports-Datei folgt dem Muster Verzeichnis HostoderNetz(Export-Optionen) HostoderNetz(Export-Optionen) … (siehe Listing 1). Mit exportfs -ra informieren Sie den Server über angefallenene Änderungen.
Listing 1
# /etc/exports auf Server deepdance # # Verzeichnis für einen einzelnen Host /srv/deepdance deepdance(rw,sync,no_subtree_check) # Austausch-Verzeichnis /srv/tausch 192.168.1.0/24(rw,sync,no_subtree_check) 127.0.0.0/8(rw,sync,no_subtree_check) # Nur-Lesen-Verzeichnis /srv/lesen 192.168.1.0/24(ro,sync,no_subtree_check) *.local(ro,sync,no_subtree_check)
Der NFS-Kernel-Server setzt die Rechte zwischen Client und Server anhand der numerischen Benutzer- und Gruppen-ID eins zu eins um. Das auf dem Server exportierte Verzeichnis muss für den Benutzer auf dem Client beschreibbar sein, wenn Sie Dateien speichern und Verzeichnisse anlegen möchten.
Arbeiten Sie mit mehreren Benutzern und Gruppen gleichen Namens auf unterschiedlichen Maschinen, sollten diese jeweils die gleiche Benutzer- und Gruppen-ID haben. Für Gruppenverzeichnisse eignet sich das setgid-Recht (s) [7]. Für Root wählt NFS standardmäßig den Benutzer und die Gruppe nobody, um den direkten Root-Zugriff auf den NFS-Server zu vermeiden (root_squash).
Auf der Client-Seite bietet /etc/fstab die Möglichkeit zur NFS-Automatisierung [8]: In der ersten Spalte der Datei steht der Export, in der zweiten das lokale Verzeichnis, in Spalte 3 als Dateisystem nfs, in Spalte 4 die gewünschten Mount-Optionen und in den nächsten beiden Spalten jeweils "0", da weder ein etwaiges Backup via dump noch ein Dateisystemcheck auf dem Client Sinn machen (siehe Listing 2). Eine grafische Oberfläche zu Einrichtung bietet YaST unter Netzwerkdienste | NFS-Client.
Listing 2
# /etc/fstab … ### NFS-Importe von deepdance # NFS zu Haus deepdance:/srv/tausch /mnt/nfs-tausch nfs user,noauto,intr,rsize=8192,wsize=8192 0 0 # Nur lesen deepdance:/srv/lesen /mnt/nfs-lesen nfs user,noauto,intr,rsize=8192,wsize=8192 0 0 # Beispiel für Homeverzeichnisse #deepdance:/srv/homes /home nfs intr,rsize=8192,wsize=8192 0 0 …



