Instytut Informatyki, Uniwersytet Wrocławski 15 stycznia 2009
Spis treści 1 2 3 4 Inne rozproszone systemy plików 5
Rozproszone systemy plików Rozproszony system plików (ang. Distributed File System DFS) rozproszona implementacja klasycznego systemu plików, w którym wielu użytkowników dzieli pliki i pamięci. Zadanie DFS: umożliwienie tego samego dzielenia zasobów w warunkach fizycznego rozmieszczenia plików na stanowiskach systemu rozproszonego.
Network File System Sun Microsystems Zbiór protokołów Implementacja na różne systemy operacyjne Tabela: Podstawowe różnice między wersjami Wersja 3 Wersja 4 serwer bezstanowy serwer stanowy iteracyjne tłumaczenie nazwy rekursywne tłumaczenie nazwy stały zbiór atrybutów plików zmienny zbiór atrybutów plików
Architektura a) b) Rysunek: Model zdalnego dostępu (ang. remote access model) (a); model sprawdzania-ekspediowania (ang. upload/download model) (b)
Architektura (cd.) Rysunek: Podstawowa architektura dla systemu UNIX
Model systemu plików
Model systemu plików (cd.) Pliki nieregularne: dowiązania symboliczne, katalogi, pliki specjalne. Pliki specjalne: pliki urządzeń, gniazda. remove w v4 dowolny plik, zmniejsza liczbę dowiązań twardych open w v4 tworzy uchwyt plikowy i nowy plik jeśli nie istnieje, operacja stanowa close serwer może usunąć stan lookup w v3 nie wychodzi poza punkt montażu, w v4 nazwa tłumaczona rekurencyjnie
Komunikacja Rysunek: Czytanie danych z pliku (z użyciem RPC) w v3 (a); czytanie danych za pomocą procedury złożonej w v4 (b)
Stanowość czy bezstanowość co lepsze? 1 Zalety bezstanowości v3 brak konieczności rekonstrukcji stanu po załamaniu 2 Zalety stanowości v4 łatwość zablokowania pliku niektóre protokoły uwierzytelniania wymagają trzymania informacji o stanie klienta skuteczne wykorzystanie pamięci podręcznej przez klienta
Nazewnictwo Rysunek: Montowanie części zdalnego systemu plików w systemie
Nazewnictwo (cd.) Rysunek: Montowanie katalogów zagnieżdżonych z użyciem wielu serwerów
Uchwyty plikowe Uchwyt plikowy (ang. file handler) odniesienie do pliku w systemie plików. W systemie powinnien istnieć tylko jeden uchwyt do danego pliku. Większość operacji plikowych zadowala się uchwytem plikowy (zysk na efektywności).
Automatyczne montowanie Rysunek: Prosty automonter w systemie
Automatyczne montowanie (cd.) Rysunek: Użycie dowiązań symbolicznych przy automatycznym montowaniu
Atrybuty pliku V3 - stały zbiór atrybutów (utrudniona implementacja pod systemami spoza rodziny UNIX). V4 - zbiór atrybutów podzielony na: obowiązkowe, zalecane i nazwane. Rysunek: Wybrane obowiązkowe atrybuty pliku w
Atrybuty pliku (cd.) Rysunek: Zalecane ogólne atrybuty pliku w
Synchronizacja Rysunek: Na jednym procesorze, gdy operacja read występuje po operacji write, wartość zwracana przez read jest wartością właśnie zapisaną (a); w systemie rozproszonym z pamięcią Jakub Kowalski, podręczną Andrzej Pilarczyk możeprzegląd zostać rozproszonych zwrócona systemów wartość plików nieaktualna
Synchronizacja (cd.) Rysunek: Cztery sposoby postępowania z plikami dzielonymi w systemie rozproszonym
Synchronizacja (cd.) Rysunek: Operacje dotyczące blokowania pliku w v4 systemu
Synchronizacja (cd.) Rysunek: Wynik operacji open z rezerwacjami udziału w : a) sytuacja, w której klient zamawia dostęp dzielony przy zadanym, aktualnym stanie odmowy; b) sytuacja, w której klient zamawia stan odmowy przy zadanym aktualnym stanie dostępu do pliku
Zwielokrotnianie Zwielokrotniamy cały system plików, czyli logiczne urządzenie blokowe złożone z: plików atrybutów katalogów bloków danych Możliwe umiejscowienia systemu plików znajdują się w atrybucie FS LOCATIONS.
Awarie RPC Rysunek: Trzy sytuacje przy obsłudze retransmisji: a) trwa realizacja zamówienia; b) odpowiedź właśnie nadeszła; c) odpowiedź wysłano pewnien czas temu, lecz uległa zagubieniu
Bezpieczeństwo W starszych wersjach stosowano trzy metody bezpiecznego wywołania RPC: 1 uwierzytelnianie systemowe 2 metoda Diffiego-Hellmana 3 Kerberos (wersja 4) W v4 zastosowano protokół uwierzytelniania Kerberos w wersji 5. Kontrola dostępu jest rozwinięciem kontroli dostępu z systemów uniksowych poprzez przystosowanie do systemów Windows 2000.
Opracowany w Carnegie Mellon University - lata 90-te XX w. Cele: skalowalność bezpieczeństwo wysoka dostępność duża przezroczystość nazewnictwa i lokalizacji wysoki poziom przezroczystości awarii
(cd.) Rysunek: Ogólna organizacja systemu
(cd.) Rysunek: Wewnętrzna organizacja stacji roboczej Virtue
Komunikacja Komunikacja z użyciem RPC2. Cechy RPC2: niezawodne wywołania RPC powyżej protokołu UDP serwer regularnie informuje klienta o tym, że pracuje nad realizacją zamówienia umożliwia skutki uboczne umożliwia rozsyłanie np. unieważnianie kopii lokalnych równoległe wywołania realizowane przez MultiRPC
Komunikacja (cd.) Rysunek: Wysyłanie kolejno komunikatów unieważniających (a); rownoległe wysyłanie komunikatów unieważniających(b)
Nazewnictwo Rysunek: Klienci w systemie mają dostęp do jednej, dzielonej przestrzeni nazw
Identyfikatory plików Rysunek: Realizacja i tłumaczenie identyfikatora pliku w systemie
Dzielenie plików w systemie Rysunek: Zachowanie transakcyjne przy dzieleniu plików w systemie
Semantyka uaktualnień Aktualizacja jest akceptowana przez serwer wtedy i tylko wtedy, gdy: W obecna + 1 = W klienta + N aktualizacji (1) gdzie: W obecna numer wersji pliku na serwerze W klienta numer wersji pliku u klienta N aktualizacji liczba aktualizacji wykonanych w sesji, które przesłano do serwera
Przechowywanie podręczne u klienta obietnica przywołania i anulowanie przywołania Rysunek: Użycie kopii lokalnych przy otwieraniu sesji w systemie
Zwielokrotnianie serwera Rysunek: Dwóch klientów z różnymi grupami AVSG tego samego, zwielokrotnionego pliku
Zwielokrotnianie serwera (cd.) VSG grupa przechowywania tomu (ang. Volume Storage Group) zbiór serwerów mających kopię danego tomu. AVSG dostępna grupa przechowywania tomu (ang. Accessible VSG) dostępna dla klienta podgrupa VSG. Każdy serwer utrzymuje wektor wersji (ang. Code version vector) CVV i (f ) dla każdego pliku w VSG. Wektor ten ma długość równą ilości serwerów w VSG.
Tolerowanie awarii Działanie w odłączeniu Rysunek: Diagram zmian stanu klientów systemu dotyczących tomu Odtwarzalna pamięć wirtualna (ang. Recoverable Virtual Memory) prowadzenie dziennika zmian.
Bezpieczeństwo Rysunek: Wzajemne uwierzytelnianie w systemie RPC2
Bezpieczeństwo kontrola dostępu wspólne prawa dla plików zwykłych w katalogu zależne od praw katalogu prawa zanegowane Rysunek: Klasyfikacja operacji na plikach i katalogach, wyodrębnianych w systemie do celów kontrolowania dostępu
SFS xfs Plan 9 SFS Secure File System Cel: oddzielenie zarządzania kluczami od bezpieczeństwa systemu plików Budowa systemu: system zintegrowany z v3, komunikacja za pośrednictwem RPC Klient interfejs dla programów użytkowych Agent użytkownika obsługuje uwierzytelnianie użytkownika Serwer uwierzytelniania sprawdza tożsamości użytkowników
SFS xfs Plan 9 Przegląd systemu SFS Rysunek: Budowa systemu SFS
SFS xfs Plan 9 SFS nazewnictwo Rysunek: Samopoświadczalna nazwa ścieżki w systemie SFS /sfs korzeń dla globalnej przestrzeni nazw LOC identyfikator serwera SFS (nazwa domeny lub adres IP) HID identyfikator komputera obliczany przez wykonanie haszowania kryptograficznego na położeniu serwera i jego kluczu publicznym
SFS xfs Plan 9 SFS bezpieczeństwo Funkcja haszująca jest ogólnie znana. Sprawdzanie tożsamości użytkownika przez serwer niezależne od SFS. Zdobywanie kluczy publicznych serwerów odpytywanie, lub spamiętywanie. Dowiązania symboliczne w celu ukrycia identyfikatora komputera.
SFS xfs Plan 9 xfs Bezserwerowy system plików. Typy procesów: Serwer pamięci odpowiada za pamiętanie fragmentów pliku. Zarządca metadanych śledzenia miejsca w którym jest pamiętany blok danych. Klient przyjmuje zamówienia działań na plikach.
SFS xfs Plan 9 Przegląd systemu xfs Rysunek: Typowe rozproszenie procesów xfs między wiele maszyn
SFS xfs Plan 9 xfs komunikacja Pierwotnie RPC, obecnie komunikaty aktywne. Powody rezygnacji z RPC: brak efektywności niemożliwe proste blokowanie W komunikacie aktywnym jest określona procedura obsługi po stronie odbiorcy. Procedura obsługi blokuje dostęp do komputera, na którym jest wykonywana.
SFS xfs Plan 9 xfs procesy i nazewnictwo Rysunek: Zasada paskowania opartego na rejestrze w systemie xfs
SFS xfs Plan 9 xfs procesy i nazewnictwo (cd.) Rysunek: Główne struktury danych używane w xfs
SFS xfs Plan 9 xfs procesy i nazewnictwo (cd.) Rysunek: Czytanie bloku danych w systemie xfs
SFS xfs Plan 9 Plan 9
SFS xfs Plan 9 Plan 9 (cd.) nazwa systemu wzięta z filmu Eda Wooda, Plan 9 From Outer Space. założenie wszystko jest plikiem brak ścisłego podziału na serwery i klientów
SFS xfs Plan 9 Plan 9 organizacja Rysunek: Ogólna organizacja systemu Plan 9
SFS xfs Plan 9 Plan 9 komunikacja Protokół 9P dopasowany do operacji plikowych działa powyżej protokołu transportowego w sieciach lokalnych korzysta z protokołu datagramowego (łącze internetowe) w sieciach rozległych korzysta z TCP
SFS xfs Plan 9 Plan 9 komunikacja (cd.) Rysunek: Pliki skojarzone z jednym połączeniem TCP w systemie Plan 9
SFS xfs Plan 9 Plan 9 procesy Rysunek: Serwer plików systemu Plan 9
SFS xfs Plan 9 Plan 9 nazewnictwo Rysunek: Katalog połączony systemu Plan 9
Rysunek: Porównanie przedstawionych rozproszonych systemów plikow
Bibliografia A. S. Tanenbaum, M. van Steen Systemy rozproszone. Zasady i paradygmaty, Wydawnictwa Naukowo-Techniczne, Warszawa 2006. A. Silberschatz, P. B. Galvin, G. Gagne Podstawy systemów operacyjnych, Wydawnictwa Naukowo-Techniczne, Warszawa 2005.
Koniec Dziękujemy za uwagę!