Prezentacja z Systemów Operacyjnych
AFS - Andrew File System
(Stworzony na uniwersytecie UMC)
Rafał Rusin (r.rusin@students.mimuw.edu.pl)
Czym jest AFS?
Jest to sieciowy system plików umożliwiający dostęp komputerom
do pewnego zbioru plików w jednolity sposób.
Udostępniane pliki są przechowywane na dyskach serwerów AFS, a dostęp
do nich odbywa się poprzez Menadżera Cache'u uruchomionego na komputerze
klienta.
Onacza to, że udostępniane pliki znajdują się na różnych komputerach
połączonych w sieć. Natomiast dostęp do nich odbywa się w ten sposób, że
klient kontaktuje się z Menadżerem Cache'u na swoim komputerze, który
z kolei pobiera pewną część żądanego pliku z przestrzeni plików AFS.
Przyjęte rozwiązania
Autoryzacja i autentykacja
AFS używa autoryzacji i autentykacji jako podstawowych technik wykorzystywanych
przy pobieraniu plików.
Przy tworzeniu nowego konta AFS użytkownik musi podać hasło.
Następnie przy każdej próbie zalogowania do systemu UNIX jest proszony
o wpisanie go. Gdy AFS potwierdzi poprawność hasła, wtedy użytkownik
jest zaznaczony jako zautoryzowany i otrzymuje żeton.
Żetony
Żeton identyfikuje użytkownika w AFS. Jest używany w trakcie przekazywania
danych pomiędzy serwerem AFS i klientem.
Istnieje możliwość pracy bez autoryzacji. W tym przypadku użytkownik
ma ograniczony dostęp do zasobów.
Żeton wygasa po 25 godzinach ciągłego używania. Może zostać odnowiony
komendą klog.
Przy pracy w pojedynczej sesji używany jest jeden żeton do komunikacji
z serwerem. W momencie, gdy użytkownik łączy się zdalnie z innym komputerem
autoryzacja musi być ponowiona.
Komórki i nazwy plików
Komórka (cell) oznacza pewną grupę serwerów, udostępniających zasoby.
Jeden z tych serwerów zajmuje się przechowywaniem informacji w wolumenach
i odbiera zapytnia od różnych klientów, przekierowując ich odpowiednio.
AFS używa tak jak inne systemy plików drzewiastej struktury katalogów.
Katalog główny, do którego jest zamontowany AFS (np. '/afs/') oznacza cały świat,
podobnie jak 'http://' w internecie.
Każda ścieżka AFS ma postać '/afs/komórka/ścieżka', gdzie
komórka identyfikuje pewne miejsce w sieci, które udostępnia różne pliki.
Natomiast ścieżka jest identyfikatorem odpowiedniego pliku w obrębie komórki.
Menadżer Cache'u (Wenus)
Jest to proces pobierający dane z serwera AFS w imieniu użytkownika.
Zapamiętuje je w pamięci lokalnej, zatem użytkownik pracuje na
kopii oryginalnego pliku.
W momencie wykonania zapisu lub zamknięcia pliku przez użytkownika
następuje przesłanie całego pliku przez sieć.
Został tu zastosowany mechanizm callback'ów, tzn. serwer zapewnia
klienta, że powiadomi go o ewentualnych zmianach w pliku.
Jest to nazywane "Callback Promise".
Jest dokładnie jeden Menadżer Cache'u na jednym komputerze.
Lustrzane kopie
AFS umożliwia tworzenie kopii pewnych katalogów w sieci.
Odbywa się to w obrębie jednej komórki i jest niewidoczne dla
użytkownika.
Tworzeniem kopii zajmuje się administrator.
Natomiast przekierowywaniem użytkownika do najoptymalniejszych serwerów
zajmuje się Menadżer Cache'u.
W momencie, gdy użytkownik dokona zapisu pliku na lustrzanej kopii,
wtedy serwer po otrzymaniu pliku rozsyła go do pozostałych
serwerów.
Wynika z tego, że zapis dużych plików na powielonych katalogach
może być operacją bardzo obciążającą sieć i długotrwałą.
Wolumeny
Dane na AFS'ie są przechowywane na wolumenach.
Każdy katalog domowy jest oddzielnym wolumenem posiadającym
quotę.
Z różnych powodów AFS stara się, aby wolumeny nie przekraczały
100-200 MB. Gdy tak się zdarzy, wtedy dla odpowiadającego
katalogu domowego zostaje przydzielony nowy wolumen.
Konflikty
AFS nie udostępnia wykrywania konfliktów w ogóle.
Podsumowanie
W wielu aspektach AFS jest podobny do NFS. Jednak istnieje kilka
znaczących zalet AFS w porównaniu do NFS. Są to:
- łatwy sposób łączenia ze sobą kilku podsieci, gdyż w przeciwieństwie
do NFS dane nie muszą znajdować się na jednym serwerze
- lepsze zabezpieczenia dzięki autoryzacji użytkowników
i strzeżonemu dostępowi do plików
- tworzenie kopii zapasowych katalogów domowych codziennie o północy,
co jest przydatne w przypadku utraty ważnego pliku
- stosunkowo niskie zużycie sieci, ponieważ użytkownicy pracują na lokalnej
kopii pliku aż do momentu zapisania bądź zamknięcia go
- katalogi domowe użytkowników mogą być przemieszczane pomiędzy serwerami AFS
bez wiedzy użytkownika,
co umożliwia odpowiednie zapełnienie serwerów. A więc praktycznie znika problem
braku wolnego miejsca w momencie, gdy na innym serwerze jest go pod dostatkiem
- dużo lepszy mechanizm zapobiegający sytuacji, w której pewien użytkownik
zapełnia cały dysk serwera uniemożliwiając pracę całej grupie użytkowników,
poprzez stosowanie quoty dla każdego użytkownika