EDV:OpenAFS
OpenAFS am KIP
General
- Wikipedia Artikel: w:de:Andrew File System
- Homepage von OpenAFS: http://www.openafs.org
- Das Rechenzentrum hat auch ein AFS: http://www.urz.uni-heidelberg.de/Software/AFS/
Was ist (Open)AFS?
AFS ist ein sicheres, verteiltes Dateisystem, welches an der Carnegie Mellon Universität entwickelt wurde. Danach wurde es von der Transarc Corporation, die mittlerweile von IBM übernommen wurde, vermarktet.
IBM ermöglichte dann eine parallele Weiterentwicklung als w:de:Open Source (http://www.openafs.org).
Warum (Open)AFS?
Es gibt mehrer Vorteile von AFS (ohne Anspruch auf Vollständigkeit):
- Die Daten können transparent über mehrere Server verteilt werden.
- Jeder kann auf das AFS mit einem Client zugreifen.
- Es gibt w:de:Access Control Listen (ACL), welche eine bessere Rechteverwaltung ermöglichen.
- w:de:Disk Quotas sind elementare Bestandteile von AFS.
Verwendung
Authentisieren
Um mit AFS arbeiten zu können muss man sich erst authentisieren (w:de:Authentisierung), da man sonst nur die Reche der Gruppe system:anyuser (also Anonymous) hat.
AFS arbeitet dabei mit Kerberos4-Token (w:de:Kerberos (Informatik)).
Arbeiten mit AFS-Kommandos
Die folgenden Kommondos sind alle bei (Open)AFS dabei und können ohne zusätzliches Kerberos verwendet werden.
Das tokens-Kommando ist Überprüfung ob ein solche Token existiert und wie lange es gültig ist:
userX@pcY:~$ tokens Tokens held by the Cache Manager: User's (AFS ID 1000) tokens for afs@kip.uni-heidelberg.de [Expires Feb 27 18:15] --End of list--
Zum erhalten eines Tokens oder es zu erneuern, wird klog verwendet:
userX@pcY:~$ klog userX
Die Gültigkeit eines solchen Tokens bezieht sich standardmäßig auf einen Nutzer auf einem Rechner bezieht, also in allen Shells (w:de:Betriebssystem-Shell, w:de:Unix-Shell). Um diese Gültikeit nur auf eine Shell zu beziehen, muss man diese mit kpagsh kapseln und danach erst das Token holen:
userX@pcY:~$ kpagsh userX@pcY:~$ klog userX
Zum zerstören des Tokens vor dem Ende seiner Laufzeit gibt es unlog:
userX@pcY:~$ unlog userX@pcY:~$ tokens Tokens held by the Cache Manager: --End of list--
Arbeiten mit Kerberos-Kommandos
kinit <user> klist kdestroy
ACLs verwenden
fs listacl * fs setacl ...
fs listquota fs help pts listentries -help pts members s3
Client-Installation (Zugang zum AFS)
Die CellServDB
In der CellServDB sollte für die KIP-Zelle folgender Eintrag drin stehen:
>kip.uni-heidelberg.de 129.206.176.40 # ldap.kip.uni-heidelberg.de 129.206.176.149 # ldap2.kip.uni-heidelberg.de
Diese Datei ist auch unter /afs/kip/common/etc/CellServDB zu erreichen.
Linux-Client
Hier am Beispiel von Debian mit einem 2.6.x Kernel.
Heimdal Kerberos (Client) installieren
Dies ist optional, kann aber unter Umständen einiges vereinfachen, da unser AFS ja auch auf Heimdal zurückgreift.
aptitude install heimdal-clients
Die folgenden Fragen wie folgt beantworten:
Kerberos Realm | KIP.UNI-HEIDELBERG.DE |
Hesiod-Domain | .kip.uni-heidelberg.de |
Kerberos Server | ldap.kip.uni-heidelberg.de ldap2.kip.uni-heidelberg.de |
Admin Server von Kerberos | ldap.kip.uni-heidelberg.de |
OpenAFS installieren
Binaries installieren:
aptitude install openafs-client
Die folgenden Fragen wie folgt beantworten:
AFS-Zelle | kip.uni-heidelberg.de |
Größe des AFS-Cache (kb) | 50000 |
/afs dynamisch ? | Nein |
Rechnernamen des Datenbank-Servers | afsdb1.kip.uni-heidelberg.de afsdb2.kip.uni-heidelberg.de |
Openafs-Client starten | Ja (oder Nein wenn nicht erwünscht) |
OpenAFS Kernel Modul erstellen/installieren
Um das Kernel-Modul für OpenAFS zu erstellen ist folgendes zu tun:
aptitude install module-assistant openafs-module-source cd /usr/src module-assistant build openafs module-assistant prepare openafs dpkg -i openafs-modules-2.6.18-3-686_1.4.2-4+2.6.18-7_i386.deb
Dies gilt nur für den aktuellen Kernel und muss für andere Kernel dann wiederholte werden! |
Nun kann auch der OpenAFS-Client gestartet werden
/etc/init.d/openafs-client force-start
Test
$ ls -l /afs lrwxr-xr-x 1 daemon root 21 2007-01-31 12:37 kip -> kip.uni-heidelberg.de drwxr-xr-x 2 root root 2048 2007-02-12 12:05 kip.uni-heidelberg.de