Rozproszone systemy plików

Podobne dokumenty
Rozproszone systemy plików

Przykłady DFS z lotu ptaka :) NFS AFS Coda GoogleFS ZFS

Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.

Systemy rozproszone System rozproszony

współbieżność - zdolność do przetwarzania wielu zadań jednocześnie

Wprowadzenie. Dariusz Wawrzyniak 1

Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi

Middleware wprowadzenie października 2010

IBM DCE/DFS. Mikołaj Gierulski. 17 stycznia 2003

Prezentacja systemu plików NFS

Rozproszone systemy plików AFS i Coda

Middleware wprowadzenie października Dariusz Wawrzyniak (IIPP) 1

Rozproszone systemy plików Bartosz Grabiec Jerzy Brzeziński Cezary Sobaniec

System plików. Warstwowy model systemu plików

Prezentacja AFS. Andrzej Kurach. 13 stycznia 2003

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

Wstęp. Historia i przykłady przetwarzania współbieżnego, równoległego i rozproszonego. Przetwarzanie współbieżne, równoległe i rozproszone

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych

Replikacja bazy danych polega na kopiowaniu i przesyłaniu danych lub obiektów bazodanowych między serwerami oraz na zsynchronizowaniu tych danych w

76.Struktura oprogramowania rozproszonego.

System plików warstwa logiczna

Zapewnienie wysokiej dostępności baz danych. Marcin Szeliga MVP SQL Server MCT

Rozproszony system udostępniania zasobów oparty na zdalnym wywoływaniu procedur

Zdalne wywołanie procedur. Krzysztof Banaś Systemy rozproszone 1

Wywoływanie procedur zdalnych

Rodzaje pamięci masowych by Silas Mariusz

Systemy rozproszone. Wstęp. Krzysztof Banaś Systemy rozproszone 1

Wywoływanie procedur zdalnych

Bazy danych 2. Wykład 1

5. Model komunikujących się procesów, komunikaty

SYSTEMY WEJŚCIA-WYJŚCIA

Sieciowe Systemy Operacyjne

Rozproszone i obiektowe systemy baz danych. Wykład 4. Wymagania projektowe systemów rozproszonych

RPC. Zdalne wywoływanie procedur (ang. Remote Procedure Calls )

Zdalne wywoływanie procedur RPC. Dariusz Wawrzyniak 1

Wywoływanie procedur zdalnych

Sieci równorzędne, oraz klient - serwer

Zdalne wywoływanie procedur RPC

Zdalne wywoływanie procedur RPC

Przegląd rozproszonych systemów plików

Systemy Rozproszone. Zagadnienia do egzaminu.

Od czego zacząć przy budowaniu środowisk wysokiej dostępności?

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010

Komunikacja i wymiana danych

Architektura i mechanizmy systemu

SMB jako rozproszony system plików Prezentacja na SO

Ćwiczenie nr: 9 Obliczenia rozproszone MPI

Klient-Serwer Komunikacja przy pomocy gniazd

Zdalne wywoływanie procedur RPC 27. października Dariusz Wawrzyniak (IIPP) 1

Spis treści. 1 Wprowadzenie. 1.1 Podstawowe pojęcia. 1 Wprowadzenie Podstawowe pojęcia Sieci komunikacyjne... 3

Middleware wprowadzenie października Dariusz Wawrzyniak. Instytut Informatyki ul. Piotrowo 2 (CW, pok. 5)

1. Etapy rozwoju systemów komputerowych

Systemy operacyjne System plików

Oprogramowanie systemów równoległych i rozproszonych. Wykład 6

NIS/YP co to takiego?

Rozproszone systemy plików wprowadzenie. Autor: Łukasz Polak

System operacyjny Amoeba

Projekt Fstorage. Łukasz Podkalicki Bartosz Kropiewnicki

Dfs - Distributed File System SMB - Server Message Block. 18 grudnia 2002

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Adres IP

ARCHITEKTURY SYSTEMÓW ROZPROSZONYCH. 2. Rozproszone systemy plików

DZANIA I MARKETINGU BIAŁYSTOK,

Wybrane działy Informatyki Stosowanej

Replikacje. dr inż. Dziwiński Piotr Katedra Inżynierii Komputerowej. Kontakt:

Przepełnienie bufora. SQL Injection Załączenie zewnętrznego kodu XSS. Nabycie uprawnień innego użytkownika/klienta/administratora

Ograniczenia efektywności systemu pamięci

Pliki. Operacje na plikach w Pascalu

Tworzenie aplikacji rozproszonej w Sun RPC

7. zainstalowane oprogramowanie zarządzane stacje robocze

Działanie systemu operacyjnego

Tworzenie pliku Zapisywanie pliku Czytanie pliku Zmiana pozycji w pliku Usuwanie pliku Skracanie pliku

Ćwiczenie nr: 9 Obliczenia rozproszone MPI

Kolejki FIFO (łącza nazwane)

Podstawy sieci komputerowych. Technologia Informacyjna Lekcja 19

Projektowanie i implementacja infrastruktury serwerów

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.

Cryptobox Aplikacja do synchronizacji danych użytkownika w systemie KMD2

OBSŁUGA ZDARZEO, ALARMÓW, NASTAW I FUNKCJI KONTROLNYCH W PROGRAMIE OBSŁUGI INTERFEJSU 61850

Działanie systemu operacyjnego

Sieci komputerowe i bazy danych

Działanie systemu operacyjnego

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

Sieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Wywoływanie metod zdalnych

Relacyjne, a obiektowe bazy danych. Bazy rozproszone

Windows Serwer 2008 R2. Moduł 8. Mechanizmy kopii zapasowych

Software RAID funkcje dostarcza zaimplementowane oprogramowanie, bez wykorzystania z dedykowanych kontrolerów.

Dokumentacja aplikacji Szachy online

Zbuduj prywatną chmurę backupu w firmie. Xopero Backup. Centralnie zarządzane rozwiązanie do backupu serwerów i stacji roboczych

Szkolenie autoryzowane. MS 6419 Konfiguracja, zarządzanie i utrzymanie systemów Windows Server 2008

T: Wbudowane i predefiniowane domenowe grupy lokalne i globalne.

Szkolenie autoryzowane. MS Administracja Windows Server Strona szkolenia Terminy szkolenia Rejestracja na szkolenie Promocje

Rozproszone bazy danych. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW

Systemy plików i zarządzanie pamięcią pomocniczą. Struktura pliku. Koncepcja pliku. Atrybuty pliku

Transkrypt:

Rozproszone systemy plików CEZARY SOBANIEC mailto:sobaniec@cs.put.poznan.pl $Id: rsp-folie.lyx,v 1.4 2002/10/29 21:06:48 sobaniec Exp $

Rozproszone systemy plików Usługi plikowe (ang. file services) elementarne operacje bez specyfikowania sposobu ich realizacji Serwer plików (ang. file server) proces realizujacy usługi plikowe Na rozproszony system plików składaja się: rzeczywiste usługi plikowe usługi katalogowe Rozproszone systemy plików (1/44)

Usługi plikowe i katalogowe Usługi plikowe Implementacja działań na zawartości plików klient wysyła z każdym zleceniem jednoznaczny identyfikator pliku niepowtarzalny w zbiorze wszystkich plików systemu rozproszonego utworzenie nowego pliku generacja nowego identyfikatora Usługi katalogowe odwzorowania między tekstowymi nazwami plików a ich identyfikatorami tworzenie i aktualizacja katalogów pobieranie identyfikatorów plików (ang. lookup) klient usługi plikowej informacja o katalogach przechowywana jest w pliku Rozproszone systemy plików (2/44)

Atrybuty plików Długość pliku Data utworzenia pliku Data ostatniego dostępu Data ostatniej modyfikacji Data ostatniej zmiany atrybutów Licznik odwołań Właściciel Typ pliku Lista kontroli dostępu (ACL) Nadzorowane przez usługi plikowe Nadzorowane przez usługi katalogowe kontrola praw dostępu wykonywana jest jednokrotnie podczas zamiany nazwy pliku na identyfikator Plik nieinterpretowalny ciag bajtów (definicja zgodna z koncepcja systemów Unix czy Windows) Rozproszone systemy plików (3/44)

Interfejs usług plikowych 1. Transfer do klienta Klient Serwer (a) stary plik nowy plik 2. Modyfikacje u klienta 3. Transfer do serwera Klient 1. Zlecenie klienta Serwer (b) 2. Potwierdzenie wykonania Rozproszone systemy plików (4/44)

Modele interfejsu usług plikowych Model oparty na kopiowaniu (ang. download/upload model) Zalety prostota koncepcji i implementacji prosty interfejs usług plikowych model korzystny w przypadku wykonywania wielu złożonych operacji przez wydzielone procesy. Wady duży narzut komunikacyjny w przypadku wykonywania małych modyfikacji wymagana przestrzeń dyskowa lub pamięciowa do tymczasowego przechowania pliku Rozproszone systemy plików (5/44)

Modele interfejsu usług plikowych (II) Model zdalnego dostępu (ang. remote access model). Zalety nie ma potrzeby sprowadzania plików do klienta efektywna realizacja małych modyfikacji Wady każde zlecenie realizowane jest zdalnie, co powoduje duże opóźnienia. Rozproszone systemy plików (6/44)

Interfejs usług katalogowych Jak postrzegaja rozproszony system plików różni klienci? Możliwe podejścia 1. Nazwa komputera + nazwa ścieżki /serwer1/kat1 serwer1:/kat1 2. Montowanie zdalnego systemu plików w lokalnej hierarchii plików 3. Wspólna przestrzeń nazw Niezależność od usług plikowych możliwość projektowania rozmaitych usług katalogowych odwołujacych się do tych samych plików emulacja innych systemów Rozproszone systemy plików (7/44)

Interfejs usług katalogowych (II) Serwer S1 A Serwer S2 D B C E F Klient K1 korzeń Klient K2 A A D B C D B C E F E F Rozproszone systemy plików (8/44)

Nazewnictwo dwupoziomowe Rodzaje nazw nazwy symboliczne ang. symbolic names nazwy binarne ang. binary names Katalogi zajmuja się odwzorowywaniem nazw symbolicznych na binarne. W systemie Unix: nazwa pliku to nazwa symboliczna, i węzeł nazwa binarna. Nazwa binarna może zawierać w sobie zarówno nazwę serwera jak i ścieżkę. Nazwa pliku może być odwzorowywana na grupę nazw binarnych. Rozproszone systemy plików (9/44)

Przezroczystość (transparentność) Przezroczystość dostępu programy sa nieświadome rozproszenia plików; jeden zbiór operacji dostępu do plików zdalnych i lokalnych Przezroczystość położenia (ang. location transparency) nazwa ścieżki nie daje żadnej wskazówki co do położenia pliku Porównaj: /serwer1/kat1/kat2/x i /kat1/kat2/y Niezależność położenia (ang. location independace) pliki można przemieszczać między serwerami bez zmiany ich nazwy Przezroczystość współbieżności możliwość współbieżnej realizacji dostępu do plików (modyfikacji); blokowanie dostępu Przezroczystość awarii odporność serwera na awarie klientów, odporność na przejściowe awarie sieci Przezroczystość wydajności odporność na chwilowe przeciażenia serwerów Rozproszone systemy plików (10/44)

Wymagania Heterogeniczność sprzętu i systemu operacyjnego. Oprogramowanie klienta i serwera musi być możliwe do zaimplementowania w różnych systemach operacyjnych Otwartość standardów komunikacyjnych Skalowalność możliwość stopniowego rozszerzania usług Skalowalność na duża skalę Przezroczystość zwielokrotniania transparentna replikacja: dzielenie obciażenia, tolerowanie uszkodzeń Przezroczystość wędrówki migracja (mobilność) plików nie wymagajaca modyfikacji programów migracja automatyczna migracja ręczna Rozproszone systemy plików (11/44)

Wymagania przyszłe Drobnoziarniste rozpraszanie danych możliwość współdzielenia małych fragmentów danych (obiektów) w pobliżu potrzebujacych ich procesów. Przechowywanie w pamięci podręcznej. nieodpowiedniość abstrakcji pliku model pamięci trwałej dla systemów scentralizowanych mobilni agenci rozproszona trwała (ang. persistent) pamięć Tolerowanie podziału sieci oraz możliwość pracy po odłaczeniu od sieci odłaczenie stacji roboczej od sieci (notebook) algorytmy quorum Rozproszone systemy plików (12/44)

Przykładowy interfejs usług plikowych Funkcja READ(plik, i, n) dane WRITE(plik, i, dane) CREATE() plik TRUNCATE(plik, d) DELETE(plik) GETATTR(plik) attr SETATTR(plik, attr) Opis odczyt z pliku zapis do pliku utworzenie pliku skrócenie rozmiaru pliku do długości d usunięcie pliku pobranie atrybutów pliku ustawienie atrybutów pliku funkcje realizowana za pomoca zdalnego wywołania procedur (RPC) brak funkcji OPEN i CLOSE (bezstanowość) idempotentność operacji (wyjatek: CREATE) Rozproszone systemy plików (13/44)

Przykładowy interfejs usług katalogowych Funkcja LOOKUP(kat, nazwa, tryb dostępu, id użytk) plik ADDNAME(kat, nazwa, plik, id użytk) DELNAME(kat, nazwa) RENAME(kat, stara nazwa, nowa nazwa) GETNAMES(kat, wzorzec) ciag nazw Opis zwraca identyfikator pliku dodanie nazwy do katalogu usunięcie nazwy z katalogu zmiana nazwy pliku zwraca zawartość katalogu niebezpieczeństwo: utworzenie pliku bez zapisu w katalogu uprawnienia jako mechanizm weryfikacji dostępu (unikalny identyfikator pliku) Rozproszone systemy plików (14/44)

Semantyka współdzielenia plików 1. Systemy scentralizowane Odczyt zwraca zawsze ostatnio zapisana wartość (semantyka scentralizowana) 2. Systemy rozproszone Brak wspólnego zegara: odczyt może zwrócić stara wartość Semantykę scentralizowana można w systemie rozproszonym zrealizować przez pojedynczy centralny serwer duży koszt. Rozproszone systemy plików (15/44)

Semantyka współdzielenia plików (II) Problem współdzielenia wskaźnika bieżacej pozycji w pliku int fd = open("/tmp/ab.txt", O WRONLY O CREAT, 0700); int d; if (fork()==0) { d = 10; write(fd, &d, sizeof(int)); } else { d = 20; write(fd, &d, sizeof(int)); } Rozproszone systemy plików (16/44)

Semantyka współdzielenia plików (III) Semantyka sesji (ang. session semantics) Zmiany dokonane w pliku sa widoczne po jego zamknięciu Zalety większa efektywność implementacji Problemy współbieżne modyfikacje pliku naruszenie semantyki scentralizowanej (wskaźnik plikowy) Rozproszone systemy plików (17/44)

Semantyka współdzielenia plików (IV) Pliki tylko do odczytu dopuszczalne operacje: odczyt, usuwanie i tworzenie możliwość niepodzielnego zastapienia pliku nowym plikiem o takiej samej nazwie katalogi moga być modyfikowane Zalety brak problemów ze spójnościa replik Problemy procesy jednocześnie modyfikujace ten sam plik wstawienie nowej wersji podczas odczytu starej Rozproszone systemy plików (18/44)

Semantyka współdzielenia plików (V) Niepodzielne transakcje Jawna operacja BEGIN TRANSACTION na poczatku dostępu do pliku END TRANSACTION na końcu Końcowy wynik współbieżnie wykonywanych transakcji będzie taki sam, jak gdyby wykonano je w pewnym (nieokreślonym) sekwencyjnym porzadku. Rozwiazanie zaczerpnięte z systemów baz danych. Wady Istotna zmiana sposobu dostępu do plików dodatkowe jawne operacje synchronizujace Rozproszone systemy plików (19/44)

Implementacja rozproszonychsystemów plików Klasy plików pliki współdzielone i bardzo rzadko modyfikowane pliki nie współdzielone między procesami i nie modyfikowane pliki często modyfikowane, a jednocześnie rzadko współdzielone pliki często modyfikowane i współdzielone Decyzje projektowe Rozróżnienie klienta i serwera (por. systemy Windows i NetWare) Rozdział czy połaczenie usług plikowych i katalogowych Serwer przechowujacy informacje o klientach czy bezstanowy tolerancja uszkodzeń Rozproszone systemy plików (20/44)

Serwery bezstanowe Zalety Nie potrzebuja operacji open i close mniejsza liczba komunikatów Nie zajmuja dodatkowych struktur na serwerze Odporne na awarie klientów Wady Każdy komunikat musi być samowystarczalny większa długość komunikatów Potrzeba otwierania pliku przy każdym dostępie po stronie serwera Niemożliwość realizacji czytania z wyprzedzeniem po stronie serwera Złożoność realizacji zasady idempotentności Niemożliwość zakładania blokad na plikach Rozproszone systemy plików (21/44)

Pamięć podręczna Klient Serwer 3 4 2 1 pamięć operacyjna klienta lokalny dysk pamięć operacyjna serwera lokalny dysk Pamięć podręczna u klienta pamięć w procesie biblioteka wejścia/wyjścia pamięć w jadrze systemu operacyjnego pamięć w oddzielnym procesie pracujacym na komputerze klienta Rozproszone systemy plików (22/44)

Pamięć podręczna (II) Pamięć podręczna na serwerze operacja odczytu nie powoduje powstawania problemu spójności zawsze jest opłacalna operacja zapisu możliwość utraty danych w przypadku awarii serwera: write-through Pamięć podręczna na dysku u klienta wielokrotnie większa od pamięci operacyjnej mniejsza efektywność i większy koszt Rozproszone systemy plików (23/44)

Pamięć podręczna (III) Zarzadzanie pamięcia podręczna przez klienta Przepisywanie (ang. write-through) Opóźnianie zapisu Zapisywanie przy zamknięciu (ang. write on close) Kontrola scentralizowana unieważnianie replik semantyka scentralizowana aktywność serwerów Rozproszone systemy plików (24/44)

Replikacja Motywacja Zwiększenie efektywności dostępu operacje odczytu Zwiększenie niezawodności Zwiększenie dostępności plików Możliwość rozłożenia obciażenia Problemy spójność replik Rozproszone systemy plików (25/44)

Replikacja Realizacja replikacji 1. replikacja aktywna (ang. active replication) 2. replikacja pasywna (ang. passive replication) 3. replikacja z wykorzystaniem komunikacji grupowej (ang. group communication) Serwer 1 Serwer 1 Serwer 1 Klient Serwer 2 Klient Serwer 2 Klient Serwer 2 Serwer 3 Serwer 3 Serwer 3 (1) (2) (3) Rozproszone systemy plików (26/44)

NFS Network File System sieciowy system plików stworzony przez firmę Sun Microsystems dostępny dla stacji Unix, Windows, OS/2, Macintosh i wielu innych pracuje w środowisku heterogenicznym obsługa stacji bezdyskowych Rozproszone systemy plików (27/44)

XDR external Data Representation Standard reprezentacji danych jednolity format reprezentacji liczb całkowitych: 32 bitowe big endian kodowanie liczb rzeczywistych w formacie IEEE (typy float i double) przechowywanie danych zawsze w jednostkach będacych wielokrotnościa 4 bajtów Wprowadzony równolegle z mechanizmem zdalnego wywoływania procedur (ang. remote procedure call RPC) Rozproszone systemy plików (28/44)

Architektura NFS Koncepcja umożliwienie współdzielenia systemów plików pomiędzy dowolna liczba komputerów dedykowany dla sieci lokalnych (nowsze implementacje umożliwiaja pracę w sieciach rozległych) każda maszyna może jednocześnie pełnić rolę klienta i serwera Eksportowanie danych udostępnianie katalogów wraz z wszystkimi podkatalogami Importowanie danych montowanie zdalnych katalogów przez klientów zamontowany katalog staje się częścia lokalnej hierarchii katalogów klienta nierozróżnialność plików lokalnych i zdalnych Rozproszone systemy plików (29/44)

Cechy NFS NFS oferuje 1. Przezroczystość dostępu 2. Przezroczystość położenia poprzez spójna konfigurację montowania zdalnych katalogów u klientów 3. Przezroczystość awarii większość usług jest idempotentna 4. Częściowa przezroczystość wydajności intensywne wykorzystanie pamięci podręcznych 5. Przezroczystość wędrówki NFS nie oferuje 1. Przezroczystości zwielokrotniania 2. Przezroczystości współbieżności (elementy w NFS 4) 3. Ograniczona skalowalność Rozproszone systemy plików (30/44)

Protokoły NFS protokół montowania protokół transmisji danych Protokół montowania zlecenie zamontowania katalogu weryfikacja uprawnień odpowiedź zawiera uchwyt plikowy (ang. file handler) Protokół transmisji danych odczyt i modyfikacja danych z plików tworzenie i usuwanie plików odczyt i modyfikacja atrybutów plików (prawa dostępu, daty dostępu i utworzenia) każdy komunikat jest samowystarczalny Rozproszone systemy plików (31/44)

Implementacja systemu NFS Warstwy implementacji NFS 1. odwołania systemowe (open, read, write, close) 2. wirtualny system plików VFS ang. virtual file system 3. właściwy klient/serwer NFS Rozproszone systemy plików (32/44)

Implementacja systemu NFS (II) Klient Serwer warstwa odwolań do systemu warstwa wirtualnego systemu plików warstwa wirtualnego systemu plików lokalny system plików klient NFS serwer NFS lokalny system plików lokalny dysk komunikat do serwera komunikat od klienta lokalny dysk sieć Rozproszone systemy plików (33/44)

Implementacja systemu NFS (III) Komputer A Komputer B program klient NFS r węzeł serwer NFS VFS v węzeł VFS v węzeł jądro jądro i węzeł implementacja na poziomie jadra systemu Rozproszone systemy plików (34/44)

Implementacja systemu NFS (IV) Transfer danych zawsze w paczkach po 8KB czytanie z wyprzedzeniem przez klienta Spójność pamięci podręcznych klientów ograniczenia czasowe na ważność danych w pamięciach podręcznych: kontrola znaczników czasowych przy każdym dostępie pamięć danych: ważna przez maksymalnie 3s pamięć atrybutów: ważna przez maksymalnie 30s problem spójności jest tylko ograniczany nie usuwany! Czytanie z wyprzedzeniem oddzielny proces asynchroniczne czytanie z wyprzedzeniem opóźniony zapis Rozproszone systemy plików (35/44)

Automounter Komputer A Komputer B program serwer NFS klient NFS r węzeł serwer NFS VFS v węzeł v węzeł jądro jednoczesna próba montowania zdalnego katalogu z wielu serwerów Rozproszone systemy plików (36/44)

Andrew File System Rozproszony system plików AFS stworzony w Carnegie-Mellon University (CMU) Cechy przezroczysty dostęp do zdalnych, współdzielonych plików skalowalność przechowywanie całych plików w trwałych pamięciach podręcznych użytkowników Scenariusz działania 1. wywołanie funkcji open skopiowanie pliku z serwera, wykonanie lokalnie funkcji open 2. dostęp do pliku realizowany całkowicie lokalnie poprzez wywołania funkcji read i write 3. zamknięcie pliku zmodyfikowana kopia jest przesyłana do serwera Rozproszone systemy plików (37/44)

Wydajność AFS rozwiazanie efektywne dla większości plików: tylko do odczytu (programy, biblioteki) rzadko modyfikowanych nie współdzielonych (pliki prywatne w katalogu domowym) duży rozmiar pamięci podręcznej (kilkaset MB) typowe wielkości plików większość plików jest małych (<15KB) operacje czytania sa znacznie częstsze od operacji zapisu (~6 razy) większość plików jest modyfikowanych przez jednego użytkownika odwołania do plików sa skumulowane problem z bazami danych b.duże pliki, często modyfikowane przez wielu użytkowników Rozproszone systemy plików (38/44)

Architektura AFS Klient Serwer program Venus Vice jądro jądro Modyfikacje systemowe jadro systemu operacyjnego: przechwytywanie wywołań funkcji open i close Rozproszone systemy plików (39/44)

Architektura AFS (II) Implementacja funkcji open 1. Proces Venus sprawdza obecność pliku w pamięci podręcznej. Brak pliku: wysłanie zamówienia do procesu Vice 2. Przesłanie kopii pliku do węzła klienta. Rejestracja pobrania kopii na serwerze 3. Lokalne otwarcie pliku i zwrócenie deskryptora Implementacja funkcji close 1. Zamknięcie pliku z lokalna kopia 2. Przesłanie zmodyfikowanej wersji do serwera 3. Powiadomienie innych zainteresowanych węzłów o dokonanych modyfikacjach Rozproszone systemy plików (40/44)

Odporność na awarie Serwer rejestruje stan klientów informacja o pobranych kopiach plików komunikaty unieważniajace Po awarii klient: kontrola ważności przechowywanych kopii plików Automatyczne unieważnianie replik brak informacji od serwera przez okres czasu T (typowo kilka minut) powoduje unieważnienie kopii Rozproszone systemy plików (41/44)

Coda Rozproszony system plików Coda nowe wymagania replikacja plików modyfikowanych lepsze tolerowanie uszkodzeń komputery przenośne czasowe odłaczenie od sieci korzyści współdzielonego systemu plików i dostępność zasobów przy braku dostępu do serwerów skalowalność i emulacja uniksowej semantyki dostępu do plików jak w AFS Rozproszone systemy plików (42/44)

Coda Replikacja grupowa Volume Storage Group (VSG) zbiór serwerów przechowujacych kopie pliku (grupy plików) Available Volume Storage Group (AVSG) dynamicznie definiowany podzbiór VSG prawidłowo działajacych serwerów Zmodyfikowane kopie plików rozsyłane sa przez klienta do wszystkich członków grupy AVSG Gdy AVSG = 0 klient pracuje w trybie odłaczonym o ile wszystkie potrzebne pliki znajduja się w pamięci podręcznej ręczna operacja umieszczenia wybranych plików w pamięci podręcznej optymistyczna strategia replikacji pliki moga być modyfikowane niezależnie w odłaczonych systemach: operacja scalania Rozproszone systemy plików (43/44)

Spójność danych Wektor wersji systemowej Coda Version Vector (CVV) liczniki modyfikacji pliku na poszczególnych serwerach AVSG S 1 S 2 S 3 (1,1,1) K 1 (2,2,2) K 2 (3,3,3) K 1 (4,4,3) AWARIA K 2 (3,3,4) scalanie użytkownik ręcznie musi rozwiazać konflikty powstajace podczas operacji scalania Rozproszone systemy plików (44/44)