next up previous contents
Next: DFS Up: Sieciowe systemy plików Previous: RFS   Spis rzeczy

Subsections

AFS

Wprowadzenie

Wstęp

Rozproszony system plików AFS stworzono na Canergie-Mellon University we współpracy z IBM (Information Technology Center ITC). ITC stworzyło kilka wersji, w tym ostateczną AFS 3.0. Dalsze prace prowadzono w Transarc Corporation, gdzie system AFS przekształcono w DFS, składową środowiska DCE.

Cele projektowe

Najważniejsze założenia dla systemu AFS:

Omówienie systemu AFS

Architektura systemu AFS

W systemie AFS sieć podzielona jest na pewną liczbę niezależnych klastrów. W systemie AFS używa się serwerów dedykowanych. Komputer w sieci jest albo serwerem, albo klientem, nie może pełnić obu funkcji. Do każdego klastra należy pewna liczba kllientów oraz serwer, który przechowuje pliki dla tych klientów. Chociaż użytkownicy mają dostęp do wszystkich plików w sieci, najszybciej otrzymają te, które znajdują się na serwerze należącym do tego samego segmentu sieci.
Aby zwiększyć wydajność w systemie AFS zastosowano ,,agresywne'' techniki cache'owania po stronie klientów. Zapamiętywany jest cały plik lub 64-kilobajtowe kawałki. O ważność danych u klientów dbają serwery.
Aby zmniejszyć obciązenie serwerów analiza nazw plików odbywa się u klientów.

Organizacja pamięci

Pliki współdzielone są przechowywane przez zestaw serwerów Vice. Zorganizowane są one w logiczne jednostki woluminy (ang. volume). Wolumin jest to zestaw związanych ze sobą plików i katalogów, przy czym jest to jednostka różna od partycji dysku. Użycie woluminów ma następujące zalety:

W systemie przestrzeń nazw jest jednolita i niezależna od położenia, co jest realizowane przez bazę danych położenia woluminów. Aby system działał sprawnie, baza danych znajduje się na każdym serwerze.
Dla każdej stacji roboczej klienta wymagany jest dysk lokalny, gdzie przechowywane są pliki lokalne i katalog do montowania hierarchii plików współdzielonych. Zatem każdy klient widzi tę samą współdzieloną przestrzeń nazw. Dodatkowo, dysk lokalny pełni funkcję pamięci podręcznej.
W początkowych wersjach systemu AFS stosowano semantykę sesji, potem zmieniono sprawdzanie ważności danych na każdy odczyt i zapis, co nadal nie spełnia jednak UNIXowej semantyki. Wprowadzono ją dopiero w systemie DFS, następcy systemu AFS.

Implementacja systemu AFS

Zestaw serwerów w systemie AFS nazywany jest Vice, zaś stacje klientów Virtue. W jądrze klienta działa zarządca pamięci podręcznej AFS, natomiast w serwerze większość jego funkcji wykonywanych jest na poziomie jądra przez procesy-demony.

  1. Pamięć podręczna

    Implementacją operacji v-węzła u klienta zajmuje się zarządca pamięci podręcznej. O spójność danych w pamięciach podręcznych klientów dba serwer, przy użyciu mechanizmu obietnicy powiadomienia (ang. callback), co oznacza że jeśli inny klient zmodyfikuje plik, to pozostali są o tym powiadamiani. Wiąże się to oczywiście z faktem, iż serwer AFS musi być stanowy, by przechowywać informacje o otwartych plikach.

  2. Analiza nazw ścieżkowych

    Analiza nazw ścieżkowych jest wykonywana po stronie klienta, aby odciążyć serwer. Klient pamięta więc dowiązania symboliczne, katalogi jak i pozycje położenia woluminów z bazy danych. Analiza odbywa się po jednej składowej na raz.

  3. Bezpieczeństwo

    W systemie AFS korzysta się z systemu uwierzytelniania Kerberos opracowanego na MIT, przy czym uwierzytelnianie klientów odbywa się poprzez odpowiedzi na zaszyfrowane komunikaty serwera. Klucz do szyfrowania zna klient i serwer.
    Ponadto wykorzystywana jest lista kontroli dostępu ACL (ang. Access Control List) do poszczególnych katalogów.

  4. Wnioski i wady

    Pomimo sukcesu pod koniec lat 80. system AFS miał kilka znaczących wad, które wymusiły zmiany w jego następcy, systemie DFS, a mianowicie:


next up previous contents
Next: DFS Up: Sieciowe systemy plików Previous: RFS   Spis rzeczy
Elżbieta Krępska 2004-01-19