[ETH Home (E) / (D)] [Informatikdienste Home (E) / (D)] [Systemdienste Home (E) / (D)] [AFS Home (E) / (D)]

AFS -- Distributed Computing Live

Abstract

Im Sommer 1992 wurde bei den Informatikdiensten der ETH ein Versuchsbetrieb mit dem Andrew File System (AFS) aufgenommen. Die guten Erfahrungen, die wir mit AFS gemacht hatten, ermutigten uns, mit dem Produktionsbetrieb zu beginnen und AFS interessierten Benutzern zur Verfügung zu stellen.

Der nachfolgende Artikel ist eine grobe Übersicht über AFS und seine Eigenschaften.

Inhalt

Übersicht
Vergleich mit NFS
Transparenz
Sicherheit
AFS Cache Manager
Weltweiter Datenzugang
AFS an der ETH Zürich

Übersicht

AFS ist ein verteiltes Filesystem, das seinen Benutzern transparenten Zugriff auf Daten ermöglicht. Diese Daten können auf einem beliebigen AFS File-Server gespeichert sein. Der AFS-Datenraum ist global und im Moment (Stand September 1994) kann ein Benutzer weltweit auf über 100 AFS Installation zugreifen.

AFS ist auf verschiedenen UNIX Plattformen (u.a. Sun 3/4, IBM RS/6000, HP 9000/700-800, NeXT, SGI) implementiert.

Das System basiert auf dem Client-Server Modell mit Remote Procedure Calls. Das zugrunde liegende Netzwerkprotokoll ist TCP/IP.

AFS wurde an der Carnegie Mellon Universität (CMU) entwickelt. Die Entwicklung begann 1983, und AFS ist inzwischen zu einem stabilen Produkt gereift, welches von der Firma Transarc (gegründet von Entwicklern des AFS-CMU Teams) unterhalten und weiterentwickelt wird. Mehr noch, AFS ist die Grundlage für OSF/DFS, dem verteilten File-Service der Open Software Foundation, und Transarc der "Technology Provider" von DFS.

Einige Eigenschaften von AFS in Stichworten:

Vergleich mit NFS

Das bekannteste Netzwerk-Filesystem auf UNIX Plattformen ist NFS. Jedes verteilte Filesystem muss sich mit NFS messen. Nachfolgend eine Tabelle, die die Unterschiede zwischen AFS und NFS stichwortartig auflistet.
--------------------------------------------------------------------------
                              |  NFS                |  AFS                
--------------------------------------------------------------------------
Anzahl Workstations           |  klein              |  sehr gross (>1000)
Netzwerk-Belastung            |  gross              |  klein
Daten-Sicherheit und -Schutz  |  gering             |  sehr gut (Kerberos)
Datenzugriff/Caching          |  immer uebers Netz  |  lokales
Interaktion Client-Server     |  sehr gross         |  gering        
Administration                |  kompliziert        |  einfach
File-Zustand                  |  nicht definiert    |  UNIX-Semantik
--------------------------------------------------------------------------
Tabelle 1. Unterschiede zwischen NFS und AFS

Gewisse Stichworte sind miteinander korreliert. So kann man zum Beispiel nur eine grosse Anzahl von Arbeitsstationen bedienen, wenn die Interaktion zwischen Client und Server gering ist. Das wiederum heisst, dass dadurch die Netzwerklast klein gehalten wird.

Transparenz

Der Zugriff auf Daten (Files) innerhalb von AFS ist für einen Benutzer völlig transparent. Für ihn präsentiert sich AFS wie eine Erweiterung des lokalen Filesystems. Er kann Files innerhalb von AFS mit seinen gewohnten und bevorzugten Werkzeugen bearbeiten, wie wenn sie lokal wären. In diesem Punkt unterscheidet sich AFS nicht von NFS. Ein wesentlicher Unterschied ist jedoch die Transparenz des physikalischen Ortes der Daten. Die Daten können sich auf einem beliebigen AFS File-Server befinden, ja sie können sogar von einem Server auf einen anderen verschoben werden, ohne dass der Benutzer etwas davon merkt.

Daten, die nur lesend zugegriffen werden, wie Online Manuals, Standard Software oder Teile der System Software können auf mehreren Servern gleichzeitig abgespeichert sein (Daten Replikation). Dadurch verbessert sich die Zugriffszeit, da die Last vieler Benutzer auf mehrere Server verteilt wird und der Benutzer wird nicht behindert, wenn einer der Server nicht verfügbar ist.

Sicherheit

Im Gegensatz zu NFS, wird bei AFS sehr grosser Wert auf Datensicherheit gelegt. Der in AFS verwendete Sicherheitsmechanismus ist Kerberos. Kerberos ist ein Authentikations-System, das vom MIT entwickelt wurde und auf dem Prinzip der gegenseitigen Authorisierung beruht.

Damit ein Benutzer innerhalb von AFS auf entsprechend geschützte Daten Zugriff bekommt, muss er sich zuerst beim Authentikations-Server mit Benutzernamen und Passwort anmelden. Ein validierter Benutzer erhält daraufhin eine zeitlich begrenzte Zugriffsberechtigung.

In AFS basiert der eigentliche Zugriffsschutz, nicht wie in UNIX, auf Mode Bits, sondern auf sogenannten Access Control Lists (ACL). Diese Listen enthalten einzelne Benutzer oder auch Gruppen von Benutzern und ordnen ihnen bestimmt Rechte zu. AFS kennt sieben verschiedene Zugriffsrechte (Read, Write, List, Administer, Lock, Delete, Insert).

Allerdings besitzen nur Verzeichnisse (Directories) Access Control Lists, sodass die Zugriffsrechte auf der Verzeichnis-Ebene geregelt werden müssen.

Weiterhin hat jeder Benutzer die Möglichkeit, eigene Gruppen von Benutzern zu definieren und diese in seinen ACL's zu verwenden.

AFS Cache Manager

Damit man auf einem System mit AFS arbeiten kann, muss auf diesem der sogenannte AFS Cache Manager installiert sein. Will ein Benutzer ein File im AFS-Datenraum bearbeiten, kopiert der Cache Manger dieses File Stück für Stück (je 64 kByte grosse Data-Chunks) in einen ihm zur Verfügung stehenden Bereich auf der lokalen Platte(Caching). Nach kurzer Zeit arbeitet man nur noch lokal und nicht mehr über das Netzwerk. Wird das zwischengespeicherte File geändert und geschlossen, sendet es der Cache Manager sofort an den Server zurück. Da dieser genau weiss, welche Klienten welche Daten lokal gespeichert haben, benachrichtigt er die entsprechenden Cache Manager, dass ihre lokalen Kopien dieses Files nicht mehr gültig sind.

Der vom Cache Manager benötigte Speicherplatz beträgt ca 40-100 MByte, je nach Datenaufkommen auf dem entsprechenden System. Ist der Cache zu klein, müssen mehr Daten direkt über das Netzwerk geholt werden und folglich sinkt die Zugriffsgeschwindigkeit innerhalb von AFS.

Stationen ohne eigene Festplatte können über einen AFS/NFS Translator auf AFS zugreifen. Der Translator ermöglicht es, dass der AFS-Datenraum wie eine NFS Partition importiert werden kann.

Sobald der Cache Manager arbeitet, hat der Benutzer über das Verzeichnis /afs Zugriff auf den AFS-Datenraum. Ein Ausschnitt dieses Datenraumes zeigt Figur 1. In dem Verzeichnis /afs sind die Einstiegspunkte in die verschiedenen internationalen AFS Bereiche. Diese Bereiche werden Zellen genannt. Einer AFS Konvention entsprechend, soll eine Zelle wie der Internet Domain benannt sein, dem sie angehört. Unsere Zelle heisst dementsprechend ethz.ch, und der AFS-Datenraum der ETH Zürich beginnt in /afs/ethz.ch/.

Weltweiter Datenzugang

Wie bereits erwähnt, ist der AFS-Datenraum global, und weltweit sind etwa 100 AFS Zellen direkt erreichbar. Die Universität Stuttgart stellt in ihrem AFS Bereich aktuelle Satelliten-Wetterbilder von Europa und von der ganze Welt zur Verfügung. Das gewünschte Bild kann direkt, ohne Zuhilfenahme von ftp oder ähnlichem, mit xv oder xloadimage auf den eigenen Bildschirm projiziert werden.

Weitere Beispiele sind die Universität Michigan, welche ein grosses Archiv mit Public Domain Software in ihrem AFS Bereich unterhält oder die Firma Transarc, welche ihre AFS Software im AFS-Datenraum hält, so dass die neuesten Versionen direkt von dort kopiert werden können.

AFS an der ETH Zürich

Mit AFS stellen wir einen Dienst zur Verfügung, der dem Benutzer einen transparenten, ETH übergreifenden Datenraum öffnet, auf den von möglichst vielen Rechnern zugegriffen werden kann. Dadurch wird eine komfortablere Integration sowohl der vorhandenen Gross- und Arbeitsplatzrechner, wie auch der Arbeitsplatzrechner untereinander erreicht. Diese Integration ist ein wichtiger Schritt in Richtung verteiltes- und ortsunabhängiges Rechnen (distributed and local independend computing).

Ein weiteres Ziel ist die Einrichtung einer Software Bibliothek, in welcher Software für verschiedene Plattformen installiert und konfiguriert ist, sodass ein Benutzer sie direkt verwenden kann, ohne lange Installations- und Konfigurationsarbeiten.

Will sich ein Benutzer am AFS beteiligen, so bekommt er ein AFS Konto und einen persönlichen Bereich innerhalb von AFS, in dem er seine Daten abspeichern kann. Sämtliche in diesem Bereich abgespeicherten Daten werden automatisch abgesichert und der Benutzer kann jederzeit selbständig auf den Datenstand des letzten Tages, der letzten Woche und der vorletzten Woche zurückgreifen.

Wenn Sie an AFS interessiert sind oder mehr über AFS erfahren wollen, so stehen wir jederzeit für Präsentationen, Demos und Diskussionen zur Verfügung.

Kontakt Adressen:


ETH Informatikdienste / last update 21-Jun-96 (ds) / Please forward any comments and additions to this WWW-page to: www@sd.id.ethz.ch