Andrew File System

Andrew File System – rozproszony sieciowy system plików, stworzony w Carnegie Mellon University jako część projektu Andrew. Nazwa pochodzi od Andrew Carnegie'go i Andrew Mellona.

Opis

AFS ma przewagę nad tradycyjnymi sieciowymi systemami plików, głównie w kwestiach bezpieczeństwa i skalowalności. Produkcyjne instalacje AFS nierzadko przekraczają 50 tys. klientów. AFS stosuje uwierzytelnianie protokołem Kerberos i listy kontroli dostępu na katalogach dla użytkowników i grup. Buforowanie po stronie klienta zwiększa wydajność systemu i pozwala na ograniczony dostęp w przypadku awarii serwera lub sieci.

Znaczącą cechą AFS jest woluminium, czyli drzewo plików i podkatalogów. Woluminy tworzone są przez administratorów i podłączane do poszczególnych ścieżek w komórce AFS. W stworzonym woluminie użytkownicy systemu plików mogą tworzyć katalogi i pliki w zwykły sposób, nie zajmując się jego fizyczną lokalizacją. W razie potrzeby administrator może przenieść wolumin na inny serwer lub dysk bez potrzeby informowania o tym użytkowników: operacja może przebiegać w czasie, kiedy wolumin jest używany.

Woluminy mogą być też zreplikowane do jedenastu kopii do odczytu. Kiedy aplikacja kliencka korzysta z plików tylko do odczytu, dane pobiera się z jednej z tych kopii. Jeśli w jakimś momencie przestanie być dostępna, aplikacja poszuka innej. Analogicznie, użytkownicy tych danych nie muszą się zajmować fizyczną lokalizacją tych kopii, a administratorzy mogą je tworzyć i przemieszczać w razie potrzeby. Zestaw poleceń AFS gwarantuje, że woluminy do odczytu zawierają dokładną kopię oryginalnego woluminu typu odczyt-zapis.

Przestrzeń nazw na stacji roboczej używającej AFS jest podzielona na wspólną (ang. shared) i lokalną (ang. local). Wspólna przestrzeń nazw jest identyczna na wszystkich stacjach, zaś lokalne są różne i zawierają pliki tymczasowe potrzebne podczas uruchamiania. Obie przestrzenie nazw mają strukturę hierarchiczną. Każde poddrzewo w przestrzeni wspólnej jest przypisane do jednego serwera zwanego nadzorcą. Pliki z przestrzeni wspólnej są na żądanie buforowane na stacji lokalnej. Polecenia odczytu i zapisu pliki są wykonywane na lokalnej kopii. Jeśli buforowany plik został zmodyfikowany, jest kopiowany do nadzorcy po zamknięciu. Spójność bufora jest utrzymywana przez mechanizm odwołań (ang. callback). Kiedy plik jest buforowany, nadzorca odnotowuje to i informuje klienta, kiedy jest on modyfikowany przez kogoś innego.

Implementacje

Trzy główne implementacje AFS to Transarc (IBM), OpenAFS i Arla.

Andrew File System miał duży wpływ na wersję 4 popularnego systemu NFS. Jest również poprzednikiem systemu plików Coda.

Linki zewnętrzne