Mit NFS können Sie lokale Dateien und Dateiverzeichnisse für die Bearbeitung an einem fernen Rechner bereitstellen und von fernen Rechnern bereitgestellte Dateien und Dateiverzeichnisse an Ihrem Rechner bearbeiten, als ob es sich um lokale handelt. In Bild 1 kann zum Beispiel das Dateiverzeichnis V1 des BS2000-Rechners am UNIX-Rechner bearbeitet werden, als ob es ein Teil der lokalen Datei-Hierarchie wäre. Selbstverständlich ist auch der umgekehrte Fall möglich, wobei am BS2000-Rechner ein von einem fernen System bereitgestelltes Dateiverzeichnis eingehängt und bearbeitet wird.
Bild 1: Verteilter Dateizugriff mit NFS in einem heterogenen Netz
Dateisystem, Dateiverzeichnis und Datei
NFS bearbeitet hierarchische Dateisysteme wie z.B. das UNIX-Dateisystem, das aus Dateiverzeichnissen und Dateien besteht. Die gesamte Datei-Hierarchie eines UNIX-Rechners besteht meistens aus mehreren Dateisystemen. Die Dateien und Dateiverzeichnisse eines einzelnen Dateisystems befinden sich physikalisch auf demselben Speichermedium, z.B. auf einer Partition.
Die Dateien und Dateiverzeichnisse aller Dateisysteme eines Rechners bilden zusammen einen Dateibaum. Die Wurzel ist das Root-Dateiverzeichnis. Von hier aus wird in andere Dateiverzeichnisse verzweigt. Dateiverzeichnisse dienen der Gruppierung von Dateien. Die Dateien sind die Blätter des Dateibaums. Von einer Datei aus ist keine Verzweigung mehr möglich.
Ressourcen
Da NFS ein abstraktes Dateisystem-Modell definiert und betriebsystemübergreifend arbeitet, wird für alle Dateien und Datei-Hierarchien, die mit NFS benutzt werden, der Begriff Ressource verwendet. In UNIX-Umgebungen sind Ressourcen beliebige Ausschnitte aus der Datei-Hierarchie, d.h. einzelne Dateien, Dateiverzeichnisse oder ein Dateisystem.
Client und Server
NFS basiert auf dem Client/Server-Prinzip:
Ein System wird als NFS-Server bezeichnet, wenn es lokale Ressourcen für ferne Systeme bereitstellt.
Ein System wird als NFS-Client bezeichnet, wenn es Ressourcen benutzt, die von einem fernen System bereitgestellt wurden.
BS2000 kann, wie jedes System mit einem lokalen Massenspeicher, gleichzeitig Client und Server sein, wenn es sowohl auf die Ressourcen anderer Systeme zugreift als auch lokale Ressourcen für andere Systeme bereitstellt.
Bereitstellen (share) und Einhängen (mount)
Ein NFS-Server stellt seine lokale Datei-Hierarchie oder Ausschnitte daraus mit dem Kommando share für die Bearbeitung durch NFS-Clients in anderen Systemen bereit. Der NFS-Server kann beliebige Teile seiner Datei-Hierarchie bereitstellen. Die Teile dürfen sich allerdings nicht überlappen.
Ein NFS-Client, der von einem fernen System bereitgestellte Ressourcen bearbeiten will, muss die fernen Ressourcen in seiner Datei-Hierarchie mit dem Kommando mount einhängen und kann dann auf sie zugreifen, als ob sie zu seiner lokalen Datei-Hierarchie gehören. Der Name des Verzeichnisses, unter dem die ferne Ressource eingehängt ist, wird Einhängepunkt genannt. Wenn in diesem Verzeichnis bereits Dateien und Dateiverzeichnisse vorhanden sind, werden sie durch die eingehängte ferne Ressource verdeckt.
Transparenter Zugriff
NFS-Clients hängen die fernen Ressourcen in ihren lokalen Dateisystemen ein. Beim Einhängen wird keine Kopie der fernen Ressource erstellt. Die Bearbeitung der fernen Ressource erfolgt über eine Reihe von Prozeduraufrufen (RPCs), die dem Benutzer des lokalen Systems jedoch verborgen bleiben. Für den Benutzer ist kein Unterschied zwischen lokalen und fernen Ressourcen erkennbar. Er hat nur mit einer einzigen Datei-Hierarchie zu tun, in der er alle Dateien und Dateiverzeichnisse auf dieselbe Art bearbeiten kann.
Eigentümer und Verwalter der "physikalischen" Dateien ist das System, das die Dateien für ferne Systeme mit dem Kommando share bereitstellt, also der jeweilige NFS-Server.