Windows NT - Tips und Tricks

Kapitel 3: Netzwerkweite Dateisysteme

Letzte Änderung: 17.9.98 von B. Tritsch

Zurück zum Inhalt


Der Zugriff auf ein lokales Dateisystem ist jedem Benutzer geläufig, da diese Funktionalität über Standardwerkzeuge wie Datei-Manager oder Explorer zur Verfügung gestellt werden. Um über die gleichen Werkzeuge auch auf Dateisysteme zuzugreifen, die auf entfernten Rechnern bereitgestellt werden, bedarf es einiger zusätzlicher Überlegungen. Dies gilt insbesondere für den Fall, daß die entfernten Dateisysteme nicht zwingend auf einem Computer unter Windows NT liegen, sondern auch der Zugriff auf Fremdsysteme gewünscht wird. Hier muß neben dem reinen Transportmechanismus der Daten aus dem Fremdsystem auch ein Übergang der Verwaltungsinstanzen von Benutzerkennungen und Paßworten bereitgestellt werden.

Common Internet File System - CIFS

Das Common Internet File System dient dem Fernzugriff von PCs unter einem Windows-Betriebssystem auf das Dateisystem eines anderen PCs unter MS-Windows. Der zugrundeliegende Mechanismus ist seit den frühen achziger Jahren besser unter dem Namen Server Message Blocks (SMB) bekannt. Erst die Ratifizierung der SMBs als offener X/Open-Standard unter dem Namen CIFS eröffnete diesem Konzept die Akzeptanz auf einer breiteren Basis. Seit 1996 fördert Microsoft die Verbreitung von CIFS aktiv durch offizielle Spezifikationen und Veröffentlichungen.

Das CIFS stellt seine Daten Benutzern zur Verfügung, nicht Computern, wie dies bei anderen Dateisystemen der Fall ist. Die Authentifikation des Benutzers wird dabei auf dem Server durchgeführt und nicht auf dem Client. Hierbei können auch spezielle netzwerkweite Authentifizierungs-Server wie z.B. Domäne-Controller oder Kerberos-Server eingesetzt werden. Der Zugriff auf die einzelnen Dateien wird dann durch Access Control Lists kontrolliert.

Ein CIFS-Server erlaubt einem Client den Zugriff über das Netzwerk auf seine lokalen Ressource, d.h. auf seine Netzwerkdateidienste. Diese sogenannten Shares auf dem Server können von einem entfernten Benutzer an ihr lokales System angebunden werden. Hierbei werden keine Benutzer-IDs über das Netzwerk geschickt, sondern komplexe Anbindungssequenzen verwendet, die nur schwer angreifbar sind. Dies resultiert in einer hohen Granularität und einer erhöhten Sicherheit im Bezug auf den Benutzerzugriff. Weiterhin kann das CIFS sehr effektiv mit der Behandlung von gleichzeitigen Benutzerzugriffen auf Dateien umgehen. Dies wird insbesondere bei der relativen Unempfindlichkeit eines NT-Systems bei dem konkurrierenden Zugriff auf Systemdateien sichtbar.

Jeder Server stellt dem Netzwerk eine eigenständige Dateistruktur zur Verfügung. In Bezug auf Speicher oder Dienste besteht keine Abhängigkeit zu anderen Servern. Eine Datei muß auf einem einzelnen Server vollkommen eigenständig vorhanden sein. Das Kernprotokoll für die Freigabe von Dateien erfordert die Server-Echtheitsbestätigung von Benutzern, bevor Dateizugriffe erlaubt werden. Jeder Server-Prozessor bestätigt die Echtheit der eigenen Benutzer. Ein Benutzer muß sich immer an den Server anmelden, auf den er zugreifen möchte. Dieses Modell der Echtheitsbestätigung setzt voraus, daß autonome Systeme über das LAN miteinander verbunden sind, die einen Teil ihrer lokalen Dateien Benutzern im Netzwerk zur Verfügung stellen

Durch die Kopplung des Dateizugriffs an einen Benutzer reagiert das CIFS-Konzept jedoch recht empfindlich bei einem plötzlichen Verbindungsabbruch durch den Server. Dies fällt insbesondere beim Neustart eines Servers ins Gewicht, bei dem er die Informationen über Benutzer- und Gruppen-IDs von aktuell zugreifenden Benutzern verliert. Applikationen reagieren auf einen solchen Zustand zum Teil wie auf eine plötzlich ausgefallene lokale Festplatte. Oftmals genügt jedoch auch die erneute Authentifizierung des Benutzers für eine Weiterarbeit.

Network File System - NFS

Das Network File System wurde von der Firma Sun Microsystems, Inc. entwickelt und auf dem Markt etabliert. Sun verfolgte dabei die Philosophie der verteilten und offenen Systeme. Daher wurde NFS von Anfang an so konzipiert, daß es die Kopplung von Rechnern verschiedener Hersteller mit den unterschiedlichsten darauf ablaufenden Betriebssystemen erlaubt.

Die Spezifikation der NFS-Protokolle wurde von Sun veröffentlicht, eine Referenzimplementation für UNIX ist allen interessierten Parteien für einen günstigen Preis zugänglich. Die meisten Hersteller von UNIX- und PC-Systemen haben haben diese Referenzimplementation oder eine Variante davon auf ihre Rechner portiert und führen dafür Lizenzgebühren an Sun ab. Damit wurde NFS (zumindest für die UNIX-Welt) zum de-facto Standard für den verteilten Dateizugriff.

Die Nutzung im Internet-Umfeld ist evident: NFS erlaubt die Kopplung von Rechnern an einem Standort und damit die Verbindung ihrer Dateisysteme. Dadurch lassen sich vorher getrennte Rechner, die verschiedene Internet-Dienste zur Verfügung stellen, als eine logische Einheit betrachten.

NFS erlaubt Programmen, auf Dateien in NFS-Server-Rechnern schreibend und lesend zuzugreifen. Der Zugriff geschieht für diese Programme transparent: sie müssen für den Betrieb mit NFS weder abgeändert, noch speziell vorbereitet oder mit zusätzlichen Parametern aufgerufen werden. Die Dateien im NFS-Server werden zugänglich gemacht, indem sie zunächst exportiert werden. Die NFS-Clients greifen auf diese exportierten Dateisysteme oder Ausschnitte aus Dateisystemen zu, indem sie sie in das eigenen Dateisystem einhängen. Dies wird im Netzwerkjargon "mounten" genannt. Die Bereitstellung der Zugriffsmöglichkeit erfolgt also nicht auf Veranlassung des zugreifenden Programms, sondern muß bereits vor dem Zeitpunkt des Zugriffs für lokale Systeme geschehen sein. Hierbei wird die Zugriffsmöglichkeit einem Client-Rechner gewährt und nicht einem Benutzer.

Ein Teilaspekt der Transparenz ist die Geschwindigkeit des Dateizugriffs über das Netz. Diese muß so hoch sein, daß kein merklicher Unterschied zu einem lokalen Plattenzugriff bemerkbar ist.

Der Zugriffsmechanismus von NFS ist zustandslos. Dies bedeutet, daß keine permanente Verbindung zwischen Client und Server besteht und daher ein Client recht problemlos mit dem zwischenzeitlichen "Reboot" eines Servers umgehen kann. Diese recht effektive Fehlerbehandlung von NFS geht zu Lasten von Ausschließungsmechanismen beim gleichzeitigen Zugriff mehrerer Benutzer auf die selbe Datei. Hier zeigt sich NFS als sehr empfindlich, d.h. Dateien können bei einem konkurrierenden Zugriff leicht korrumpiert werden.

Ist der NFS-Server ein UNIX-Rechner, so muß für die Authorisierung einer Datenübertragung zum PC auf einer UNIX-Plattform im Intranet ein Pcnfs-Daemon (pcnfsd) gestartet sein. Zudem sollte der Lock-Daemon (lockd) auf der Zielmaschine laufen, der für minimale Sicherheitsmechanismen bei einem konkurrierenden Dateizugriff durch mehrere Benutzer sorgen soll.

Für den Zugriff auf NFS-Ressourcen stehen für Windows NT eine Reihe von NFS-Clients zur Verfügung. Sie sind jedoch nicht direkt von Microsoft, sondern ausschließlich über "Third Party Herstellern" erhältlich. Dies sind z.B. Sun PC-NFS, Chameleon NFS oder NCD NFS. Problematisch für viele NT-Anwendungen, die über NFS auf Daten zugreifen, ist der mögliche Verlust der Netzwerkverbindung. Die Anwendungen reagieren dann oftmals wie bei einem Zugriffsfehler auf einen lokalen Datenträger mit vollständiger Blockierung.

Distributed File System - DFS

Die Bereitstellung eines CIFS- oder SMB-basierten, verteilten Dateisystems nach dem Vorbild von NFS war das Entwicklungsziel des Distributed File System. Es erlaubt Administratoren eines NT-Servers ab der Version 4 eine einzige exportierte Verzeichnisressource (Share) über einen zentralen Punkt im Netzwerk verfügbar zu machen, der Shares von verschiedenen anderen Quell-Servern kombiniert. Die einzige Vorraussetzung, die Quellrechner mitbringen müssen, ist ihre Fähigkeit mit SMBs umgehen zu können. Daher kann neben Windows auch OS/2 oder UNIX über Samba eingesetzt werden.

Die eingebundenen Shares sehen unter DFS aus wie Unterverzeichnisse auf dem zentralen Server. Die importierten Ressourcen können somit wiederum exportiert werden, was ohne DFS nicht möglich ist. Konzeptionell kann auf diese Weise ein einziger Zugang zu allen Shares im Netzwerk bereitgestellt werden. Dadurch lassen sich beispielsweise Backup-Prozeduren deutlich vereinfachen. Weiterhin können auch unterschiedliche, baumartig strukturierte Sichtweisen auf die Shares generiert werden, die unterschiedlichen Zwecken dienen können. In der vorliegenden Version kann pro DFS-Server nur ein einziger DFS-Share exportiert werden. Dies soll sich jedoch in naher Zukunft ändern.

DFS.gif (24399 Byte)

Abbildung: Beispiel für den Aufbau eines DFS-Verzeichnisbaums.

Zum nächsten Kapitel