EDV:OpenAFS: Difference between revisions

From KIP Wiki
⧼kip-jumptonavigation⧽⧼kip-jumptosearch⧽
Line 21: Line 21:




=== Vorteile von AFS ===
=== [[EDV:OpenAFS/Vorteile_Vergleich|Vorteile von AFS und Vergleich mit NFS/Unix-FS]] ===


Eine Auflistung der Vorteile von AFS,
Quelle für die meisten Punkte (demnach auch genauer): http://www.angelfire.com/hi/plutonic/afs-faq.html
ein Vergleich von AFS und NFS und auch zum Unix-Filessystem

gibt es hier: [[EDV:OpenAFS/Vorteile_Vergleich]]
* Es erfolgt ein '''Caching der Daten''' auf dem Client.
* Anders als bei NFS sind die Daten '''lokaltionsunabhänig''' (und nicht fest).
* AFS ist daher '''sehr skalierbar''' und deshalb für große Umgebungen geeignet.
* AFS unterstützt einige '''Sicherheits-Funktionen''' wie Kerberos Authentisierung und feinere Rechtevergabe (ACLs).
* Die Sicht auf das AFS ist von jedem Client aus gleich ('''Single System Image (SSI)''').
* Die Daten können '''transparent über mehrerer Server verteilt''' werden.
* Demnach ist auch der Ausfall eines Servers leichter zu verkraften, bzw. u.U. sogar 'egal'.
* Der '''Zugriff''' ist mit einem Client '''von überall''' aus möglich.
* Es gibt eine breite Unterstützung an Client Systemen (z.B. Windows, Linux, HP-UX, AIX, Solaris, ...).
* [[w:de:Disk Quota]]s sind elementare Bestandteile von [[EDV:AFS|AFS]].

=== Vergleich von AFS und NFS ===

Ganz kurze Version: [http://people.ccmr.cornell.edu/~mitch/afsvsnfs.html AFS vs. NFS] {{IconSmiley06}}

{|{{Prettytable}}
! || AFS || NFS
|-
! File Access
| Common name space from all workstations
| Different file names from differnt workstations
|-
! File Location
| Automatic tracking by
| Mountpoints to files set by
|-
! Tracking
| file system processes and databases
| administrators and users
|-
! Performance
| Client caching to reduce network load; callbacks to maintain cache consistency
| No local disk caching; limited cache consistency
|-
! Andrew Benchmark
| Average time of 210 (5 phases, 8 clients) seconds/client
| Average time of 280 seconds/client
|-
! Scaling capabilities
| Maintains performance in small and very large installations
Excellent performance on wide-area configuration
| Best in small to mid-size installations
Best in local-area configurations
|-
! Security
| Kerberos mutual authentication
Access control lists on directories for user and group access
| Security based on unecrypted user ID's
No access control lists
|-
! Availability
| Replicates read-mostly data and AFS system information
| No replication
|-
! Backup Operation
| No system downtime with specially developed AFS Backup System
| Standard UNIX backup system
|-
! Reconfiguration
| By volumes (groups of files)
No user impact; files remain accessible during moves, and file names do not change
| Per-file movement
Users lose access to files and filenames change (mountpoints need to be reset)
|-
! System Management
| Most tasks performed from any workstation
| Frequently involves telnet to other workstations
|-
! Autonomous
| Autonomous administrative
| File servers and clients
|-
! Architecture
| units called cells, in addition to file servers and clients
No trust required between cells
|
No security distinctions between sites
|-
|}

Other points:
* Some vendors offer more secure versions of NFS but implementations vary. Many NFS ports have no extra security features (such as Kerberos).
* The AFS Cache Manager can be configured to work with a RAM (memory) based cache. This offers signifigant performance benefits over a disk based cache.
*: NFS has no such feature. Imagine how much faster it is to access files cached into RAM!
* The Andrew benchmark demonstrates that AFS has better performance than over NFS as the number of clients increases. A graph of this (taken from Andrew benchmark report) is available in: [http://www.angelfire.com/hi/plutonic/images/andrew1.jpg http://www.angelfire.com/hi/plutonic/images/andrew1.jpg ]

Quelle: http://www.angelfire.com/hi/plutonic/afs-faq.html

Quelle: ftp://ftp.transarc.com/pub/afsps/doc/afs-nfs.comparison

=== Unterschied von AFS zu Unix-Dateisystem ===

Vom Nutzerstandpunkt gibt es wenige Unterschiede zu einem 'normalen' Unix-Dateisystem.

* '''Authentisierung''':
: Bevor ein Nutzer auf AFS-Dateien zugreifen kann, muss er sich mit einem Kerberos-Login authentisieren (kinit, aklog). (Dies sollte beim Login schon geschehen.) Ein unauthorisierter Nutzer und hat im AFS nur die Rechte von ''system:anyuser''.

* '''Datei-(Zugriffs)-Rechte''':
: Die Unix-mode-bits für 'group' und 'other' werden ignoriert und die von 'owner' werden anders ausgewertet. Die Nutzer sollten ihre Dateien mit den ACLs (des Verzeichnisses) schützen.

* '''Protection groups''':
: Nutzer können ihre eigenen Gruppen in AFS erzeugen und verwalten.

* '''Hard links''':
: Im AFS sind 'hard links' nur bei Verzeichnissen möglich. Symbolische Links arbeiten wie gewohnt.
* '''Verändern der Zugriffsrechte beim verschieben''':
: Ein verschieben einer Datei in ein anderes Verzeichnis, ändert die Zugriffsrechte, da eine Datei die ACLs des Verzeichnisses annimmt.

* '''chown''' und '''chgrp''':
: Nur Mitglieder der AFS-Gruppe 'system:administrators' kann diese Kommandos auf Dateien im /afs verwenden.

* '''Save on close''': (''für Programmierer'')
: Der AFS Cache Manager sendet die Dateiänderungen nicht zu dem Server, bis ein 'close()' oder 'fsync()' system call aufgerufen wird. Ein 'write()' system call ändert nur die lokale Kopie des Clients.
: Der Unterschiedbeim schreiben einer Datei:
:: local unix file: 'sofortiges' schreiben der Datei
:: AFS file: 'sofortiges' schreiben der Datei im lokalem Cache, aber der Server erhält die Kopie nur bei einem 'close()' oder 'fsync()'
: Es ist wichtig zu verstehen, dass die meisten Anwendungen (z.B.: vi, emacs, frame, interleaf, wingz, dogz, ...) den 'close()' system call senden, wenn der Nutzer die Datei speichert. Nutzer müssen daher nicht die Anwendung verlassen, um die Änderungen an den Server zu senden!
* byte-range file locking: (''für Programmierer'')
: AFS erlaubt kein 'byte-range locking' in einer Datei. Der Aufruf von 'lockf()' und 'fcntl()' ergibt (success) obwohl er keinen Einfluss hat (wird ignoriert)!

* whole file locking: (''für Programmierer'')
: AFS erlaubt das locken einer gesammten Datei mit 'flock(). Die Prozesse auf dem gleichen Client, die diese Datei locken wollen, folgend dann den 'korrekten' locking-Semantiken. Prozesses auf anderen Clients erhalten bei einem lock-Request ein 'EWOULDBLOCK'.

* '''character and block special files''': (''für SysAdmins'')
: AFS unterstützt keine ''character'' oder ''block'' spezial Dateien. Das ''mknod''-Kommando kann keine solche speziellen Dateien im /afs erzeugen.

* AFS version of fsck: (''für Sysadmins'')
: AUf einem AFS-File-Server sind die Partitionen (für AFS '/vicepXX') kein Unix Dateisystem und das standard 'fsck'-Kommando darf dort nicht verwendet werden, sondern das von AFS selbst.

Quelle: http://www.angelfire.com/hi/plutonic/afs-faq.html


== [[EDV:OpenAFS/Verwendung|Verwendung]] ==
== [[EDV:OpenAFS/Verwendung|Verwendung]] ==

Revision as of 10:59, 18 October 2007

OpenAFS-Logo

Allgemeines

Hier im KIP wird OpenAFS als zentrales Dateisystem verwendet.


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).


Vorteile von AFS und Vergleich mit NFS/Unix-FS

Eine Auflistung der Vorteile von AFS, ein Vergleich von AFS und NFS und auch zum Unix-Filessystem gibt es hier: EDV:OpenAFS/Vorteile_Vergleich

Verwendung

Siehe: EDV:OpenAFS/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)).

Rechte im AFS (Access Control Lists)

Achtung: Von den Unix/Linux-Protection-Bits für User, Group und Others werden nur die von User verwendet. Dies erfolgt, nachdem die ACL ausgewertet wurde.

FAQ

Zur Verwendung von AFS bitte auch die FAQ beachten, besonders EDV:OpenAFS/FAQ#Was ist ein Ticket und/oder Token.

Client-Installation (Zugang zum AFS)

General

Achtung.svg Wichtig für AFS sind synchrone Zeiten der Systemuhren, deshalb sollte auf jedem Client die Uhrzeit auch stimmen (siehe NTP).

Allgemeine OpenAFS Dokumentation

Die Dokumentation von Openafs ist hier zu finden:

file:///afs/kip/afsdoc/html/QuickStartUnix/auqbg007.htm#HDRWQ133
http://www.openafs.org/pages/doc/QuickStartUnix/auqbg007.htm#HDRWQ133

CellServDB und ThisCell

Unsere Zelle (Cell) im KIP ist natürlich kip.uni-heidelberg.de, daher sieht die ThisCell-Datei so aus:

kip.uni-heidelberg.de

In der CellServDB sollte für die KIP-Zelle folgender Eintrag stehen:

>kip.uni-heidelberg.de
129.206.176.40          # ldap.kip.uni-heidelberg.de
129.206.176.149         # ldap2.kip.uni-heidelberg.de
Achtung der 2. Teil ist nicht nur ein Kommentar, dort muss der vollständige Name des Servers stehen (für aklog)!

Diese Dateien ist auch unter /afs/kip/common/etc/ zu finden.

http://kip1.kip.uni-heidelberg.de/CellServDB

CellAlias (nur für -dynroot)

Wenn /afs dynamisch generiert wird, sollte die CellAlias-Datei folgendes beinhalten:

kip.uni-heidelberg.de   kip
alihlt.cern.ch          alihlt
urz.uni-heidelberg.de   urz

Diese Datei muss gegebenenfalls im Konfigurationsverzeichnis des Clients erzeugt werden ('/etc/openafs/CellAlias' oder '/usr/vice/etc').

Natürlich ist dieses Beispiel auch im AFS:

cp /afs/kip.uni-heidelberg.de/common/etc/CellAlias /etc/openafs

Damit diese Datei neu eingelesen wird muss der AFS-Client neugestartet werden. Wenn das nicht geht können diese Aliase auch Temporär manuell erzeugt werden:

fs newalias kip kip.uni-heidelberg.de
fs newalias alihlt alihlt.cern.ch
fs newalias urz urz.uni-heidelberg.de
fs listalias

Linux-Client

EDV:OpenAFS/Install_i386_linux24

EDV:OpenAFS/Install_i386_linux26

Solaris

EDV:OpenAFS/Install_sun4x_59

EDV:OpenAFS/Install_sun4x_510

HP-UX

EDV:OpenAFS/Install_hp_ux110

Windows

Installation des Clients im KIP: EDV:OpenAFS/Install_winxp

Dokumentation von OpenAFS.org: http://www.openafs.org/pages/doc/QuickStartWindows/awqbg002.htm#ToC

FAQ

Hier gibts die OpenAFS-FAQ.