Rozproszone systemy plików -...

69
Strona tytulowa Plan Prezentacji Wst ˛ ep zFS GFS GoogleFS Inne systemy plików Strona tytulowa Strona tytulowa Rozproszone systemy plików Autorzy: Bartosz Bekier Karol Kurach Krzysztof Pawlowski Grupa 5 Rozproszone systemy plików

Transcript of Rozproszone systemy plików -...

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Strona tytułowa

Strona tytułowaRozproszone systemy plikówAutorzy:

Bartosz BekierKarol KurachKrzysztof Pawlowski

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFSGFS

GoogleFSInne systemy plików

Plan Prezentacji

Plan Prezentacjiwstep - co to jest DFS, zalety, wadyomówienie wybranych systemów plików

ZFSgoogleFSglobalFS

porównanieinne rozproszone systemy plikówpodsumowanie

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFSGFS

GoogleFSInne systemy plików

DefinicjaZaletyWady

Definicjasystem plików, który pozwala na rozproszenie danych powielu lokalizacjach fizycznych (serwerach) przyzintegrowaniu lokalizacji logicznej.mimo, ze pliki sa rozrzucone po wielu serwerach plików dlauzytkownika moga byc one widoczne na jednym serwerzeplików tyle ze np. w wielu katalogach.

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFSGFS

GoogleFSInne systemy plików

DefinicjaZaletyWady

Zaletyrozproszenie zasobów po wielu komputerachniezauwazalne dla klienta - operuje jak na zwykłymsystemie plikówwieksze bezpieczenstwo danych (np. trzymanie kopii tegosamego pliku na kilku serwerach)skalowalnosc - aby zwiekszyc pojemnosc systemu ,wystarczy dołaczyc nowe serwerydzielenie obciazenia pomiedzy rozne serwery

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFSGFS

GoogleFSInne systemy plików

DefinicjaZaletyWady

Wadytrudniejsze w administracjiwiekszy narzut czasowy przy modyfikacjach pliku - trzebazmienic wszystkie kopienarzut czasowy wynikajacy z przesyłania danych przezsiec (do 3 razy wolniej niz zwykły odczyt z dysku)

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFSGFS

GoogleFSInne systemy plików

Czym jest zFS?Załozenia projektoweArchitekturaKomponentyPrzykladW przypaku awarii...Podsumowanie

Czym jest zFS?rozproszony system plików rozwijany w IBMdziała w srodowisku wielu komputerów połaczonychszybka siecia (np. klastry)zFS = zSeries File Systemdziała na róznych systemach operacyjnych IBM-a

Historiadalszy ciag prowadzonych badan, wczesniej:

Distributed Sharing FacilityAntara Object Store Design

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFSGFS

GoogleFSInne systemy plików

Czym jest zFS?Załozenia projektoweArchitekturaKomponentyPrzykladW przypaku awarii...Podsumowanie

Załozenia projektowesystem plików, który działa dobrze zarówno na niewielu jaki wielu maszynach (rzedu tysiecy)zbudowany z taniego, ogólnie dostepnego sprzetubazuje na Object Store Devices (OSD) jako urzadzeniachskładowania danychrozproszenie zarzadzania plikami i zarzadzaniaskładowaniem danychuzywa pamieci wszystkich komputerów jako globalnejpamieci podrecznejosiaga prawie liniowa skalowalnosc

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFSGFS

GoogleFSInne systemy plików

Czym jest zFS?Załozenia projektoweArchitekturaKomponentyPrzykladW przypaku awarii...Podsumowanie

Rysunek: Architektura zFS

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFSGFS

GoogleFSInne systemy plików

Czym jest zFS?Załozenia projektoweArchitekturaKomponentyPrzykladW przypaku awarii...Podsumowanie

KomponentyObject Store Device (OSD) - urzadzenia składujace daneLease Manager (LMGR) - zarzadca dzierzaw (rodzajublokad)File Manager (FMGR) - zarzadca plikówTransaction Manager (TSVR) - zarzadca transakcjiFront-End/Cache (FE/Cache) - front-end i pamiecpodreczna

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFSGFS

GoogleFSInne systemy plików

Czym jest zFS?Załozenia projektoweArchitekturaKomponentyPrzykladW przypaku awarii...Podsumowanie

Object Store DeviceOSD Api:

tworzenie i usuwanie objektówczytanie zakresów bajtów z obiektuzapisywanie zakresów bajtów do obiektu

OSD zapewnia:abstrakcje pliku (na poziomie strumienia bajtów)bezpieczenstwo - prawa dostepu na poziomie objektówkorzystanie z takiej abstrakcji umozliwia skupienie uwagi nazarzadaniu plikami i skalowalnosci

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFSGFS

GoogleFSInne systemy plików

Czym jest zFS?Załozenia projektoweArchitekturaKomponentyPrzykladW przypaku awarii...Podsumowanie

Lease ManagerPotrzebny był komponent, który zarzadza blokadami naplikach, aby zapewnic spójnosc danych przyjednoczesnym dostepieRozwiazuje dwie kwestie zwiazane z blokowaniem:

kontrolowanie dostepu do dysków - potrzebne w kazdymsystemie plikóww srodowisku działania systemu zFS, wiele maszyn mozezadac jednoczesnie dostepu do urzadzen składowaniadanych (OSD)

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFSGFS

GoogleFSInne systemy plików

Czym jest zFS?Załozenia projektoweArchitekturaKomponentyPrzykladW przypaku awarii...Podsumowanie

Dlaczego Lease Manager?Mozna było właczyc blokowanie do maszyn OSD, alewyodrebnienie osobnego komponentu zapewnia lepszaskalowalnosc!

kazdy OSD ma dokładnie jednego Lease Manager-a iutrzymuje jego adreskazdy OSD ma jedna główna dzierzawe (blokade), któraprzyznaje swojemu Lease Manager-owiLMGR zarzadza i przyznaje dzierzawy na konkretneobiekty (pliki, katalogi)zarzadca plików (FMGR) przyznaje dzierzawy zakresowena zadanie Front-Endu

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFSGFS

GoogleFSInne systemy plików

Czym jest zFS?Załozenia projektoweArchitekturaKomponentyPrzykladW przypaku awarii...Podsumowanie

Dlaczego dzierzawy, a nie blokady?Lease, czyli dzierzawa = standartowa blokada +ograniczenie czasoweZalety:

pozwala uniknac skomplikowanego mechanizmuwykrywania niedziałajacyh maszyn trzymajacych blokadyw razie awarii maszyny, odzyskujemy dostep do zasobu poupływie okreslonego czasu

Wady:narzut czasowy na odnawianie dzierzaw, przy dłuzszymdostepie do plików

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFSGFS

GoogleFSInne systemy plików

Czym jest zFS?Załozenia projektoweArchitekturaKomponentyPrzykladW przypaku awarii...Podsumowanie

File Managerprzypisywany do pliku podczas jego pierwszego otwarciakazde zadanie dzierzawy na pliku jest obsługiwane przezjego zarzadcezarzadca plików współpracuje z odpowiednim LeaseManager-em w celu pozyskania dzierzawy pliku i przyznajefront-endom dzierzawy na konkretne fragmenty plikuutrzymuje informacje o połozeniu bloków plików i ichdzierzawachprzydział zarzadców plików jest dynamicznyzarzadza przekazywaniem danych miedzy pamieciamipodrecznymi komputerów w razie potrzeby

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFSGFS

GoogleFSInne systemy plików

Czym jest zFS?Załozenia projektoweArchitekturaKomponentyPrzykladW przypaku awarii...Podsumowanie

Transaction Manageroperacje na metadanych dotycza kilku obiektów narazaby zapewnic spójnosc systemu plików, zFS implementujeje jako transakcje rozproszonewszystkie operacje na metadanych sa obsługiwane przezzarzadce transakcji

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFSGFS

GoogleFSInne systemy plików

Czym jest zFS?Załozenia projektoweArchitekturaKomponentyPrzykladW przypaku awarii...Podsumowanie

Front Enduruchamiany na kazdej maszynie chcacej korzystac zsystemu zFStworzy standardowy interfejs POSIX systemu plikówna systemach Unix-owych integruje sie z warstwa VFS

Cachepamiec podreczna przechowujaca dane systemu zFSudostepnia przechowywane dane innym maszynomkorzystajacym z zFS-aoparta na załozeniu, ze szybciej mozna przesłacinformacje przez siec, niz odczytac je z dysku

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFSGFS

GoogleFSInne systemy plików

Czym jest zFS?Załozenia projektoweArchitekturaKomponentyPrzykladW przypaku awarii...Podsumowanie

Utworzenie nowego plikufront-end dostaje polecenie utworzenia nowego plikuzna połozenie root-a („/”) i tam zaczyna poszukiwaniao nieznane fragmenty sciezki odpytuje zarzadce transakcjiotrzymujemy uchwyt do katalogu, w którym ma zostacutworzony nowy plik (uchwyt to para: (osd_id, oid))zarzadca transakcji pobiera wszystkie potrzebnedzierzawy (na katalog oraz wyłaczna dzierzawe na OSD) idecyduje,w którym OSD umiescic pliknastepuje wykonanie transakcji (przez zarzadce transakcji)i zwrócenie uchwytu do pliku

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFSGFS

GoogleFSInne systemy plików

Czym jest zFS?Załozenia projektoweArchitekturaKomponentyPrzykladW przypaku awarii...Podsumowanie

Rysunek: Przykład działania zFS (tworzenie pliku)

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFSGFS

GoogleFSInne systemy plików

Czym jest zFS?Załozenia projektoweArchitekturaKomponentyPrzykladW przypaku awarii...Podsumowanie

Schemat postepowania w razie awariiawaria Front-Endu

wszystkie dzierzawy wygasna po okreslonym czasie idostep do plików/katalogów, które były uzywane przezFront-End zostanie przywrócony

awaria zarzadcy plikówklienci zapisuja zmienione bloki do OSDzauwazana przez Front-Endy, gdy nie moga juz odnowicdzierzawpo okreslonym czasie wygasa dzierzawa na plikizarzadzane przez zarzadce plików, który uległ awariijesli klienci chca dalej korzystac z tych plików, tworzanowego zarzadce plików

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFSGFS

GoogleFSInne systemy plików

Czym jest zFS?Załozenia projektoweArchitekturaKomponentyPrzykladW przypaku awarii...Podsumowanie

Schemat postepowania w razie awarii c.d.awaria zarzadcy dzierzaw

zauwazana przez zarzadców plików, gdy nie moga juzodnowic dzierzawFMGR-y informuja klientów, zeby zapisali zmienione blokido OSD i zwolnili plikipo okreslonym czasie wygasa dzierzawa na OSD,utrzymywana przez zarzadce dzierzawklienci tworza nowego zarzadce dzierzaw

awaria OSDoops... nic juz nie da sie zrobic, chyba ze dane byłyzreplikowane gdzie indziej

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFSGFS

GoogleFSInne systemy plików

Czym jest zFS?Załozenia projektoweArchitekturaKomponentyPrzykladW przypaku awarii...Podsumowanie

Osiagniete celewysoka skalowalnosc i wydajnosc, dzieki:

oddzielenie zarzadzania składowaniem danych odzarzadzania plikami (OSD)globalna pamiec podreczna umozliwia pozyskiwaniedanych od innych klientów, zamiast od maszyn OSDbrak centralnego serwera i maszyn dedykowanych -zwieksza niezawodnosc

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFSGFS

GoogleFSInne systemy plików

Czym jest GFS?SrodowiskoCechyPodsumowanie

Czym jest GFS?rozproszony system plików rozwijany przez Red Hat Inc.klastrowy system plików przeznaczony dla systemu Linuxdziała w oparciu o dzielone urzadzenia blokowe - zapewniawezłom bezposredni dostep do nich

dzielone urzadzenia blokowe = specjalny sprzet (FibreChannel, iSCSI i inne)

dostepny za darmo albo jako komercyjny produkt wramach Red Hat Enterprise Linux

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFSGFS

GoogleFSInne systemy plików

Czym jest GFS?SrodowiskoCechyPodsumowanie

Rys historycznybadania prowadzone na Uniwersytecie Minnesotaprojekt podjety przez Sistina Software (ok. roku 2000) jakoopen-sourcezmiana licencji GFS-a na komercyjna (2001), powstanieopen-sourceowych forkówRed Hat przejmuje Sistina Software (2003) i „uwalnia” GFSpod licencja GPL (2004)GFS2

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFSGFS

GoogleFSInne systemy plików

Czym jest GFS?SrodowiskoCechyPodsumowanie

Rysunek: Srodowisko działania GFS

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFSGFS

GoogleFSInne systemy plików

Czym jest GFS?SrodowiskoCechyPodsumowanie

Najwazniejsze cechynatywny system plików Linux-a - integruje sie z wartstwaVFSspójnosc systemu plików - dzielony dostep do urzadzenskładowania danych jest realizowany poprzez zakładanieblokadperfekcyjna spójnosc danych - zmiany wprowadzone przezjednego klienta sa natychmiast widoczne na pozostałychmaszynachjournaling, rozpraszanie metadanych, dinode-y (trocheinne inode-y)najbardziej skalowalny klastrowy system plików działajacypod Linuxem - ponad 100 wezłów

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFSGFS

GoogleFSInne systemy plików

Czym jest GFS?SrodowiskoCechyPodsumowanie

Współbiezny dostep do urzadzen składowania danychGFS korzysta z zewnetrznych zarzadców blokad, sadostepne:

Distributed Lock Manager (DLM)najnowsze i zalecane rozwiazaniedziała na kazdej maszynie w klastrzeudostepnia blokowanie na róznych poziomach granularnosci

Grand Unified Locking Manager (GLUM)starsze rozwiazanie, które wychodzi z uzyciawymaga przynajmniej 3 zewnetrznych komputerów do roli„serwerów blokad”

Nolockjesli tylko jeden wezeł korzysta z danego urzadzeniaskładowania danych

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFSGFS

GoogleFSInne systemy plików

Czym jest GFS?SrodowiskoCechyPodsumowanie

Po co nam GFS?eliminuje potrzebe duplikowania danych na kazdym wezlepozwala na współbiezny zapis/odczyt danych przez wieluklientów

powoduje, ze wezły maja dostep do systemu plików natakich zasadach jak procesy w architekturze SMP

ułatwia zarzadzanie danymi, tworzenie backup-ów iodtwarzania w przypadku awariiupraszcza dodawanie nowych serwerów

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Wstep i załozenia projektoweArchitekturaInterakcje z systemem - dzierzawa (lease)Master serwer - zarzadzanie przestrzenia nazwUsuwanie plikówOdpornosc na błedyPodsumowanie

Wstep i załozenia projektoweSystem plików stworzony przed 2003 r przez Google dlawłasnych potrzebGoogle posiada ponad 450,000 serwerów na swiecieZamkniety, niedostepny na zasadach komercyjnych aniopen-sourceWywodzi sie z wczesniejszego systemu plików BigFiles

stworzonego przez Sergeya Brina i Larrego Page’a,załozycieli Google’a

Napedza takie serwisy jak google.com (wyszukiwarka),GMail, Google Maps, Google Video

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Wstep i załozenia projektoweArchitekturaInterakcje z systemem - dzierzawa (lease)Master serwer - zarzadzanie przestrzenia nazwUsuwanie plikówOdpornosc na błedyPodsumowanie

Załozenianiedrogi, łatwo dostepny sprzetduze, wielogigabajtowe plikitypowe operacje:

małe, swobodne zapisy - sa wykonywane rzadko i niemusza byc efektywnedopisywanie (ang. append) duzej ilosci danychdługie, sekwencyjne odczyty

wspołbiezne dopisywanie do tego samego plikuduza przepustowosc wazniejsza od małego opoznienia

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Wstep i załozenia projektoweArchitekturaInterakcje z systemem - dzierzawa (lease)Master serwer - zarzadzanie przestrzenia nazwUsuwanie plikówOdpornosc na błedyPodsumowanie

InterfejsCreateDeleteOpenCloseReadWriteSnapshotRecord Append

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Wstep i załozenia projektoweArchitekturaInterakcje z systemem - dzierzawa (lease)Master serwer - zarzadzanie przestrzenia nazwUsuwanie plikówOdpornosc na błedyPodsumowanie

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Wstep i załozenia projektoweArchitekturaInterakcje z systemem - dzierzawa (lease)Master serwer - zarzadzanie przestrzenia nazwUsuwanie plikówOdpornosc na błedyPodsumowanie

Architekturajeden master-serwer, wiele chunk-serwerów, wiele klientów

proces uzytkownika działajacy na zwykłej maszynielinuksowejkod klienta GoogleFS dołaczony (wlinkowany) do kazdejaplikacji

logiczne pliki podzielone na 64MB-owe ”kawałki”1 kawałek trzymany jako dokładnie 1 fizyczny plik nastandardowym systemie plikówjednak w wielu kopiach, na róznych chunk-serwerach

spamietywanie wykonuje tylko klient, i dotyczy onowyłacznie metadanych

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Wstep i załozenia projektoweArchitekturaInterakcje z systemem - dzierzawa (lease)Master serwer - zarzadzanie przestrzenia nazwUsuwanie plikówOdpornosc na błedyPodsumowanie

Pojedynczy MasterCzemu centralizacja? Prostota!Globalna wiedza jest potrzebna dla:

rozmieszczania ”kawałków”decyzji dotyczacych replikacji plików

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Wstep i załozenia projektoweArchitekturaInterakcje z systemem - dzierzawa (lease)Master serwer - zarzadzanie przestrzenia nazwUsuwanie plikówOdpornosc na błedyPodsumowanie

Rozmiar kawałków64 MB - znacznie wiecej niz tradycyjny blok dyskowy -dlaczego ?Zalety:

zmniejszenie interakcji klient - masterzmniejszenie narzutu siecizmniejszenie rozmiaru metadanych

Wady:fragmentacja wewnetrzna (rozwiazanie: leniwa alokacja )"Hot Spoty- wielu klientów próbujacych zdobyc dostep dodanego kawałka. mozliwe rozwiazania:

wyzszy współczynnik replikacji plikukomunikacja klient-klient

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Wstep i załozenia projektoweArchitekturaInterakcje z systemem - dzierzawa (lease)Master serwer - zarzadzanie przestrzenia nazwUsuwanie plikówOdpornosc na błedyPodsumowanie

MetadanePrzestrzen nazw plików i kawałków

przechowywana w pamieci oraz w dziennikumaster-serwera

Odwzorowanie plik-kawałekjw, przechowywana w pamieci oraz w dziennikumaster-serwera

Lokacje kopii kawałkóww pamieci master-serwerauaktualniane, gdy:

master startujechunk-serwer dołacza do kolekcji

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Wstep i załozenia projektoweArchitekturaInterakcje z systemem - dzierzawa (lease)Master serwer - zarzadzanie przestrzenia nazwUsuwanie plikówOdpornosc na błedyPodsumowanie

Metadane - przechowywanie w pamieciDlaczego metadane sa przechowywane w pamieci masterserwera?

Szybkosc!Czy pamiec master-serwera nie ograniczy pojemnoscicałego dysku?

Nie, 64MB-owy kawałek potrzebuje 64B metadanych (wiecna 640TB potrzeba 640MB pamieci na master-serwerze)

Wiekszosc plików jest duzaKompresja prefiksowa na nazwach plików

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Wstep i załozenia projektoweArchitekturaInterakcje z systemem - dzierzawa (lease)Master serwer - zarzadzanie przestrzenia nazwUsuwanie plikówOdpornosc na błedyPodsumowanie

Metadane - dziennik operacjiJedyny trwały zapis metadanychOkresla kolejnosc współbieznych operacjiKrytyczny dla działania systemu

Powielany na wielu zdalnych maszynachKlient dostaje odpowiedz, dopiero gdy udało sie uaktualnicdziennik oraz jego kopie

Regularne tworzenie punktów kontrolnych (checkpoint),aby ograniczyc rozmiar dziennika

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Wstep i załozenia projektoweArchitekturaInterakcje z systemem - dzierzawa (lease)Master serwer - zarzadzanie przestrzenia nazwUsuwanie plikówOdpornosc na błedyPodsumowanie

Model spójnosciSpójnosc - wszyscy klienci otrzymaja te same dane,niezaleznie z której repliki je odczytajaAtomowosc operacjiPo ciagu udanych zapisów, gwarancja ze region jest wzdefiniowanym stanie

Taka sama kolejnosc danych na wszystkich kopiachZ kazdym kawałkiem trzymany numer wersji, co pozwalawykryc przestarzałe dane

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Wstep i załozenia projektoweArchitekturaInterakcje z systemem - dzierzawa (lease)Master serwer - zarzadzanie przestrzenia nazwUsuwanie plikówOdpornosc na błedyPodsumowanie

Interakcje z systemem - dzierzawa (lease)Dotyczy jednego kawałkaPrzydzielana przez master-serwerDla ustalonego kawałka co najwyzej jeden chunk-serwerposiada dzierzawe, (tzw. główny serwer)Cele

Zapewnienie spójnosci wszystkich kopii plikówOdciazenie master-serwera, to wybrany chunk-serwerzarzadza zmianami

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Wstep i załozenia projektoweArchitekturaInterakcje z systemem - dzierzawa (lease)Master serwer - zarzadzanie przestrzenia nazwUsuwanie plikówOdpornosc na błedyPodsumowanie

Dzierzawa - dzierzawa, cd.Master przyznaje dzierzawe jednemu z chunk-serwerów,który posiada kawałek (główna replika)Klient komunikuje sie z chunk-serwerem, który posiadadzierzaweWybrany chunk-serwer komunikuje sie z pozostałymichunk serwerami, uaktualniajac ich stanDomyslnie dzierzawa jest przyznawana na 60 sekund, leczmoze byc przedłuzona badz skrócona

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Wstep i załozenia projektoweArchitekturaInterakcje z systemem - dzierzawa (lease)Master serwer - zarzadzanie przestrzenia nazwUsuwanie plikówOdpornosc na błedyPodsumowanie

Przepływ informacji - rysunek

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Wstep i załozenia projektoweArchitekturaInterakcje z systemem - dzierzawa (lease)Master serwer - zarzadzanie przestrzenia nazwUsuwanie plikówOdpornosc na błedyPodsumowanie

Przepływ informacjiPrzepływ danych jest oddzielony od przepływu sterujacegoPrzepływ sterujacy (control flow)

Klient <-> master, główny chunk-serwerMaster <-> główny chunk-serwer

Przepływ danych (data flow)Klient <-> chunk-serwerChunk-serwer <-> chunk-server

Dane propagowane do najblizszej repliki (odległoscokreslana na podstawie adresów IP)Pipelining

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Wstep i załozenia projektoweArchitekturaInterakcje z systemem - dzierzawa (lease)Master serwer - zarzadzanie przestrzenia nazwUsuwanie plikówOdpornosc na błedyPodsumowanie

Atomowe dopisywanie danychWspółbiezne dopisywania sa serializowaneKlient okresla tylko dane, które maja zostac dopisane doplikuGoogleFS wykonuje operacje dopisaniaZwraca klientowi pozycje zapisanych danychMechanizm bardzo czesto wykorzystywany przez Google

Nie wymaga dodatkowej synchronizacji (jak DistributedLock Manager)Kolejki wielu producentów-jeden konsumentScalanie wyników obliczen wykonywanych jednoczesnieprzez wiele kopii aplikacji

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Wstep i załozenia projektoweArchitekturaInterakcje z systemem - dzierzawa (lease)Master serwer - zarzadzanie przestrzenia nazwUsuwanie plikówOdpornosc na błedyPodsumowanie

Operacja snapshotEfektywnie kopiuje fragment struktury katalogowej, badzplikuUzycie techniki copy-on-write (znane np z SVN)Implementacja

Modyfikacje metadanychAnulowanie dzierzawyZapisanie informacji do dziennikaSkopiowanie i uaktualnienie metadanych

Kopiowanie przy zapisieMoze sie odbywac lokalnie na chunk-serwerach bez uzyciasieciOperacje dyskowe sa ok 3x szybsze niz przesyłanie przezsiec

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Wstep i załozenia projektoweArchitekturaInterakcje z systemem - dzierzawa (lease)Master serwer - zarzadzanie przestrzenia nazwUsuwanie plikówOdpornosc na błedyPodsumowanie

Master serwer - zarzadzanie przestrzenia nazwBrak struktury opisujacej katalogiBrak obsługi dowiazan (zarówno twardych jaksymbolicznych)Synchronizacja dostepu do poszczególnych składowychprzestrzeni nazw zapewnia serializacjeSłownik odwzorowuje pełne sciezki plików na metadane

Kompresja prefiksowa

Pojedyncza metadana - 64B

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Wstep i załozenia projektoweArchitekturaInterakcje z systemem - dzierzawa (lease)Master serwer - zarzadzanie przestrzenia nazwUsuwanie plikówOdpornosc na błedyPodsumowanie

Synchronizacja przestrzeni nazwKazdy wezeł (plik lub katalog) posiada blokade typuczytalnicy-pisarzePrzykład blokad podczas współbieznych operacjiSNAPSHOT i CREATE

SNAPSHOT "/home/user"to "/save/user"blokada czytalnika /home i /saveblokada pisarza na /home/user i /save/user

CREATE "/home/user/foo"blokada czytelnika na /home oraz /home/userblokada pisarza na /home/user/foo

Okreslona kolejnosc blokad, aby uniknac zakleszczen

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Wstep i załozenia projektoweArchitekturaInterakcje z systemem - dzierzawa (lease)Master serwer - zarzadzanie przestrzenia nazwUsuwanie plikówOdpornosc na błedyPodsumowanie

StrategieTworzenie nowego kawałka

Preferowane chunk-serwery z mniejsza zajetoscia dyskuOgraniczenie na ilosc tworzonych kwałków dla danegochunk-serwera w jednostce czasukopie kawałków sa rozrzcane po róznych szafachserwerowych (ang. rack)

Duze prawdopodobienstwo awarii całej szafy (wspólnezasilanie, siec...)Komunikacja miedzy szafami jest wolniejsza niz w obrebiejednej szafy

Replikowanie kawałkówKawałki, które wystepuja w najmniejszej ilosci kopiiKawałki, blokujace zadania klienta

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Wstep i załozenia projektoweArchitekturaInterakcje z systemem - dzierzawa (lease)Master serwer - zarzadzanie przestrzenia nazwUsuwanie plikówOdpornosc na błedyPodsumowanie

Usuwanie plikówLeniwosc

Natychmiastowe logowanie faktu usuniecia plikuOznaczenie pliku jako skasowanego poprzez zmianenazwy

Faktycznie usuniecie danych z dysku 3 dni pózniejW miedzyczasie mozliwe odzyskanie pliku poprzezprzywrócenie oryginalnej nazwy

Regularne skanowanie w poszukiwaniu osieroconychkawałków

osierocone kawałki to takie, które nie naleza do zadnegoplikuw przypadku wykrycia, master wysyła do chunk-serwerapolecenia usuniecia

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Wstep i załozenia projektoweArchitekturaInterakcje z systemem - dzierzawa (lease)Master serwer - zarzadzanie przestrzenia nazwUsuwanie plikówOdpornosc na błedyPodsumowanie

Usuwanie plików - c.d.Zalety

Proste i niezawodne, nawet gdy:Tworzenie kawałka sie nie powiodłoPolecenia usuniecia zostały zgubione

Jednolity sposób obsługi nieuzywanych kawałkówWykonywane w tle, amortyzacja kosztuOchrona przed przypadkowym nieodwracalnym usunieciem

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Wstep i załozenia projektoweArchitekturaInterakcje z systemem - dzierzawa (lease)Master serwer - zarzadzanie przestrzenia nazwUsuwanie plikówOdpornosc na błedyPodsumowanie

Usuwanie plików - c.d.Wady

Marnowanie przestrzeni dyskowej, szczególnie wprzypadku plików tymczasowych, ktore szybko zostajausuwane

Rozwiazanie”Podwójne” skasowanie zwalnia miejsce na dysku od razuRózne strategie dla róznych fragmentów przetrzeni nazw

Wykrywanie nieaktualnych kopiiMaster pamieta najnowsza wersje kazdego kawałkaW przypadku wykrycia starszej wersji, prosi chunk-serwer ousuniecie i zleca wykonanie repliki aktualnej wersji

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Wstep i załozenia projektoweArchitekturaInterakcje z systemem - dzierzawa (lease)Master serwer - zarzadzanie przestrzenia nazwUsuwanie plikówOdpornosc na błedyPodsumowanie

Odpornosc na błedySzybkie przywracanie

Automatycznie przewraca stan na podstawie dziennika irozpocznij działanie w pare sekundSystem nie odróznia prawidłowego zamkniecia systemu odawarii

Replikacja kawałkówRózne poziomy replikacji dla róznych czesci strukturykatalogowej. Domyslnie 3 kopie.W przypadku awarii któregos z chunk-serwerów, brakujacekopie sa tworzone na innych działajacych serwerachWykrywanie zepsutych kawałków za pomoca sumkontrolnych

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Wstep i załozenia projektoweArchitekturaInterakcje z systemem - dzierzawa (lease)Master serwer - zarzadzanie przestrzenia nazwUsuwanie plikówOdpornosc na błedyPodsumowanie

Odpornosc na błedy master serwaraDziennik jest replikowany na innych maszynachW przypadku padu mastera...

Niezalezne procesy monitorujace uruchamiaja druga kopiena innej maszynieAktualny master jest rozpoznawany na podstawie wpisu wdns.

wystarczy zmienic ten wpis, aby klienci i chunk-serweryzaczeły korzystac z nowej maszyny

Zapasowe master-serwery (ang. ”shadow” masters)Zapewniaja dostep tylko do odczytu w przypadku, gdygłówny master-serwer nie działaOdwzorowuja stan głównego master-serwera poprzezsledzenie logów

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Wstep i załozenia projektoweArchitekturaInterakcje z systemem - dzierzawa (lease)Master serwer - zarzadzanie przestrzenia nazwUsuwanie plikówOdpornosc na błedyPodsumowanie

Spójnosc danychSumy kontrolne do wykrycia błednych danychKawałek (64MB) jest podzielony na 64-kilobajtowe bloki,kazdy sprawdzany suma kontrolnaChunk-serwer weryfikuje sume kontrolna. W przypadkuwykrycia błedu dane nie sa propagowane.Operacja dopisywania

Przyrostowe modyfikowanie sumy kontrolnejOperacja swobodnego zapisu

Trzeba wczytac w całosci pierwszy i ostatni blok,zmodyfikowac, policzyc nowa sume kontrolna a nastepniezapisac

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Wstep i załozenia projektoweArchitekturaInterakcje z systemem - dzierzawa (lease)Master serwer - zarzadzanie przestrzenia nazwUsuwanie plikówOdpornosc na błedyPodsumowanie

PodsumowanieGoogleFS obsługuje przetwarzanie danych na duza skale,wykorzystujac tanie komputery osobisteWeryfikacja podstawowych załozen tradycyjnego systemuplików

Uwzglednienie wymagan aplikacjiTraktowanie awarii róznych czesci systemu jako norma, anie jako wyjatekOptymalizacja dla ogromnych plików, do których dane sadopisywane, badz czytane sekwencyjnieNiepełna implementacja standardowego interfejsu systemuplików

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Wstep i załozenia projektoweArchitekturaInterakcje z systemem - dzierzawa (lease)Master serwer - zarzadzanie przestrzenia nazwUsuwanie plikówOdpornosc na błedyPodsumowanie

Podsumowanie - c.d.Odpornosc na błedy

Stałe monitorowanieReplikowanie istotnych danychSzybkie i automatyczne przywracanieSumy kontrolne dla wykrycia błedów

Utrzymanie wysokiej przepustowosciOddzielenie informacji kontrolnej od przesyłanych danychMinimalizacja narzutu poprzez duze rozmiary kawałkóworaz dzierzawe chunk-serwerów do obsługi wiekszoscizadania

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Andrew FSCodaNFSSSHFS

Andrew FSrozproszony sieciowy system plików, stworzony wCarnegie Mellon University jako czesc projektu Andrewma przewage nad tradycyjnymi sieciowymi systemamiplików, głównie w kwestiach bezpieczenstwa iskalowalnoscistosuje uwierzytelnianie protokołem Kerberos i listy kontrolidostepu na katalogach dla uzytkowników i grup

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Andrew FSCodaNFSSSHFS

Woluminwolumin = drzewo plików i podkatalogówwoluminy tworzone sa przez administratorów i podłaczanedo poszczególnych sciezek w komórce AFSw stworzonym woluminie uzytkownicy systemu plikówmoga tworzyc katalogi i pliki w zwykły sposób, niezajmujac sie jego fizyczna lokalizacjaadministrator moze przeniesc wolumin na inny serwer lubdysk bez potrzeby informowania o tym uzytkowników:operacja moze przebiegac w czasie, kiedy wolumin jestuzywany

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Andrew FSCodaNFSSSHFS

WoluminWoluminy moga byc tez zreplikowane do jedenastu kopiido odczytu.Kiedy aplikacja kliencka korzysta z plików tylko do odczytu,dane pobiera sie z jednej z tych kopii.uzytkownicy tych danych nie musza sie zajmowac fizycznalokalizacja tych kopii, a administratorzy moga je tworzyc iprzemieszczac w razie potrzeby

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Andrew FSCodaNFSSSHFS

Przestrzen nazwPrzestrzen nazw na stacji roboczej uzywajacej AFS jestpodzielona na wspólna (ang. shared) i lokalna (ang. local)Wspólna przestrzen nazw jest identyczna na wszystkichstacjachLokalne sa rózne i zawieraja pliki tymczasowe potrzebnepodczas uruchamianiaKazde poddrzewo w przestrzeni wspólnej jest przypisanedo jednego serwera zwanego nadzorcaPliki z przestrzeni wspólnej sa na zadanie buforowane nastacji lokalnejSpójnosc bufora jest utrzymywana przez mechanizmodwołan (ang. callback)

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Andrew FSCodaNFSSSHFS

Implementacje3 głowne implementacje

Transarc (IBM)OpenAFSArla

AFS miał duzy wpływ na wersje 4 popularnego systemuNFSAFS jest poprzednikiem systemu plików Coda.

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Andrew FSCodaNFSSSHFS

Codarozproszony, sieciowy system plików, wywodzacy sie zAFS2 (Andrew FS)Testowy serwer Cody ma adres"testserver.coda.cs.cmu.edu"Na bazie Cody powstał eksperymentalny systemuruchamiania oprogramowania dla Linuksa, Konvalo(konvalo.org)

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Andrew FSCodaNFSSSHFS

Ficzersyzupełnie za darmoprawie działa mimo braku połaczenia z serweremwysoka wydajnosc - cachowanie po stronie clientadziała nawet jak czesc sieci padniedobra skalowalnosc

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Andrew FSCodaNFSSSHFS

Ficzersyreplikacje pliku po stronie serweradobrze zdefniowana semantyka dzielenia zasobów (nawetw przypadku błedów w sieci)

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Andrew FSCodaNFSSSHFS

NFSNetwork File System (NFS) to oparty o UDP lub TCPprotokół zdalnego udostepniania systemu plików.opracowany przez Sun Microsystems (1984)NFS jest standardowym sieciowym systemem plików naUniksach.kazdy komputer w sieci moze działac zarówno jako klient,jak i serwer NFSadaptowalny do róznych architektur

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Andrew FSCodaNFSSSHFS

Załozenia projektowePrzezroczystosc dostepuPrzezroczystosc połozeniaPrzezroczystosc awariiPrzezroczystosc wydajnosciPrzezroczystosc wedrówki

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Andrew FSCodaNFSSSHFS

A to sie nie udało :(Przezroczystosc zwielokrotnianiaPrzezroczystosc współbieznosciSkalowalnosc

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Andrew FSCodaNFSSSHFS

Inne ProblemyTrudno zapewnic, ze dana operacja została wykonanaScenariusz działania:

zadanie zostaje wysłane przez klientazadanie zostaje odebrane przez serweroperacja zostaje wykonanapotwierdzenie zostaje wysłane przez serwerpotwierdzenie zostaje odebrane przez klienta

Jesli miedzy odebraniem zadania a wysłaniempotwierdzenia wystapi bład, klient nie moze siedowiedziec, czy operacja została wykonana.

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Andrew FSCodaNFSSSHFS

SSHFSSSHFS(Secure SHell FileSystem) jest linuksowymsystemem plikówimplementacja wykorzystuje moduł kernelaFUSE(Filesystem in Userspace)jest wersja dla Mac OS X ( MacFuse )

Grupa 5 Rozproszone systemy plików

Strona tytułowaPlan Prezentacji

WstepzFS

GFSGoogleFS

Inne systemy plików

Andrew FSCodaNFSSSHFS

Korzyscioperowanie jak na normalnym systemie plikówkazdy uzytkownik moze sobie podmontowac zdalnapartycjepołaczenie szyfrowane

Grupa 5 Rozproszone systemy plików