File system di Andrea - Andrew File System
L' Andrew File System ( AFS ) è un file system distribuito che utilizza un insieme di server affidabili per presentare uno spazio dei nomi di file omogeneo e trasparente a tutte le workstation client. È stato sviluppato dalla Carnegie Mellon University come parte del progetto Andrew . Originariamente chiamato "Vice", "Andrew" si riferisce ad Andrew Carnegie e Andrew Mellon . Il suo uso principale è nel calcolo distribuito .
Caratteristiche
AFS ha diversi vantaggi rispetto ai tradizionali file system di rete , in particolare nelle aree di sicurezza e scalabilità. Un'implementazione AFS aziendale presso Morgan Stanley supera i 25.000 clienti. AFS utilizza Kerberos per l'autenticazione e implementa elenchi di controllo degli accessi nelle directory per utenti e gruppi. Ogni client memorizza i file nella cache sul filesystem locale per una maggiore velocità nelle richieste successive per lo stesso file. Ciò consente anche un accesso limitato al filesystem in caso di crash del server o di interruzione della rete .
AFS utilizza il modello di consistenza debole . Le operazioni di lettura e scrittura su un file aperto sono dirette solo alla copia memorizzata nella cache locale. Quando un file modificato viene chiuso, le parti modificate vengono copiate di nuovo nel file server. La consistenza della cache è mantenuta dal meccanismo di callback . Quando un file viene memorizzato nella cache, il server ne prende nota e promette di informare il client se il file viene aggiornato da qualcun altro. I callback vengono eliminati e devono essere ristabiliti dopo qualsiasi errore di client, server o rete, incluso un timeout. Il ripristino di una richiamata comporta un controllo dello stato e non richiede la rilettura del file stesso.
Una conseguenza della strategia di blocco dei file è che AFS non supporta database condivisi di grandi dimensioni o l'aggiornamento dei record all'interno di file condivisi tra sistemi client. Questa è stata una decisione progettuale deliberata basata sulle esigenze percepite dell'ambiente informatico universitario. Ad esempio, nel sistema di posta elettronica originale per l'Andrew Project, l'Andrew Message System, viene utilizzato un singolo file per messaggio, come maildir , anziché un singolo file per casella di posta, come mbox . Vedere AFS e problemi di I/O con buffer per la gestione di database condivisi
Una caratteristica significativa di AFS è il volume , un albero di file, sottodirectory e punti di montaggio AFS (collegamenti ad altri volumi AFS). I volumi vengono creati dagli amministratori e collegati a un percorso denominato specifico in una cella AFS. Una volta creato, gli utenti del filesystem possono creare directory e file come al solito senza preoccuparsi della posizione fisica del volume. A un volume può essere assegnata una quota per limitare la quantità di spazio consumato. Se necessario, gli amministratori AFS possono spostare quel volume su un altro server e posizione su disco senza la necessità di informare gli utenti; l'operazione può verificarsi anche durante l'utilizzo di file in quel volume.
I volumi AFS possono essere replicati in copie clonate di sola lettura. Quando si accede ai file in un volume di sola lettura, un sistema client recupererà i dati da una particolare copia di sola lettura. Se a un certo punto quella copia diventa non disponibile, i client cercheranno una delle copie rimanenti. Ancora una volta, gli utenti di quei dati non sono a conoscenza della posizione della copia di sola lettura; gli amministratori possono creare e riposizionare tali copie secondo necessità. La suite di comandi AFS garantisce che tutti i volumi di sola lettura contengano copie esatte del volume di lettura-scrittura originale al momento della creazione della copia di sola lettura.
Lo spazio dei nomi dei file su una workstation Andrew è partizionato in uno spazio dei nomi condiviso e locale . Lo spazio dei nomi condiviso (di solito montato come /afs sul filesystem Unix) è identico su tutte le workstation. Lo spazio dei nomi locale è univoco per ogni workstation. Contiene solo file temporanei necessari per l'inizializzazione della workstation e collegamenti simbolici ai file nello spazio dei nomi condiviso.
L'Andrew File System ha fortemente influenzato la versione 4 del popolare Network File System (NFS) di Sun Microsystems . Inoltre, una variante di AFS, il DCE Distributed File System (DFS) è stato adottato dalla Open Software Foundation nel 1989 come parte del loro Distributed Computing Environment . Infine AFS (versione due) è stato il predecessore del file system Coda .
implementazioni
Oltre all'originale, sono state sviluppate alcune altre implementazioni. OpenAFS è stato creato dalla fonte rilasciata da Transarc ( IBM ) nel 2000. Il software Transarc è diventato obsoleto e ha perso il supporto. Arla era un'implementazione indipendente di AFS sviluppata presso il Royal Institute of Technology di Stoccolma alla fine degli anni '90 e all'inizio degli anni 2000.
Una quarta implementazione di un client AFS esiste nel codice sorgente del kernel Linux almeno dalla versione 2.6.10. Commessa da Red Hat , questa è un'implementazione abbastanza semplice ancora incompleta a partire da gennaio 2013.
Permessi disponibili
È possibile concedere le seguenti autorizzazioni per l'elenco di controllo di accesso (ACL):
- Ricerca (l)
- consente a un utente di elencare il contenuto della directory AFS, esaminare l'ACL associato alla directory e accedere alle sottodirectory.
- Inserisci (i)
- consente a un utente di aggiungere nuovi file o sottodirectory alla directory.
- Cancella (d)
- consente a un utente di rimuovere file e sottodirectory dalla directory.
- Amministrare (a)
- consente a un utente di modificare l'ACL per la directory. Gli utenti hanno sempre questo diritto sulla loro home directory, anche se si rimuovono accidentalmente dall'ACL.
Le autorizzazioni che interessano i file e le sottodirectory includono:
- Leggi (r)
- consente a un utente di guardare il contenuto dei file in una directory ed elencare i file nelle sottodirectory. I file a cui deve essere concesso l'accesso in lettura a qualsiasi utente, incluso il proprietario, devono avere il set di autorizzazioni standard UNIX "proprietario di lettura".
- Scrivi (w)
- consente a un utente di modificare i file in una directory. I file a cui deve essere concesso l'accesso in scrittura a qualsiasi utente, incluso il proprietario, devono avere il set di autorizzazioni UNIX "proprietario in scrittura" standard.
- Blocco (k)
- consente al processore di eseguire programmi che necessitano di " floccare " i file nella directory.
Inoltre, AFS include gli ACL dell'applicazione (A)-(H) che non hanno alcun effetto sull'accesso ai file.
Guarda anche
Riferimenti
- ^ Che cos'è Andrew Archiviato il 9 settembre 2011, presso la Wayback Machine - parte del sito ufficiale della CMU che racconta la storia del Progetto Andrew .
- ^ Garfinkel, Simson L. (maggio-giugno 1989). "Ripples attraverso il mercato accademico" (PDF) . Revisione della tecnologia . pp. 9-13 . Estratto il 25 gennaio 2016 .
- ^ Howard, JH; Kazar, ML; Nichols, SG; Nichols, DA; Satyanarayanan, M.; Sidebotham, RN & West, MJ (febbraio 1988). "Scala e prestazioni in un file system distribuito". Transazioni ACM su sistemi informatici . 6 (1): 51-81. CiteSeerX 10.1.1.71.5072 . doi : 10.1145/35037.35059 .
- ^ Moore, Filippo (2004). "Quando il tuo business dipende da questo: l'evoluzione di un file system globale per un'impresa globale" (PDF) .
- ^ Yaniv Pessach (2013), Archiviazione distribuita ( archiviazione distribuita: concetti, algoritmi e implementazioni ed.), Amazon, OL 25423189M
- ^ Aprire AFS
- ^ Assar Westerlund e Johan Danielsson (1998). "Arla-un client AFS gratuito" . Atti del 1998 USENIX, traccia Freenix .
- ^ Magnus Ahltorp, Love Hörnquist-Åstrand e Assar Westerlund (2000). "Portare il file system Arla su Windows NT" . Workshop sulla gestione e amministrazione degli ambienti distribuiti .
- ^ Documentazione AFS del kernel Linux per 2.6.10
- ^ "LXR linux/Documentation/filesystems/afs.txt" . linux.no . 1 agosto 2012. Archiviato dall'originale il 1 agosto 2012 . Estratto il 23 aprile 2018 .