AFS

Aus Physik
Version vom 26. November 2004, 14:55 Uhr von Ahi (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Informationen zur Installation von Kerberos und AFS und dem Zugriff auf unsere AFS-Zelle findet Ihr unter Linux AFS, Windows AFS und AFS für Apple Macintosh.

Grundlagen

AFS ist ein verteiltes Dateisystem, bei dessen Entwurf besondere Aufmerksamkeit auf effizienten Datenzugriff sowohl in lokalen als auch weitverteilten Netzen gelegt wurde.

AFS wurde ursprünglich im Information Technology Center an der Carnegie-Mellon University entwickelt und später von der Firma Transarc vermarktet und weiterentwickelt. Nach dem Kauf von Transarc durch IBM wurde es unter der Bezeichnung OpenAFS als OpenSource freigegeben. AFS ist als Dateisystem in vielen Großforschungsinstitutionen im Einsatz (Argonne National Laboratory, CERN, Jet Propulsion Laboratory, MIT, ...)

Weitere Informationen zu AFS findet Ihr in der AFS-FAQ, dem AFS User Guide und dem AFS-Wiki.

Technologie

AFS arbeitet nach dem Client-Server Modell, bei dem alle Daten auf einem oder mehreren Servern gespeichert sind und bei Bedarf auf die Clients kopiert werden. Die Daten werden auf den Clients gecacht; wenn der Server ausfallen sollte, können Lesezugriffe in vielen Fällen weiter aus dem Cache bedient werden, erst Schreibversuche blockieren solange, bis der Server wieder verfügbar ist.

Die meisten benutzerrelevanten Funktionen findet Ihr unter dem Sammelbefehl fs ; bitte konsultiert die Onlinehilfe mit fs help oder den AFS User Guide.

  • Zelle Eine Gruppe von Servern und Clients unter einheitlicher Verwaltung bilden eine AFS Zelle; der Zellenname bei uns ist itp.tugraz.at. Die Dateien haben für alle AFS-Clients weltweit den gleichen Namen, dieser Name beginnt mit /afs/<zelle>/; mein Homedirectory am Institut findet man z.B. unter /afs/itp.tugraz.at/user/ahi/.
  • Volume: Zusammgehörige Dateien (z.B. alle Dateien eines Benutzers) werden innerhalb AFS in einem Volume gespeichert; Volumes werden über mount points in den Dateibaum aufgenommen. Der Vorteil von Volumes ist, daß diese während des Betriebs verschoben werden können; nur in der Endphase des Transfers ist für wenige Sekunden kein Schreibzugriff möglich. Diese Eigenschaft wird verwendet, um Server und Festplatten gleichmäßig auszulasten bzw. einzelne Server vor einem Austausch freizuspielen.
  • Quota: Die Größe eines Volumes ist durch ein Quota beschränkt. Ihr könnt die Größe eines Quotas mit dem Befehl fs listquota betrachten.
[ahi@faeppc48 ~]$ fs listquota ~ahi ~ftp ~flash
Volume Name                Quota      Used %Used   Partition
user.ahi                 3000000   2048002   68%         38%  
common.ftp.readonly      8000000   5629668   70%         33%  
fs: You don't have the required access rights ....
  • Token: Zum Zugriff auf eine AFS-Zelle benötigt man ein Token, das beim Einloggen gemeinsam mit dem [Kerberos]-Ticket erzeugt wird und mit dem Befehl tokens kontrolliert werden kann:
[ahi@faeppc48 ~]$ tokens
Tokens held by the Cache Manager:
User's (AFS ID 997) tokens for afs@itp.tugraz.at
                                      [Expires Feb 22 15:05]
  --End of list--

Sie erkennen an der Ausgabe des Tokens, daß der Benutzer mit der UID 997 in der AFS-Zelle itp.tugraz.at angemeldet ist. Pro Zelle kann man maximal ein Token besitzen.

Unterschiede in der Benutzung

Die wesentliche Unterschiede zwischen der gewohnten UNIX-Semantik bei Dateizugriffen und AFS sind:

  • Zugriffsberechtigungen: Die mode bits werden weitgehend ignoriert; Rechte auf Dateien werden über access control lists (ACL) gesteuert. Diese Listen beziehen sich immer auf ein Verzeichnis.
  • Benutzergruppen: Jeder Benutzer kann eigene Gruppen anlegen und verwalten (protection service, PTS, siehe Abschnitt6.4). Mitgliedern dieser Gruppen können über ACLs Zugriffsberechtigungen gegeben werden.
  • Hard links: Hard links sind nur zu Dateien im selben Verzeichnis möglich, um die Sicherheit durch die ACLs nicht zu gefährden.
  • Save on close: Die Dateien werden beim Aufruf der Funktion write() nur im lokalen Cache gespeichert; nur wenn die Datei mit close() oder fsync() geschlossen wird, wird der neue Inhalt auch zum Server geschickt. Die meisten Anwendungen (vi, emacs, ...) führen den Befehl close() nach dem Speichern von Änderungen aus, Sie müssen den Editor daher nicht beenden, um sicher zu sein, daß Ihre Daten wirklich gespeichert werden.
  • Dateizeiten: Es gibt nur eine Dateizeit, die erst bei einem Schreibzugriff am Server (close() und fsync()) aktualisiert wird.
  • Read only volumes: Wenn Kopien von Volumes ohne Schreibberechtigung vorhanden sind, werden nur diese verwendet - Änderungen im Volume werden nicht automatisch an die Kopien weitergereicht, sondern müssen explizit freigegeben werden (release).
    Üblicherweise verwendet man zum Zugriff auf das beschreibbare Volume einen mount point mit vorgesetztem Punkt: /afs/itp.tugraz.at/common/.ftp/.