Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:nfs

NFS

NFS steht für Network File System und ermöglicht es, dass ein Rechner seine lokalen Verzeichnisse einem anderen Rechner der via Netzwerk mit ihm verbunden ist, zur Verfügung stellt.

Installation

Zur Installation werden mindestens die Pakete

  • xinetd (xinetd.i386 –> Superserver für die Verwaltung verschiedener Dienste)
  • portmap (portmap.i386 –> Protokoll für NFS)
  • nfs-utils (nfs-utils.i386)
  • nfs-utils-lib (nfs-utils-lib.i386)

benötigt, welche auf dem Zielrechner vorhanden sein müssen.

Konfiguration

Konfigurationsdateien

Die Konfiguration bezieht sich in erster Linie auf den Ziel-Rechner.

Hier müssen der Dienst (Daemon) nfsd und einige andere Komponenten gestartet werden, um das „mounten“ eines über das Netzwerk erreichbaren entfernten Dateisystems, einbinden zu können.

Bevor ein Start des Dienstes (Daemon) nfsd erfolgen kann, muss mindestens die Konfigurationsdatei

  • /etc/exports (Datei mit Freigaben und Freigaberechten)

vorhanden sein. Optional können die Konfigurationsdateien

  • /etc/hosts.allow (HOST mit Zugrifferlaubnis und Zugriffkonfiguration)
  • /etc/hosts.deny (HOST mit Zugriffverweigerung und Verweigerungskonfiguration)

angegeben werden.

Die zentrale Konfiguration für NFS ist /etc/exports. Diese Datei steuert, welcher Rechner auf welches Verzeichnis auf den Ziel-Rechner mit welchen Rechten und welcher Konfiguraton zugreiffen darf.

Hier ein Beispiel:

# /etc/exports
/home/klaus   192.168.0.2(rw,async,no_root_squash)

Eine ausführliche Erklärung der einzelnen Bereiche der Konfigurationsdateien, sowie der Optionen können über die Befehle

# man exports
# man hosts.allow
# man hosts.deny
abgerufen werden.

Eine Option sei hier an dieser Stelle jedoch kurz beschrieben. Die Option aus obrigen Beispiel no_root_squash. Sie bewirkt, dass beim „mounten“ eines Verzeichnisses beim Ziel-Rechner vom Quell-Rechner aus durch root, dieser nicht die mit den Rechten von „nobody“, sondern mit den Rechten von „root“ agieren kann.

Änderungen an der Konfigurationsdatei /etc/exports müssen noch aktiviert werden. Dies geschieht über den Befehl

# /usr/sbin/exportfs -r
und synchronisiert die Datei /var/lib/nfs/etab mit der Konfigurationsdatei /etc/exports.

Folgende Dateien enthalten wichtige Informationen zum Betrieb von NFS:

  • /var/lib/nfs/etab (Erzeugung durch exportfs –> enthält die eigentliche Konfiguration)
  • /var/lib/nfs/rmtab (Liste von Namen der Clients und der Dataisysteme, der importierten Server)
  • /var/lib/nfs/xtab (Liste aller expliciten Rechnernamen)
  • /proc/fs/nfs/exports (Client-Liste, wie sie dem Kernel bekannt sind)

Falls Sie Änderungen an den Konfigurationsdateien hosts.allow und hosts.deny durchführen, müssen diese noch aktiviert werden. Dies geschieht über den Befehl

# /sbin/service xinetd reload
und bindet die Änderungen ein.

Benötigte Dienste (Daemons)

Der „Superserver“ xinetd sollte zwar laufen, falls nicht wird dieser über den Befehl

# /sbin/service xinetd start
gestartet.

Der Dienst (Daemon) portmap wird über folgenden Befehl

# /sbin/service portmap start
gestartet.

Der Dienst (Daemon) nfslock wird über folgenden Befehl

# /sbin/service nfslock start
gestartet.

:!: HINWEIS - Ab NFS in der Version 4 ist der portmapper nicht mehr erforderlich !

Der Dienst (Daemon) nfs und seine Komponenten werden über folgendem Befehl

# /sbin/service nfs start
gestarten.

Eine Überprüfung der auf dem Ziel-Rechner laufenden „rpc“-Dienste kann durch den Befehl

# /usr/sbin/rpcinfo -p
program vers proto   port
 100000    2   tcp    111  portmapper
 100000    2   udp    111  portmapper
 ...
durchgeführt werden.

:!: HINWEIS - Ab NFS in der Version 4 ist der portmapper nicht mehr erforderlich !

Folgende Dienste (Daemon) sind aktiv, damit die Einbindung eines NFS möglich ist:

  • /usr/sbin/xinetd („Superdaemon“ für Zugriffskontrolle)
  • /sbin/portmap (Daemon Protokoll für NFS kleiner als Version 4)
  • /usr/bin/nfslock (Daemon NFS Locking)
  • /usr/bin/nfsd (Daemon NFS)
  • /usr/sbin/rpc.mountd (Daemon mount –> „mountpoint“ setzen)
  • /sbin/rpc.statd (Daemon locking)
  • /usr/sbin/rpc.rquotad (Daemon Quotas - Speicherplatzverwaltung auf Benutzerebene)

Einbinden von Verzeichnissen (mount)

Zur Einbindung von Verzeichnissen des Ziel-Rechners auf den Quell-Rechner wird ein „mount“ auf das Verzeichnis des Ziel-Rechners vom Quell-Rechner aus ausgeführt.

Hier ein Beispiel mit den Vorgaben, dass der Ziel-Rechner die IP 192.168.0.3 besitzt und das Verzeichnis /home/klaus in der Datei /etc/exports für den Quell-Rechner mit der IP 192.168.0.2 freigegeben hat.

# mount -t nfs 192.168.0.3:/home/klaus /mnt/klaus
Danach können Sie auf das Verzeichnis /home/klaus auf dem Ziel-Rechner über den „mountpoint“ /mnt/klaus auf dem Quell-Rechner zugreifen, wie wenn es auf dem Quell-Rechner selbst vorhanden wäre.

Ein Eintrag in der Konfigurationsdatei /etc/fstab könnte wie folgt aussehen (nur relevanter Auszug):

...
192.168.0.3:/home/klaus    /mnt/klaus    nfs rw,rsize=32768,wsize=32768,intr,nfsvers=3,tcp,hard,bg,addr=192.168.0.3 0 0
...

Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
tachtler/nfs.txt · Zuletzt geändert: 2012/08/29 11:08 von klaus