Federico Balbi
AFS: Andrew File System
AFS e' un File System distribuito che permette la condivisione di file tra macchine
UNIX su reti LAN e WAN utilizzando il modello Client/Server.
AFS viene sviluppato, mantenuto e commercializzato dalla
TRANSARC corporation.
Questo prodotto non e' un applicativo, bensi' un prodotto che integra il sistema
operativo a livello di kernel; esso infatti modifica la struttura interna del file
system di Unix.
Per questo motivo e' necessaria una particolare installazione che talvolta comporta la
ricostruzione del kernel della macchina e la sostituzione di alcuni comandi che
interagiscono con il file system e il logging.
SISTEMI OPERATIVI SUPPORTATI
AFS Client versione 3.4a supporta i seguenti sistemi operativi:
- Digital Unix 3.2x
- HP-UX 9.0.x, 10.x
- SUN OS 4.1.x, 5.4
- Digital Ultrix 4.3, 4.3a, 4.4
- Silicon Graphics IRIX 5.2, 5.3
- IBM AIX
- NeXT NeXTSTEP
Porting non supportati da Transarc:
- LINUX
- HP (Apollo) Domain OS
CLIENT/SERVER
Le macchine di tipo AFS Client sono tipicamente le workstation utilizzate dagli utenti
che richiedono dati agli AFS Server.
Le macchine AFS Server solitamente memorizzano software e dati comuni, forniscono
servizi ai Client in rete e contengono il Database di autorizzazione all'utilizzo di AFS.
I Server dovrebbero essere dedicati esclusivamente a questa funzione per garantire le
massime performance.
CACHE MANAGER
Ogni Client dispone di uno spazio su disco riservato alla Cache AFS.
La dimensione della cache e' definita durante l'installazione a seconda del tipo di
utilizzo del client (normalmente 40-50 Mb garantiscono buone performance).
Per controllare l'effettiva percentuale di utilizzo della cache e' sufficiente impartire
il comando fs getcacheparms.
La dimensione della cache e' comunque modificabile anche dopo l'installazione del
client.
- Dopo l'installazione e' visibile la directory /afs; questa punta alla radice
dell'albero AFS (AFS filespace).
- Ogni istituzione che utilizza AFS dispone di una Cella, cioe' una sottodirectory
di /afs; INFN appartiene alla cella /afs/infn.it.
- La Cella rappresenta un dominio dell'AFS file space.
CLIENT CACHE MANAGER
Il Cache Manager e' un processo che gira sulle macchine client e che gestisce l'AFS Cache;
accede al server e salva una copia del file richiesto sulla cache locale.
Il client continuera' ad utilizzare la copia residente in cache senza dover sottomettere
continue richieste alla rete.
In caso di modifica della copia locale, Cache Manager updatera' l'immagine sul server al
momento della chiusura del file.
Cache Manager inoltre permette al client di lavorare sulle copie locali anche quando il
server non e' disponibile (crash o interruzioni di rete); non sara' ovviamente possibile
aggiornare il file residente sul sever finche' questo non tornera' attivo.
Quando Cache Manager aggiorna un file sul server, quest'ultimo notifica tutti gli altri
client della modifica.
AFS SECURITY
AFS garantisce un buon livello di sicurezza utilizzando i due modelli:
- Password e Mutual Authentication:
AFS richiede una password di accesso per autentificare l'utente; in caso di successo Cache
Manager riceve dal server un token che indica l'autorizzazione all'utilizzo.
La Mutual Authentication e' il meccanismo secondo il quale Cache Manager e Server comunicano;
questi provano la loro identita' scambiandosi i token.
- ACL (Access Control List):
ACL e' una tabella associata ad ogni directory che specifica quali diritti sono associati
a tale directory e relativi files (simile a chmod di unix); cio' permette agli
utenti di restringere l'accesso ai propri file.
Ogni ACL puo' contenere fino a 20 utenti/gruppi con relativi diritti d'accesso; ogni
gruppo puo' essere costituito da uno o piu' utenti/client.
Nota: gli utenti non autentificati vengono automaticamnte assegnati al gruppo
system:anyuser.
DIFFERENZE TRA UNIX E AFS
- File sharing:
AFS permette agli uenti di condividere file remoti come fossero locali utilizzando il
sottoalbero di /afs con i dovuti privilegi; la condivisione non e' penalizzata ne dalle
distanze geografiche ne dalle differenze di sistema operativo.
E' possibile inoltre replicare i server in modo completamente trasparente
all'utente; cio' consente la disponibilita' dei dati anche in caso di crash di uno
dei server.
- Login: per diventare un utente AFS autorizzato e' necessario fornire una
password associata al proprio username; esistono due modi per autenticarsi:
- utilizzando AFS login fornito col software del client, il quale rimpiazza il comando
login standard; in questo caso l'autorizzazione all'utilizzo di AFS avviene dirante la
login sulla macchina Unix.
- utilizzando il comando klog.
Nota: nella maggior parte dei casi il software di esperimento e' visibile anche al
gruppo system:anyuser; in questo caso non e' indispensabile autentificarsi.
VOLUMI E MOUNT POINT
In un AFS Server il Volume e' una struttura limitata che contiene un albero di
directory; la partizione di un disco puo' contenere piu' volumi AFS.
Il volume permette al server AFS di spostare, fare il backup e memorizzare agevolmente
file e directory.
L'accesso ad un volume avviene attraverso un mount point che punta al server e
alla partizione a cui il volume appartiene.
Un mount point appare all'utente come una directory; per spostarsi si utilizza il
normale comando cd senza doverci preoccupare su quali macchine e partizioni i
nostri file sono memorizzati. Per conoscere l'indirizzo fisico di un file e' sufficiente
impartire il comando fs whereis [-path ].
AFS permette la replicazione di volumi su piu' server garantendo la disponibilita' dei
volumi nel caso un server dovesse crashare (volume replication).
esempio di Volume (user.balbi) per una directory utente.
CELLA
Come gia' detto in precedenza, la cella e' un dominio amministrativo dell'AFS
file space.
Ogni cella viene amministrata in modo autonomo; l'amministratore determina lo spazio
sul server da assegnare ad ogni utente.
Dal punto di vista hardware, la cella e' un insieme di macchine Client/Server che
appartengono alla stessa sottodirectory di /afs (Local Cell).
La cella infn.it e' costituita dall'insieme dei client/server INFN.
CELLA infn.it
Ogni sezione e' una sottodirectory di /afs/infn.it
STRUTTURA CELLA infn.it
SERVER PADOVA
- ospd02.pd.infn.it
- DEC 3000, 128 Mb, 2 Gb AFS space
- Librerie CERN Digital Unix
- Librerie CERN HP-UX
- Librerie CERN Sun (link a /afs/infn.it/asis/cnaf)
UTILIZZO
- Applicazioni CERN (PAW, CMZ, ecc.)
- GNU, f90, Mosaic, Netscape, ecc.
VANTAGGI RISPETTO NFS
- Ogni Client ha la stessa visione dei file, in qualsiasi punto si trovi, poiche' AFS
ha una radice comune (/afs).
- AFS risulta molto piu' performante poiche' la cache locale riduce il carico in rete.
- E' scalabile, poiche' mantiene le stesse performance sia su piccoli cluster che grandi installazioni;
e' molto indicato anche su wide-area network.
- E' piu' sicuro in quanto utilizza un sistema di autenticazione basato su Kerberos.
- Ammette replicazione dei volumi consentendo maggior disponibilita' e sicurezza dei
dati.
INSTALLAZIONI
Per ulteriori informazioni riguardo AFS e l'installazione di un Client, mandate un mail al
sottoscritto.