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