System plików Andrzeja
Andrew File System ( AFS ) to rozproszony system plików , który wykorzystuje zestaw zaufanych serwerów do prezentowania wszystkim klienckim stacjom roboczym jednorodnej, przejrzystej dla lokalizacji przestrzeni nazw plików. Został opracowany przez Carnegie Mellon University w ramach Andrew Project . Pierwotnie nazwany „Vice”, „Andrew” odnosi się do Andrew Carnegie i Andrew Mellona . Jego głównym zastosowaniem jest przetwarzanie rozproszone .
Cechy
AFS ma kilka zalet w porównaniu z tradycyjnymi sieciowymi systemami plików , szczególnie w obszarach bezpieczeństwa i skalowalności. Jedno korporacyjne wdrożenie AFS w Morgan Stanley przekracza 25 000 klientów. AFS używa protokołu Kerberos do uwierzytelniania i implementuje listy kontroli dostępu do katalogów dla użytkowników i grup. Każdy klient zapisuje pliki w pamięci podręcznej w lokalnym systemie plików w celu zwiększenia szybkości kolejnych żądań dotyczących tego samego pliku. Umożliwia to również ograniczony dostęp do systemu plików w przypadku awarii serwera lub awarii sieci .
AFS wykorzystuje model słabej spójności . Operacje odczytu i zapisu na otwartym pliku są kierowane tylko do lokalnie buforowanej kopii. Po zamknięciu zmodyfikowanego pliku zmienione fragmenty są kopiowane z powrotem na serwer plików. Spójność pamięci podręcznej jest utrzymywana przez wywołania zwrotnego . Gdy plik jest buforowany, serwer odnotowuje to i obiecuje poinformować klienta, jeśli plik zostanie zaktualizowany przez kogoś innego. Wywołania zwrotne są odrzucane i muszą zostać ponownie ustanowione po awarii klienta, serwera lub sieci, w tym przekroczeniu limitu czasu. Ponowne ustanowienie wywołania zwrotnego obejmuje sprawdzenie stanu i nie wymaga ponownego odczytu samego pliku.
Konsekwencją strategii blokowania plików jest to, że AFS nie obsługuje dużych współdzielonych baz danych ani aktualizacji rekordów w plikach współdzielonych między systemami klienckimi. Była to celowa decyzja projektowa oparta na postrzeganych potrzebach uniwersyteckiego środowiska komputerowego. Na przykład w oryginalnym systemie poczty e-mail dla Andrew Project, Andrew Message System, używany jest pojedynczy plik na wiadomość, na przykład maildir , zamiast jednego pliku na skrzynkę pocztową, jak mbox . Zobacz Problemy z AFS i buforowanym wejściem/wyjściem, aby zapoznać się z obsługą współużytkowanych baz danych.
Istotną cechą AFS jest wolumen , drzewo plików, podkatalogi i punkty montowania AFS (linki do innych woluminów AFS). Woluminy są tworzone przez administratorów i łączone w określonej, nazwanej ścieżce w komórce AFS. Po utworzeniu użytkownicy systemu plików mogą tworzyć katalogi i pliki w zwykły sposób, bez względu na fizyczną lokalizację woluminu. woluminu może być przypisany przydział w celu ograniczenia ilości zajmowanego miejsca. W razie potrzeby administratorzy AFS mogą przenieść ten wolumen na inny serwer i lokalizację dysku bez konieczności powiadamiania użytkowników; operacja może wystąpić nawet podczas używania plików w tym woluminie.
Woluminy AFS można replikować do sklonowanych kopii tylko do odczytu. Podczas uzyskiwania dostępu do plików w woluminie tylko do odczytu system kliencki pobierze dane z określonej kopii tylko do odczytu. Jeśli w pewnym momencie ta kopia stanie się niedostępna, klienci będą szukać którejkolwiek z pozostałych kopii. Ponownie użytkownicy tych danych nie są świadomi lokalizacji kopii tylko do odczytu; administratorzy mogą w razie potrzeby tworzyć i przenosić takie kopie. Pakiet poleceń AFS gwarantuje, że wszystkie woluminy tylko do odczytu zawierają dokładne kopie oryginalnego woluminu do odczytu i zapisu w momencie tworzenia kopii tylko do odczytu.
Przestrzeń nazw plików na stacji roboczej Andrew jest podzielona na współużytkowaną i lokalną przestrzeń nazw. Współdzielona przestrzeń nazw (zwykle montowana jako /afs w systemie plików Unix) jest identyczna na wszystkich stacjach roboczych. Lokalna przestrzeń nazw jest unikalna dla każdej stacji roboczej. Zawiera tylko pliki tymczasowe potrzebne do inicjalizacji stacji roboczej oraz dowiązania symboliczne do plików we wspólnej przestrzeni nazw.
System plików Andrew wywarł duży wpływ na wersję 4 popularnego sieciowego systemu plików (NFS) firmy Sun Microsystems . Ponadto wariant AFS, DCE Distributed File System (DFS), został przyjęty przez Open Software Foundation w 1989 roku jako część ich Distributed Computing Environment . Wreszcie AFS (wersja druga) był poprzednikiem Coda .
Implementacje
Oprócz oryginału opracowano kilka innych implementacji. OpenAFS został zbudowany ze źródła wydanego przez Transarc ( IBM ) w 2000 roku. Oprogramowanie Transarc stało się przestarzałe i straciło wsparcie. [ kiedy? ] Arla była niezależną implementacją AFS, opracowaną w Królewskim Instytucie Technologii w Sztokholmie na przełomie lat 90. i 2000.
Czwarta implementacja klienta AFS istnieje w kodzie źródłowym jądra Linuksa co najmniej od wersji 2.6.10. Zatwierdzona przez firmę Red Hat , jest to dość prosta implementacja, która według stanu na styczeń 2013 r. jest wciąż niekompletna.
Dostępne uprawnienia
Można przyznać następujące uprawnienia listy kontroli dostępu (ACL):
- Lookup (l)
- pozwala użytkownikowi wyświetlić listę zawartości katalogu AFS, sprawdzić listę ACL powiązaną z katalogiem i uzyskać dostęp do podkatalogów.
- Wstaw (i)
- umożliwia użytkownikowi dodawanie nowych plików lub podkatalogów do katalogu.
- Usuń (d)
- umożliwia użytkownikowi usuwanie plików i podkatalogów z katalogu.
- Administrowanie (a)
- umożliwia użytkownikowi zmianę listy ACL dla katalogu. Użytkownicy zawsze mają to prawo w swoim katalogu domowym, nawet jeśli przypadkowo usuną się z listy ACL.
Uprawnienia wpływające na pliki i podkatalogi obejmują:
- Odczyt (r)
- pozwala użytkownikowi przeglądać zawartość plików w katalogu i wyświetlać pliki w podkatalogach. Pliki, które mają mieć przyznany dostęp do odczytu dowolnemu użytkownikowi, w tym właścicielowi, muszą mieć standardowe uprawnienia do odczytu właściciela w systemie UNIX.
- Write (w)
- pozwala użytkownikowi modyfikować pliki w katalogu. Pliki, które mają mieć uprawnienia do zapisu dla dowolnego użytkownika, w tym właściciela, muszą mieć ustawione standardowe uprawnienia do zapisu właściciela w systemie UNIX.
- Blokada (k)
- umożliwia procesorowi uruchamianie programów, które muszą „ gromadzić ” pliki w katalogu.
Ponadto AFS zawiera listy ACL aplikacji (A)-(H), które nie mają wpływu na dostęp do plików.
Zobacz też
- ^ Co to jest Andrew Zarchiwizowane 9 września 2011 r. W Wayback Machine - części oficjalnej strony CMU zawierającej kronikę historii Projektu Andrew .
- ^ Garfinkel, Simson L. (maj – czerwiec 1989). „Wsady na rynku akademickim” (PDF) . Przegląd technologii . s. 9–13 . Źródło 25 stycznia 2016 r .
- Bibliografia _ Kazar, ML; Nichols, SG; Nichols, DA; Satyanarayanan, M.; Sidebotham, RN i Zachód, MJ (luty 1988). „Skala i wydajność w rozproszonym systemie plików”. Transakcje ACM w systemach komputerowych . 6 (1): 51–81. CiteSeerX 10.1.1.71.5072 . doi : 10.1145/35037.35059 . S2CID 52848606 .
- ^ Moore, Phillip (2004). „Kiedy Twoja firma od tego zależy — ewolucja globalnego systemu plików dla globalnego przedsiębiorstwa” (PDF) .
- ^ Yaniv Pessach (2013), Distributed Storage (Distributed Storage: Concepts, Algorithms and Implementations red.), Amazon, OL 25423189M
- ^ Otwieranie AFS
- ^ Assar Westerlund i Johan Danielsson (1998). „Arla-darmowy klient AFS” . Postępowanie z 1998 USENIX, Freenix Track . CiteSeerX 10.1.1.16.1360 .
- ^ Magnus Ahltorp, Miłość Hörnquist-Åstrand i Assar Westerlund (2000). „Przenoszenie systemu plików Arla do systemu Windows NT” . Warsztaty z zarządzania i administrowania środowiskami rozproszonymi . CiteSeerX 10.1.1.512.9570 .
- ^ Dokumentacja AFS jądra Linuksa dla wersji 2.6.10
- ^ "LXR linux/Documentation/filesystems/afs.txt" . linux.no . 1 sierpnia 2012 r. Zarchiwizowane od oryginału w dniu 1 sierpnia 2012 r . Źródło 23 kwietnia 2018 r .