|
Verteile Dateisysteme (Beispiel NFS)
Das Network File System (NFS) ist ein verteiltes Dateisystem, das transparenten Zugriff
auf die Festplatten eines fernen Rechners bietet. Für den Benutzer unterscheiden sich ferne über NFS eingehängte Dateisysteme nicht von lokalen Dateisystemen. NFS stellt eine Client/Server-Beziehung zwischen den beteiligten Rechnern her. Der NFS-Server stellt Dateisysteme im Netz zur Verfügung, die ein NFS-Client mit Hilfe des mount-Protokolls in sein lokales Dateisystemeinhängen kann. Auch wenn das NFS-Protokoll seinen Ursprung in der Unix-Welt hat, ist es auf Portabilität zwischen verschiedenen Rechnerarchitekturen, Betriebssystemen und Netzwerkarchitekturen ausgelegt. Als offener Standard für die Nutzung zentralerDateisysteme ist NFS in heterogenen Netzen oft eine bessere Lösung als proprietäre Protokolle. NFS betrachtet immer nur Komponenten eines Pfades, nie den kompletten Pfad auf
einmal. Der Grund ist, daß verschiedene Betriebssysteme verschiedene Darstellungsformen für
Pfade haben. Die Auflösung von Pfadnamen in die Komponenten erfolgt clientseitig.
Ziel der Entwicklung von NFS war ein zustandsloses Protokoll. Der Server braucht keine
Informationen über die Zustände seiner Clients zu speichern. Zustandslose Server haben im
Fehlerfall einen entscheidenden Vorteil gegenüber zustandsbehafteten Servern, da nach einem Neustart keine Zustände wiederhergestellt werden müssen. Ein Client braucht seine Anfrage
nur solange wiederholen, bis der Server antwortet. Wenn der Server kurzzeitig nicht erreichbar ist, kann die Clientanfrage, sobald der Server wieder läuft, bearbeitet werden.
Bei zustands-behafteten Protokollen hätte der Client dagegen nach dem Serverneustart dessen Zustand wieder aufbauen müssen (z.B neue Anmeldung) oder die Operation abbrechen müssen.
Dies ermöglicht sehr einfache Serverimplementierungen ohne komplizierte Fehlerbehandlung. Einige Datei- und Verzeichnisoperationen, z.B. das exklusive Öffnen von Dateien (locking),
sind jedoch zustandsbehaftet. Deshalb werden diese nicht im NFS-Server, sondern als separate Dienste (z.B. der Network Lock Manager für das Sperren von Dateien) implementiert.
Zum Nutzen entfernter Dateisysteme müssen diese zuerst lokal bekanntgemacht werden. Dies
geschieht mit Hilfe des Mount-Protokolls. Man spricht vom Mounten oder Einhängen der
entfernten Dateisysteme. Das Mount-Protokoll ist strenggenommen nicht Teil des
NFS-Protokolls, wird aber für dessen korrekte Funktionsweise benötigt.Der Client kann eine
Anfrage nach einer Serverfreigabe an den Mount-Server stellen. Dieser liefert, falls diese Freigabe exisitiert und der Client das Zugriffsrecht besitzt, ein Handle zurück. Mit Hilfe
dieses Starthandles kann der Client das entfernte Dateisystem per NFS durchsuchen. Der
Mount-Server ist ein zustandsbehafteter Server. Er verwaltet eine Liste aller Clients mit
gemounteten Dateisystemen. Diese Liste ist jedoch für die korrekte Funktionsweise nicht
nötig, sie wird nur für Nachrichten an die Clients genutzt (z.B. vor dem Herunterfahren
des Servers).
|
|
|