» SelfLinux » Linux im Netzwerk » NFS - Network File System » Abschnitt 2 SelfLinux-0.12.1
zurück   Startseite Kapitelanfang Inhaltsverzeichnis GFDL   weiter

SelfLinux-Logo
Dokument NFS - Network File System  Autoren
 Formatierung
 GFDL
 

3 Das NFS Protokoll

Was man gewöhnlich NFS nennt, setzt sich aus vier verschiedenen Protokollen zusammen. Jedes hängt von Remote Procedure Calls (RPC) und portmap (auch rpc.portmap genannt) ab. Ein portmapper wandelt RPC Programmnummern in Portnummern um. Wenn ein RPC Server startet, teilt er portmap mit, welchen Port er benutzen wird, und die verwaltete RPC Programmnummer. Wenn ein Client eine RPC Abfrage an eine gegebene Programmnummer senden möchte, kontaktiert er zuerst den Server portmap, um die Portnummer zu bekommen, die ihm Zugang zu dem gewünschten Programm gibt. Dann adressiert er die RPC Pakete an den korrespondierenden Port.

Die vier Dienste, die es NFS erlauben zu arbeiten, sind:


3.1 Network File System (nfs)

Dieses Protokoll ist die Basis und erlaubt das Erzeugen von Dateien, Suchen, Lesen oder Schreiben. Dieses Protokoll verwaltet auch die Autentifizierung und die Dateistatistiken.

Der Daemon dieses Dienstes heisst nfsd.


3.2 Mount Daemon (mountd)

Dieser ist verantwortlich für das Mounten exportierter Systeme, um auf sie mit NFS zugreifen zu können. Der Server empfängt Anfragen wie mount und umount und muss auf diese Weise Informationen über exportierte Dateisysteme bewahren.

Der Daemon dieses Dienstes heisst mountd.


3.3 Network Status Monitor (nsm)

Es wird benutzt, um Netzwerknodes zu überwachen, um den Zustand einer Maschine (Client oder Server) zu kennen. Es informiert, z.B. über einen Neustart.

Der Daemon dieses Dienstes heisst statd.


3.4 Network Lock Manager (nlm)

Um Datenänderungen durch mehrere Clients zur gleichen Zeit zu vermeiden, verwaltet dieses Protokoll ein Lock-System. Es weiss, welche Dateien benutzt werden. Auf diese Weise ist es mit Hilfe des Nsm Protokolls möglich zu wissen, wann ein Client erneut startet. Nsm befreit alle Locks des Clients, bevor sie zurückgegeben werden.

Der Daemon dieses Dienstes heisst lockd.


3.5 Kernel NFS Daemon (knfsd)

Der Daemon knfsd, verfügbar ab Kernelversion 2.4, unterstützt direkt die nfs- und nlm-Protokolle. Andererseits werden mountd und nsm noch nicht unterstützt. Wenn der NFS Server installiert und gestartet wird, kann man mit dem folgenden Befehl verifizieren, dass alles läuft:

root@linux # ps auxwww | egrep "nfs|mount|lock|stat"
root       220  0.0  0.0  1456  524 ?        S    Feb21   0:00 /sbin/rpc.statd
root      3944  0.0  0.0     0    0 ?        SW   Feb21   3:33 [nfsd]
root      3945  0.0  0.0     0    0 ?        SW   Feb21   0:00 [lockd]
root      3947  0.0  0.0     0    0 ?        SW   Feb21   3:42 [nfsd]
root      3948  0.0  0.0     0    0 ?        SW   Feb21   3:17 [nfsd]
root      3949  0.0  0.0     0    0 ?        SW   Feb21   3:00 [nfsd]
root      3950  0.0  0.0     0    0 ?        SW   Feb21   3:38 [nfsd]
root      3951  0.0  0.0     0    0 ?        SW   Feb21   3:28 [nfsd]
root      3952  0.0  0.0     0    0 ?        SW   Feb21   3:35 [nfsd]
root      3953  0.0  0.0     0    0 ?        SW   Feb21   4:32 [nfsd]
root      3956  0.0  0.1  1612  824 ?        S    Feb21   0:02 /usr/sbin/rpc.mountd
root     21528  0.0  0.0  1356  500 pts/0    S    12:58   0:00 egrep nfs|mount|lock|stat

Momentan sind zwei NFS-Versionen verfügbar (Versionen 2 und 3 - sie werden NFSv2 bzw. NFSv3 genannt, um sie zu unterscheiden). NFS4 befindet sich noch in der Entwicklungsphase, und ist im  Kernel als experimentell gekennzeichnet.

Bei NFS geht es um eine Datenstruktur, die file handle genannt wird. Dies ist eine Bitserie, die auf eindeutige Weise erlaubt, jedes Dateisystemobjekt (wie eine Datei, aber nicht nur Dateien) zu identifizieren. Sie enthält z.B. den Datei-Inode, aber auch einen Eintrag, der das Gerät, auf dem sich die Datei sich befindet, enthält. Daher können wir NFS als ein Dateisystem betrachten, das in ein Dateisystem eingebettet ist.



zurück   Seitenanfang Startseite Kapitelanfang Inhaltsverzeichnis GFDL   weiter