Suche

DFS in der Praxis

Ralf Utermann, Insitut für Physik

Aufbau einer neuen Serverumgebung mit dem "Distributed File System" (DFS) am Institut für Physik

erschienen Juli 1999 in: Augsburg
Verlag: Selbstverlag
ISSN 1435-1684


In einer verteilten DV-Landschaft ist ein gemeinsames Dateisystem aller beteiligten Systeme eine der Hauptkomponenten. Mit DFS ist jetzt in der Physik ein System im Einsatz, das eine Menge Schwachstellen anderer Netzwerk-Dateisysteme wie "Network File System" (NFS) oder "Shared Message Block" (Windows/SMB) vermeidet. DFS setzt als "Netzwerkbetriebssystem" das "Distributed Computing Environment" (DCE) voraus, das Dienste wie Benutzerverwaltung, Authentifizierung, global einheitliche Zeit u.a. redundant implementiert. Die Grundlagen von DCE/DFS wurden in der connect 1/1999 von Markus Zahn erläutert; mit diesem Artikel stelle ich Ihnen die konkrete Umsetzung am Institut für Physik vor.

Motivation

Dieser Beitrag beschränkt sich im wesentlichen auf das Dateisystem DFS, aber auch andere Komponenten von DCE waren für die Physik ein Grund, die vorher eingesetzte Kombination NFS/NIS zu verlassen. Beispielsweise bietet die Benutzerverwaltung erheblich mehr Möglichkeiten: Zwar können viele Unix-Systeme eine Benutzerkennung mit einer befristeten Laufzeit versehen, zu einfache Paßwörter zurückweisen und vieles mehr, aber über NIS werden diese Information nicht transportiert - das alles ist kein Problem mit DCE. Weitere Motivation: Sicherheitsprobleme mit der alten Lösung und die Tatsache, daß man auf jeder Plattform Dienste aus verschiedenen Quellen zusammenfügen muß, die DCE dem Betreiber integriert in einem Paket bietet - und das für viele Plattformen.

Überblick

ACLs unter DFS
Im DFS besitzt jedes Objekt (Verzeichnis oder Datei) eine Liste von Zugriffsrechten (Access Control List, ACL). Folgende Rechte können dabei verwendet werden: read, write, execute, control, insert und delete.

Um z.B. ein Verzeichnis umzubenennen, braucht man ein w, x, d, i für das übergeordnete Verzeichnis, ein w für das Verzeichnis und ein x für alle übergeordneten Verzeichnisse. Diese Rechte können an verschiedene Personen und Gruppen vergeben werden: Zum einen an den Eigentümer, seine primäre Gruppe und den Rest der Welt. Desweiteren kann man beliebigen Benutzern oder Gruppen Rechte zuweisen und kann so sehr differenziert steuern, wer in einem Verzeichnis welche Rechte hat.

Zu jedem Verzeichnis gehört auch noch die Information, welche Rechte (als Voreinstellung) neu im Verzeichnis erstellte Dateien und Verzeichnisse bekommen. Diese Information wird nach unten weitervererbt.

Das verteilte Dateisystem DFS ist mittlerweile in der Physik Grundlage aller verteilten Rechner- Aktivitäten (Siehe Abbildung). Den Systembetreuer interessieren dabei vor allem Dinge wie Administrierbarkeit, Ausfallsicherheit, Performance der Fileserver, Wiederanlaufzeit nach einem Absturz usw. Genau hier kann DFS einiges bieten. Für die Benutzer sind ebenso viele Eigenschaften interessant, z.B. die Möglichkeit zu detaillierter Rechtevergabe auf Dateien (Kasten: ACL), aber in erster Linie geht es darum, daß alles wie gewohnt funktioniert und zwar vor allem von der eigenen Rechnerplattform aus. Tatsächlich muß nur derjenige, der neue Möglichkeiten nutzen will, Neues dazulernen.

Auch Plattformen, die selbst nicht DFS-fähig sind, sollen möglichst gut integriert werden. N Plattformen sollen eben nicht N Benutzerverwaltungen, N Dateisysteme usw. mit dem entsprechenden Betreuungsaufwand nach sich ziehen. Am Institut für Physik kann man mit Blick auf die Skizze sicher von einer sehr heterogenen Umgebung sprechen (oft zum Leidwesen des EDV-Betreuers). Mittlerweile haben wir aber eine Reihe von Diensten und Werkzeugen im Einsatz, die gerade diese Plattformen ins DFS integrieren, selbst wenn sie das von sich aus nicht beherrschen.

Das Dateisystem

Fileserver Hardware
Die aktuell eingesetzten Server (Fileserver und Gateway) sind SMP-Maschinen der Serie IBM RS/6000-F50. Der Haupt-Fileserver in der Physik verfügt aktuell über etwa 60GB SSA-RAID5- Kapazität in hot-swap Laufwerken. SSA ist wie FibreChannel eine Technologie mit Performance oberhalb von UltraSCSI; der verwendete Adapter kann bis zu 96 Platten ansteuern, die man übrigens in keiner Weise mit irgendwelchen Ids konfigurieren muß, das passiert alles automatisch und freut daher den Administrator. Bei einem RAID5 konfiguriert man mehrere Festplatten in ein "RAID-Array" (bei uns aktuell 7+1 x 9.1GB). Die Daten werden parallel auf alle Platten geschrieben ("striping") und zusätzlichen wird eine Paritätsinformation abgespeichert, die den Weiterbetrieb ohne Datenverlust bei Ausfall einer Platte gewährleistet.

Am Netz (siehe letzte Ausgabe connect) hängen beide Server mit einer 155-MBit ATM Anbindung; da die Clients bei uns derzeit in aller Regel mit 10MBit/s zugreifen, kann das Netz im Moment nie zum Flaschenhals werden. Der Gateway-Server, auf dem sehr viele Prozesse aktiv sind, ist dafür mit 4 Prozessoren und 1.3GB RAM ausgestattet. Ähnliche Server sind im Rechenzentrum an verschiedenen zentralen Bereichen im Einsatz.

In der Mitte der Skizze steht ein weltweit eindeutiger Namensraum für das Dateisystem in der DCE-Zelle der Universität Augsburg. In diesen Namensraum hinein können die Fileserver der Physik (Tabelle: Fileserver Hardware) ihre Speicherkapazität zur Verfügung stellen ("exportieren"). Dieser Plattenplatz wird an einem beliebigen Punkt "angehängt". Weit oben stehende Verzeichnisse werden aus Sicherheitsgründen mehrfach vorgehalten ("repliziert"). Alle Daten eines Benutzers werden in einer logischen Einheit, dem "fileset", zusammengefasst und auf dieser Basis wird eine Beschränkung des Plattenplatzes pro Benutzer ("quota") festgelegt. Täglich um 5.30 Uhr wird von allen Daten eine schreibgeschützte Kopie erstellt, auf die der Benutzer lesend zugreifen kann; eine ziemlich praktische Einrichtung, um sich schnell den Stand von morgens früh zu holen, z.B. wenn man versehentlich eine Datei gelöscht hat. Letztlich wird von diesem "backup fileset" tatsächlich der Backup auf externe Medien oder ins Backup/Archivsystem ADSM gemacht.

Systeme mit DCE/DFS

Für viele Plattformen, wie IBM AIX oder Windows NT (siehe Kasten: DCE für Windows NT), gibt es die DCE/DFS Software, mit der man direkt auf das DFS zugreifen kann. Dabei muß auf der Client-Seite nicht fest konfiguriert werden, welche Daten von welchem Server kommen. Das wird zur Zugriffszeit von einem (redundant vorhandenen) Verzeichnisdienst erledigt und ist auf den ersten Blick für den Benutzer nicht sichtbar. Dies entspricht einem völlig anderen Zugangskonzept als bei NFS oder dem Windows-Netzwerk über SMB, wo man sich immer mit einem bestimmten Server verbinden muß. Dieser Zugang bietet daher enorme Vorteile. Egal auf welchem Rechner in der Zelle man einen Dienst in Anspruch nimmt, der Benutzer hat immer Zugriff auf z.B. sein Home-Verzeichnis; der Betreuer der anderen Rechner muß nicht extra einen neuen Zugriff konfigurieren (z.B. ein Dateissystem "mounten"). Und es kommt noch besser: der Zugriff sieht auch überall gleich aus. Es kann nicht passieren, daß man einmal über einen Laufwerksbuchstaben H:, woanders aber über G: zu seinen Daten kommt. Für einen Rechenauftrag, der von einem batch-job Verteiler (siehe connect 1/1997) irgendwo auf einer freien Maschine gestartet wird, wäre so etwas nicht nur ärgerlich sondern führt potentiell zum Absturz.

Ein schöne Eigenschaft, die durch dieses Design möglich wird, ist das Verschieben von Benutzerdaten im laufenden Betrieb. Wenn man auf dem DFS Server A noch genug Plattenplatz übrig hat und der Server B aus irgendwelchen Gründen heruntergefahren werden muß, kann man die Daten im Betrieb von B nach A verlegen. Dabei stört es überhaupt nicht, wenn gerade Benutzer daran arbeiten oder im Hintergrund auf einer Maschine ein Rechenauftrag läuft. Wir haben das beim Neuaufbau der Server in der Physik verschiedentlich und ohne Probleme durchgeführt, sei es wegen Betriebssystem-Upgrades auf einem der Server oder wegen angekündigter Stromabschaltungen. Weder mit NFS noch SMB ist so etwas auch nur annähernd möglich.

Die wichtigsten Kommandos für den Benutzer sind auf diesen Plattformen sind dcecp und fts. Mit dcecp kann man alles setzen was mit der Information über den eigenen account (z.B. Telefonnummer) zu tun hat und auch die genaueren Zugriffsrechte im DFS kontrollieren.Mit 'fts lsquota' erhält man Auskunft über seine disk quota. Mehr Information dazu bekommt man in den DCE/DFS-Hilfesystemen von AIX und NT.

Unix Systeme ohne DCE/DFS

Von diesen Systemen (bei uns ausschließlich Linux-Systeme) wird über ein DFS/NFS Gateway auf das DFS zugegriffen. Dazu muß man auf dem Linux-Rechner eine zusätzliche Benutzerverwaltung durchführen. Man kann das lokal einzeln auf jedem Rechner oder besser (wenn jeder Linux-Benutzer auch jeden Linux-Rechner nutzen können will) wieder mit NIS machen. Der unter NIS geführte Nutzer dient aber nur dazu den ersten Schritt zu machen, nämlich sich in den Linux-Rechner einloggen zu können. Während des login-Prozesses (oder dem Start von KDE) läuft ein Skript ab, welches das DCE-Paßwort des Benutzers erfragt und sich mittels Secure Shell (ssh) im Hintergrund in den DFS/NFS Gateway-Rechner einloggt und eine Authentifizierungszuweisung startet. Die lautet etwa "gib dem NIS Benutzer X auf dem Linux-Rechner Y Zugriff auf die DFS-Dateien des DCE Benutzers X". Dieses Zugriffsrecht gilt (falls man es nicht nach Ende der Sitzung wieder deaktiviert) solange wie die "ticket lifetime" der Zelle, bei uns derzeit sieben Tage. Das NIS-Paßwort sollte - mit Blick auf die Sicherheitsprobleme von NIS - NICHT identisch sein mit dem DCE-Paßwort. Man verliert natürlich einiges gegenüber einem original-DFS. Der Server ist fest eingetragen, und die Sicherheit ist nicht besser, als sie mit NFS sein kann - der Linux-Rechner ist gegenüber dem Gateway ein reiner NFS Client. Unter DCE/DFS kann man den Administrator einer Client- Maschine getrost für neugierig halten - er kommt an die Dateien des Benutzers nicht heran. Dem root einer NFS-Client Maschine sollte man schon vertrauen, es ist kein großer Trick nötig um alles zu sehen, was man gar nicht sehen soll ... Der Zugriff auf ein DFS/NFS-Gateway ist sogar besser als auf einen reinen NFS-Server, denn man kann das mapping nach Sitzungsende deaktivieren und dann hilft dem Linux root-user kein Trick, an die Daten zu gelangen. Im übrigen muß man da dem eigenen Linux-Admin gar keine Bösartigkeit unterstellen, Linux-Systeme sind bei Angreifern aus dem Internet leider ein beliebtes Ziel ...

Bisherige Erfahrungen: Bis auf ein paar kleinere Haken, deren Lösung bei IBM in Arbeit ist, läuft diese Methode problemlos im täglichen Betrieb. Um Zugriffsrechte zu ändern kann man (wie auch in AIX) die Unix-Kommandos und -Rechtestruktur nutzen, aber natürlich kann man damit nicht die detaillierteren ACLs setzen. Dazu muß man sich entweder auf einem echten DFS-Client (AIX, NT) einloggen und die Kommandos dcecp oder acl_edit benutzen oder die unten beschriebene Web-Schnittstelle nutzen. Ein echter DFS-Client für Linux wäre sicher viel schöner - vielleicht ist Big Blue's Linux-Kampagne ja nicht nur Marketing, da hoffen wir einfach mal.

Windows und Mac

WindowsNT + DCE/DFS
Für Windows NT gibt es einen vollwertigen DCE/DFS Client, der im Rechenzentrum über Herrn Zahn erhältlich ist (Preis ca. 200,- DM).

Praktisch finde ich daran, daß man in einer Arbeitsgruppe ohne großen Aufwand eine NT- Maschine installieren und betreiben kann, vor allem ohne eine aufwendige eigene Benutzerverwaltung aufzubauen. Mit DCE kennt der Rechner sofort alle Benutzer aus der Gruppe, denn die haben sowieso im Institut eine DCE-Kennung und wenn's vielleicht bisher auch nur für E-Mail war.

Windows: Die beste Methode, Windows-Rechner einzubinden, ist die Installation von NT und der DCE/DFS-Software für NT. Kommt man aber um Windows95/98 nicht herum, muß man diesen Clients das bieten, was sie können, also den Zugriff per Windows-Netzwerk über SMB. Grundsätzlich könnte man das über eine DCE-angepasste Version des frei verfügbaren Samba machen. Da dies aber derzeit nicht so zur Verfügung steht, wie wir es brauchen (wir werden uns allerdings in dieser Richtung weiter bemühen) und auch, weil man die Plattform Apple gleich mit "erschlagen" kann, haben wir uns für das kommerzielle Paket Totalnet Advanced Server (TAS) der Firma Syntax (www.syntax.com) entschieden. Der erste Eindruck ist recht positiv, über Details und Performance unter hoher Last kann derzeit aber noch nicht allzuviel gesagt werden.

Zur Nutzung: Per (SSL-abgesicherter) Web-Schnittstelle kann der Benutzer sich für dieses DFS/SMB Gateway registrieren. Unter Windows95/98 muß man sich dann mit genau dieser DCE-Kennung auch beim Windows anmelden (das Paßwort kann und sollte verschieden sein!). Der Benutzer findet dann (in den Subnetzen der Physik) in der Netzwerkumgebung auf dem PC einen Fileserver, der das DFS-Verzeichnis der Gruppe oder das Home-Verzeichnis zur Verfügung stellt. Oder man richtet eine Zuordnung zu einem definierten Laufwerksbuchstaben über "Netzlaufwerk verbinden" ein. (Kleine Nebenbemerkung: Wir bieten diesen Service nur unter Netbios über TCP/IP an; wer immer noch meint, die lokalen Netze mit NetBEUI belasten zu müssen, wird diesen Service vergeblich suchen.)

Um DFS-spezifische Aktionen auszuführen, muß man sich in eine AIX Maschine einloggen (am besten per Secure Shell: ssh). Um dies zu erleichtern steht unter www.physik.uni-augsburg.de/ci/ dce/dfssmb.html eine Web-Schnittstelle zur Verfügung, über die einige wichtige Dinge erledigt werden können (Quota abfragen, Paßwort ändern, Rechte setzen). Bitte beachten Sie die Sicherheitshinweise.

Zum Thema Sicherheit: Die Verbindung kann natürlich nicht sicherer sein, als Windows und SMB eben sind, und das ist eine eher traurige Angelegenheit. Innerhalb der Uni (insbesondere in Neubauten mit geswitchten Netzen) kann man die Gefahr aber doch minimieren, beispielsweise niemals bei der Windows-Anmeldung das DCE-Paßwort verwenden. Auch surfen im externen Internet mit aktiviertem JavaSkript, oder aktiviertem Windows98 WSH, kann schnell zur Falle werden. Weiter gilt die Grundregel: gib keinem Programm irgendein Paßwort um automatisch irgendwas zu machen. (Siehe auch Artikel von M. Zahn "Auf Nummer sicher" in dieser Ausgabe).

Apple: TAS kann AppleShare über AppleTalk oder TCP/IP (schneller) anbieten, und der Beutzer hat wie unter Windows Zugriff auf sein Home-Verzeichniss. Hier gibt es bislang keine automatische Registrierung, weil der Benutzerkreis recht eng ist, die oben genannte Web- Schnittstelle kann aber in den meisten Teilen genauso verwendet werden.


Downloads: