i konkurencja - michal.ejdys.plmichal.ejdys.pl/nauka/nfsv4.pdf · nfsv4 – plany i implementacja...
TRANSCRIPT
NFSv4NFSv4i konkurencjai konkurencja
9 grudnia 20049 grudnia 2004
9 grudnia 2004 2
Plan prezentacjiPlan prezentacji
Projekt NFS i krótko o NFSv3Projekt NFS i krótko o NFSv3
NFSv4 – plany i implementacjaNFSv4 – plany i implementacja
Testy wydajnościowe NFSv4Testy wydajnościowe NFSv4
Aspiracje NFSv4Aspiracje NFSv4
NFS i inni – porównanieNFS i inni – porównanie
9 grudnia 2004 3
Historia projektuHistoria projektu
Produkt Sun MicrosystemsProdukt Sun MicrosystemsProjekt prosty i przenośnyProjekt prosty i przenośnyWersje:Wersje:
1: nie ujrzała światła dziennego1: nie ujrzała światła dziennego2: wydana w 19852: wydana w 19853: wydana w 19943: wydana w 19944:4:
prace trwają od połowy ’90prace trwają od połowy ’90RFC(3010) z 12.2000RFC(3010) z 12.2000RFC(3530) z 04.2003RFC(3530) z 04.2003
9 grudnia 2004 4
Historia projektu (cd)Historia projektu (cd)
NFS <= 3:NFS <= 3:Specyfikacja - SunSpecyfikacja - Sun
Implementacja – chętniImplementacja – chętni
NFS 4:NFS 4:Specyfikacja – IETF Specyfikacja – IETF (Internet Engineering Task Force)(Internet Engineering Task Force)
Implementacja - chętniImplementacja - chętni
9 grudnia 2004 5
NFSv3NFSv3
Przezroczystość dostępuPrzezroczystość dostępu
Przezroczystość położeniaPrzezroczystość położenia
Przezroczystość awariiPrzezroczystość awarii
9 grudnia 2004 6
NFSv3 (cd)NFSv3 (cd)
RPC i XDRRPC i XDRBezstanowy serwerBezstanowy serwer
Klient identyfikuje się przy każdym odwołaniu Klient identyfikuje się przy każdym odwołaniu do serwerado serweraOperacje idempotentneOperacje idempotentneBufor klienta aktualizowany przez klientaBufor klienta aktualizowany przez klienta
Bufor serweraBufor serweraBuforowany odczytBuforowany odczytZapis natychmiastowyZapis natychmiastowy
9 grudnia 2004 7
NFSv3: co przeszkadza?NFSv3: co przeszkadza?
NFS = Network File SystemNFS = Network File System
NFS NFS ≈≈ Not For Speed Not For Speedls -lls -l
Niedoskonały bufor klientaNiedoskonały bufor klienta
NFS NFS ≈≈ Not For Security Not For SecurityŁatwo podsłuchaćŁatwo podsłuchać
Łatwo się podszyćŁatwo się podszyć
Negocjowany port montowaniaNegocjowany port montowania
9 grudnia 2004 8
9 grudnia 2004 9
NFSv4: forma projektuNFSv4: forma projektu
Opracowywanie specyfikacji: IETFOpracowywanie specyfikacji: IETF
Implementacja:Implementacja:Kto chce, w szczególności:Kto chce, w szczególności:
Center for Information Technology IntegrationCenter for Information Technology Integrationna na University of MichiganUniversity of Michigan, wspierane przez, wspierane przez
Sun MicrosystemsSun Microsystems
Network ApplianceNetwork Appliance
RFC => publiczne debatowanieRFC => publiczne debatowaniem.in. m.in. NAS Industry ConferenceNAS Industry Conference
Bake-A-Thon Bake-A-Thon (@CITI)(@CITI)
9 grudnia 2004 10
9 grudnia 2004 11
9 grudnia 2004 12
NFSv4: priorytetyNFSv4: priorytety
SzybkośćSzybkość
BezpieczeństwoBezpieczeństwo
SzybkośćSzybkość
BezpieczeństwoBezpieczeństwo
SzybkośćSzybkość
BezpieczeństwoBezpieczeństwo
9 grudnia 2004 13
NFSv4: główne założeniaNFSv4: główne założenia
Globalna przestrzeń nazw zasobówGlobalna przestrzeń nazw zasobów
Przezroczystość:Przezroczystość:LokalizacjiLokalizacji
Migracji i replikacjiMigracji i replikacji
Skalowalność:Skalowalność:Unikanie scentralizowanych usługUnikanie scentralizowanych usług
Przerzucanie zadań na klientówPrzerzucanie zadań na klientów
Modularność i przenośnośćModularność i przenośność
9 grudnia 2004 14
NFSv4: główne założenia (cd)NFSv4: główne założenia (cd)
Czytanie wyłączne: bardzo częsteCzytanie wyłączne: bardzo częste
Czytanie jednoczesne: częstoCzytanie jednoczesne: często
Pisanie wyłączne: nieczęstoPisanie wyłączne: nieczęsto
Pisanie jednoczesne: bardzo rzadkiePisanie jednoczesne: bardzo rzadkie
9 grudnia 2004 15
NFSv4: umiędzynarodowienieNFSv4: umiędzynarodowienie
Zastąpiono 7-bitowe ASCII/8-bitowe Latin Zastąpiono 7-bitowe ASCII/8-bitowe Latin I standardem UTF-8I standardem UTF-8
9 grudnia 2004 16
NFSv4: serwer – udostępnianieNFSv4: serwer – udostępnianie
Administrator określa udostępniane Administrator określa udostępniane katalogikatalogi
Serwer buduje wirtualne drzewo z Serwer buduje wirtualne drzewo z udostępnianymi katalogamiudostępnianymi katalogami
Serwer udostępnia uchwyt do korzenia Serwer udostępnia uchwyt do korzenia drzewa eksportowanych katalogówdrzewa eksportowanych katalogów
9 grudnia 2004 17
NFSv4: NFSv4: pseudofspseudofsFS serwera pseudofs serwera
9 grudnia 2004 18
NFSv4: przestrzeń nazw - klientNFSv4: przestrzeń nazw - klient
Klient odnajduje za pomocą DNS Klient odnajduje za pomocą DNS lokalizację serwera z zasobemlokalizację serwera z zasobem
Klient wykonuję operację PUTROOTFHKlient wykonuję operację PUTROOTFH
Klient może przeglądać zawartość Klient może przeglądać zawartość serweraserwera
9 grudnia 2004 19
NFSv4: NFSv4: /nfs/nfs
/nfs /nfs początkowo pustypoczątkowo pusty
cd /nfs/mimuw.edu.pl/home/jsem/me201258cd /nfs/mimuw.edu.pl/home/jsem/me201258
Serwer jest lokalizowany, klient podłącza Serwer jest lokalizowany, klient podłącza się i wchodzi do odpowiedniego katalogusię i wchodzi do odpowiedniego katalogu
Po sukcesie w Po sukcesie w /nfs/nfs mieć będziemy mieć będziemy podkatalog podkatalog mimuw.edu.plmimuw.edu.pl
9 grudnia 2004 20
NFSv4: AutoFS i AutomountNFSv4: AutoFS i Automount
AutoFS AutoFS (FS w jądrze) (FS w jądrze) monitoruje i przekazujemonitoruje i przekazuje
Automount Automount (user-level deamon)(user-level deamon) inicjuje podłączanie inicjuje podłączanie
AutoFS sprząta nie używane wpisyAutoFS sprząta nie używane wpisy
9 grudnia 2004 21
NFSv4: alternatywne lokalizacjeNFSv4: alternatywne lokalizacje
Katalogi na serwerach NFSv4 mogą mieć Katalogi na serwerach NFSv4 mogą mieć dołączone informacje:dołączone informacje:
jak odnaleźć jak odnaleźć informacje o położeniuinformacje o położeniu replik replikldap://ldapserver/lookup-keyldap://ldapserver/lookup-key
dns://lookup-namedns://lookup-name
file://pathname/lookup-namefile://pathname/lookup-name
SERVER REDIRECTSERVER REDIRECTserver://hostname:/path [mount-options]server://hostname:/path [mount-options]
Wybór serwera pozostawiony jest Wybór serwera pozostawiony jest klientowi (Automount)klientowi (Automount)
9 grudnia 2004 22
NFSv4: replikacjeNFSv4: replikacje
RFC mówi: tylko zasoby tylko-do-odczytuRFC mówi: tylko zasoby tylko-do-odczytu
CITI mówi: replikacja dla każdegoCITI mówi: replikacja dla każdego
RSYNC do uzgadniania kopiiRSYNC do uzgadniania kopii
9 grudnia 2004 23
NFSv4: replikacje a aktualizacjeNFSv4: replikacje a aktualizacje
Serwer, który otrzymał żądanie zmiany Serwer, który otrzymał żądanie zmiany replikowanego pliku/katalogu, zakazuje replikowanego pliku/katalogu, zakazuje pozostałym serwerom oferowania zasobupozostałym serwerom oferowania zasobu
9 grudnia 2004 24
NFSv4: replikacjaNFSv4: replikacjavs. zmiany plikówvs. zmiany plików
9 grudnia 2004 25
NFSv4: replikacjaNFSv4: replikacjavs. zmiany katalogówvs. zmiany katalogów
9 grudnia 2004 26
NFSv4: replikacja - konfilktyNFSv4: replikacja - konfilkty
Wygrywa ten, który zastopuje więcej Wygrywa ten, który zastopuje więcej serwerówserwerów
Temat będzie jeszcze eksplorowany przez Temat będzie jeszcze eksplorowany przez CITICITI
Konflikt – gdy dwa serwery w tym samym Konflikt – gdy dwa serwery w tym samym czasie zakazują udostępnianiaczasie zakazują udostępniania
9 grudnia 2004 27
NFSv4: replikacja – awarieNFSv4: replikacja – awarie
Klient, który chciał pisać/pisał wykrywa Klient, który chciał pisać/pisał wykrywa awarię serwera i zgłasza to do FDR awarię serwera i zgłasza to do FDR (Failure (Failure Detection and Resolution Program)Detection and Resolution Program)
Jeśli replikacja była wstrzymana wszędzie – Jeśli replikacja była wstrzymana wszędzie – wznawia ją i informuje klienta o awariiwznawia ją i informuje klienta o awarii
Jeśli replikacja była wstrzymana gdzieniegdzie Jeśli replikacja była wstrzymana gdzieniegdzie – wybiera dla klienta nowy serwer – wybiera dla klienta nowy serwer podstawowy i reaktywuje procespodstawowy i reaktywuje proces
Awaria – gdy serwer przestanie odpowiadaćAwaria – gdy serwer przestanie odpowiadać
9 grudnia 2004 28
NFSv4: replikacja – awarie (cd)NFSv4: replikacja – awarie (cd)
Dodatkowy problem: rozdzielenie sieci.Dodatkowy problem: rozdzielenie sieci.
Jeśli którykolwiek z serwerów (nie Jeśli którykolwiek z serwerów (nie podstawowych) stanie się niedostępnypodstawowych) stanie się niedostępny
=> wszystkie pozostałe przechodzą => wszystkie pozostałe przechodzą w tryb tylko-do-odczytuw tryb tylko-do-odczytu
9 grudnia 2004 29
NFSv4: proceduryNFSv4: procedury
Podstawa: RPC + XDRPodstawa: RPC + XDR
Nowe operacje (Nowe operacje (OPENOPEN, , CLOSECLOSE))
Tylko dwie procedury:Tylko dwie procedury:NULLNULL – kontrolna – kontrolna
COMPOUNDCOMPOUND – wywołanie złożone – wywołanie złożoneGrupuje potencjalnie wiele zapytańGrupuje potencjalnie wiele zapytań
Przetwarzane przez serwer Przetwarzane przez serwer do pierwszego błędudo pierwszego błędu
Odpowiedź składa się z grupy rezultatówOdpowiedź składa się z grupy rezultatów
9 grudnia 2004 30
NFSv4: tłumaczenie ścieżekNFSv4: tłumaczenie ścieżek
NFSv3: przesłać całą scieżkę czy po NFSv3: przesłać całą scieżkę czy po kawałeczku?kawałeczku?
NFSv4: możemy przesłać całą i NFSv4: możemy przesłać całą i analizować po kawałeczku!analizować po kawałeczku!
9 grudnia 2004 31
NFSv4: aktywny uchwytNFSv4: aktywny uchwyt
Większość operacji wymaga uchwytuWiększość operacji wymaga uchwytu
Serwer pamięta Serwer pamięta aktywny uchwytaktywny uchwyt
Operacje nie zwracają uchwytu tylko Operacje nie zwracają uchwytu tylko aktualizują aktualizują aktywnyaktywny
GETFHGETFH, , SAVEFHSAVEFH
9 grudnia 2004 32
NFSv4: wygasły uchwytNFSv4: wygasły uchwyt
NFSv3: stałe uchwytyNFSv3: stałe uchwytyŁatwe zarządzanieŁatwe zarządzanie
Nieprzenośne rozwiązanieNieprzenośne rozwiązanie
NFSv4: nietrwałe uchwytyNFSv4: nietrwałe uchwytySerwer NFS sam zarządza ważnością Serwer NFS sam zarządza ważnością uchwytówuchwytów
Gwarancja niezawodnościGwarancja niezawodności
9 grudnia 2004 33
NFSv4: blokadyNFSv4: blokady
Blokady zakresoweBlokady zakresowe
Mandatory locksMandatory locks (zgodne z Windows) (zgodne z Windows)
Rezerwacja zasobuRezerwacja zasobu
9 grudnia 2004 34
NFSv4: identyfikatoryNFSv4: identyfikatory
clientidclientid – jednoznacznie identyfikuje – jednoznacznie identyfikuje klienta i jego wcielenieklienta i jego wcielenie
stateidstateid – identyfikuje stan blokad pliku – identyfikuje stan blokad pliku
9 grudnia 2004 35
NFSv4: atrybutyNFSv4: atrybuty
Podział na:Podział na:obowiązkowe (8: typ obiektu, rozmiar)obowiązkowe (8: typ obiektu, rozmiar)
zalecane (25)zalecane (25)
Named attributesNamed attributes – ukryty katalog z – ukryty katalog z atrybutamiatrybutami
9 grudnia 2004 36
NFSv4: delegacjeNFSv4: delegacje
Przy operacji OPEN serwer może Przy operacji OPEN serwer może przekazać klientowi delegację, o ile:przekazać klientowi delegację, o ile:
nikt inny nie piszenikt inny nie pisze
klient przyjmuje komunikaty zwrotne klient przyjmuje komunikaty zwrotne (callback)(callback)
Gdy delegacje nie są dostępne – cache po Gdy delegacje nie są dostępne – cache po staremustaremu
The fastest packet is the one never sentThe fastest packet is the one never sentBrian PawlowskiBrian Pawlowski
9 grudnia 2004 37
NFSv4: bezpieczeństwoNFSv4: bezpieczeństwo
9 grudnia 2004 38
NFSv4: NFSv4: RPCSEC_GSSRPCSEC_GSS + + GSS_APIGSS_API
RPCSEC_GSS+GSS_APIRPCSEC_GSS+GSS_API umożliwia: umożliwia:autentykacjęautentykację
sprawdzanie integralności danychsprawdzanie integralności danych
zapewnienie prywatnościzapewnienie prywatności
Aplikacja przy tworzeniu wywołania Aplikacja przy tworzeniu wywołania RPCRPC tworzy tworzy kontekstkontekst połączenia: połączenia:
mechanizm bezpieczeństwamechanizm bezpieczeństwa
QOP – QOP – Quality of ProtectionQuality of Protection
typ usługityp usługi
9 grudnia 2004 39
NFSv4: GSS_APINFSv4: GSS_API
Niezależny od protokołu komunikacji Niezależny od protokołu komunikacji interfejs zapewniający bezpieczeństwointerfejs zapewniający bezpieczeństwo
GSS_API pośredniczy między GSS_API pośredniczy między implementacjami implementacjami mechanizmówmechanizmów a a aplikacjamiaplikacjami
Warstwa komunikacyjna przekazuje Warstwa komunikacyjna przekazuje żetony, generowane i odczytywane przez żetony, generowane i odczytywane przez GSS_API po obu stronachGSS_API po obu stronach
9 grudnia 2004 40
NFSv4: Kerberos VNFSv4: Kerberos V
Kerberos V wymaga sieci znających się Kerberos V wymaga sieci znających się serwerówserwerów
Klient dostaje od swojego centrum Klient dostaje od swojego centrum dystrybucji kluczy (KDC) biletdystrybucji kluczy (KDC) bilet
Klient posługuje się biletem w komunikacji Klient posługuje się biletem w komunikacji z docelową aplikacjąz docelową aplikacją
9 grudnia 2004 41
NFSv4: Kerberos V (cd)NFSv4: Kerberos V (cd)
Efekty wymiany danych pomiędzy KDC a Efekty wymiany danych pomiędzy KDC a Klientem oraz Klientem a Serwerem:Klientem oraz Klientem a Serwerem:
Tylko KDC, Klient i Serwer znają klucz sesjiTylko KDC, Klient i Serwer znają klucz sesji
Serwer ma gwarancję, że biletem posługuje Serwer ma gwarancję, że biletem posługuje się jego właścicielsię jego właściciel
Serwer aplikacji nie musi autoryzować Serwer aplikacji nie musi autoryzować klientów – wystarczy, że zna się z KDC klientaklientów – wystarczy, że zna się z KDC klienta
9 grudnia 2004 42
NFSv4: LIPKEYNFSv4: LIPKEY
LIPKEY =LIPKEY = A Low Infrastructure Public Key MechanismA Low Infrastructure Public Key Mechanism
Zapewnia bezpieczne połączenie klient-serwer a Zapewnia bezpieczne połączenie klient-serwer a nie weryfikację tożsamościnie weryfikację tożsamości
Od serwera wymaga:Od serwera wymaga:wydania certyfikatuwydania certyfikatu
Od klienta wymaga:Od klienta wymaga:posiadania klucza publicznego serweraposiadania klucza publicznego serwera
9 grudnia 2004 43
NFSv4: bezpieczeństwoNFSv4: bezpieczeństwo
Serwer i klient mogą negocjować poziom Serwer i klient mogą negocjować poziom zabezpieczeńzabezpieczeń
Kerberos V i LIPKEY – wymagane w każdej Kerberos V i LIPKEY – wymagane w każdej implementacji serwera/klientaimplementacji serwera/klienta
SECINFOSECINFO – klient może uzyskać listę – klient może uzyskać listę mechanizmów obsługiwanych przez serwermechanizmów obsługiwanych przez serwer
9 grudnia 2004 44
NFSv4-Linux: status implementacjiNFSv4-Linux: status implementacji
>= wersja jądraFunkcjonalność
2.6.9 (klient)
2.6.10 (serwer)
Delegowanie
2.6.7Kerberos V
2.6.4Blokady
2.6.4Podstawowe operacje
9 grudnia 2004 45
NFSv4: nad czym się pracuje NFSv4: nad czym się pracuje (kernel 2.6.10)(kernel 2.6.10)
Bezpieczeństwo:Bezpieczeństwo:RPCSEC_GSS – prywatnośćRPCSEC_GSS – prywatność
SECINFOSECINFO
Delegacje – serwerDelegacje – serwer
ACLACL
Named attributesNamed attributes
Nietrwałe uchwytyNietrwałe uchwyty
9 grudnia 2004 46
NFSv4: testyNFSv4: testy
Implementacja NFS ciągle nie jest stabilnaImplementacja NFS ciągle nie jest stabilna
Nie można w pełni testować Nie można w pełni testować (niezaimplementowane delegowanie!)(niezaimplementowane delegowanie!)
Można testować fragmentami: jak nowa Można testować fragmentami: jak nowa funkcjonalność wpływa na wydajnośćfunkcjonalność wpływa na wydajność
9 grudnia 2004 47
NFSv4: opis testówNFSv4: opis testów
Testowano prototypową implementację na Testowano prototypową implementację na University of MichiganUniversity of Michigan jesienią 2003 jesienią 2003
Testowano głównie pod kątem narzutów Testowano głównie pod kątem narzutów przy replikacjiprzy replikacji
Warunki:Warunki:100 Mbitowy LAN100 Mbitowy LAN
Linux 2.5.68Linux 2.5.68
9 grudnia 2004 48
Testy NFSv4:Testy NFSv4:odnajdywanie położenia replikodnajdywanie położenia replik
0.007 msSERVER REDIRECT
13.1 msFILE
12.3 msLDAP
1.49 msDNS TXT RR
CzasSposób uzyskiwania informacji
Wnioski:Wnioski: zmierzony czas jest do zaakceptowania, tym zmierzony czas jest do zaakceptowania, tym bardziej, że operacja jest wykonywana przy pierwszym bardziej, że operacja jest wykonywana przy pierwszym dostępie do obiektudostępie do obiektu
9 grudnia 2004 49
Testy NFSv4: otwieranie do zapisuTesty NFSv4: otwieranie do zapisu
0.00398 s0.000503 s1 + 2
0.00392 s0.000421 s1 + 1
0.00349 s0 s1
Odpowiedź serwera
Wstrzymanie udostępniania
replik
Repliki
Wnioski:Wnioski: replikacja nie powoduje opóźnień przy operacji replikacja nie powoduje opóźnień przy operacji OPENOPEN
9 grudnia 2004 50
Testy NFSv4:Testy NFSv4:zamykanie po zapisiezamykanie po zapisie
0.692 s0.000461 s0.687 s 1 + 2
0.649 s0.000386 s0.644 s1 + 1
0.00413 s0 s0 s1
Odpowiedź serwera
Włączenie replikacji
Dystrybucja zmian
Repliki
Wnioski: Wnioski: być może RSYNC nie był najlepszym pomysłem...być może RSYNC nie był najlepszym pomysłem...
9 grudnia 2004 51
NFSv4: aspiracjeNFSv4: aspiracjeWANWAN
Globalna przestrzeń nazw użytkownikówGlobalna przestrzeń nazw użytkowników
Wymagany minimalny poziom Wymagany minimalny poziom bezpieczeństwabezpieczeństwa
OgniomurkoprzyjaznośćOgniomurkoprzyjazność
9 grudnia 2004 52
NFSv4: aspiracjeNFSv4: aspiracjeA common Internet file systemA common Internet file system
Ściąganie danychŚciąganie danychLepszy niż FTP (bezpieczeństwo)Lepszy niż FTP (bezpieczeństwo)
Lepszy niż HTTP (wznawianie)Lepszy niż HTTP (wznawianie)
Komercyjne serwery kopii zapasowychKomercyjne serwery kopii zapasowych
Dyski InternetoweDyski Internetowe
Ewolucja celówEwolucja celów
9 grudnia 2004 53
OpenAFSOpenAFS
1984 – na 1984 – na Carnegie-Mellon University Carnegie-Mellon University powstajepowstaje AFS AFS
1998 – projekt zostaje skomercjalizowany 1998 – projekt zostaje skomercjalizowany i trafia do IBMi trafia do IBM
2000 – IBM decyduje się udostępnić AFS 2000 – IBM decyduje się udostępnić AFS w ramach OpenSourcew ramach OpenSource
Projekt rozwija sięProjekt rozwija się
9 grudnia 2004 54
OpenAFS – założeniaOpenAFS – założenia
Mnóstwo, mnóstwo ruchliwych klientówMnóstwo, mnóstwo ruchliwych klientów
Pliki raczej małePliki raczej małe
Przeważnie tylko czytamyPrzeważnie tylko czytamy
Jeśli piszemy to tylko myJeśli piszemy to tylko my
9 grudnia 2004 55
OpenAFS - realizacjaOpenAFS - realizacja
Sieć zorganizowana w komórki (domeny), Sieć zorganizowana w komórki (domeny), klastry a dane w wolumenyklastry a dane w wolumeny
Klient pracuje na lokalnych kopiach plikówKlient pracuje na lokalnych kopiach plików
Serwer – Serwer – obietnice powiadomieniaobietnice powiadomienia
Swobodna migracja wolumenówSwobodna migracja wolumenów
Możliwość replikacjiMożliwość replikacji
Globalna przestrzeń nazw (Globalna przestrzeń nazw (/afs/afs))
Każdy serwer wie wszystko o Każdy serwer wie wszystko o lokalizacjachlokalizacjach
9 grudnia 2004 56
OpenAFS vs NFSv4OpenAFS vs NFSv4
przenośność
nietrudna instalacji
przenośność (klient)
migracje i replikacjemigracje i replikacje
skalowalność
NFSv4OpenAFS
9 grudnia 2004 57
9 grudnia 2004 58
Słówko o systemie CodaSłówko o systemie Coda
Potomek AFSPotomek AFSŻywy projekt prowadzony przez Żywy projekt prowadzony przez Carnegie Carnegie Mellon UniversityMellon UniversityZałożenia:Założenia:
Małe plikiMałe plikiSerwery bardzo awaryjneSerwery bardzo awaryjneRaczej bez współzawodnictwa w pisaniuRaczej bez współzawodnictwa w pisaniu
Dołączony do jądra 2.4.0Dołączony do jądra 2.4.0Ogromne problemy wydajnościoweOgromne problemy wydajnościowe
9 grudnia 2004 59
9 grudnia 2004 60
OceanstoreOceanstore
Zupełnie inne podejście: zbudowanie Zupełnie inne podejście: zbudowanie globalnej przestrzeni do przechowywania globalnej przestrzeni do przechowywania danych (stąd nazwa)danych (stąd nazwa)Biliony użytkowników (10Biliony użytkowników (101010 x 10,000 plików) x 10,000 plików)Ogromna sieć (komercyjnych) serwerówOgromna sieć (komercyjnych) serwerów
Wykupujemy dostępWykupujemy dostępPublikujemy plikiPublikujemy plikiZaszyfrowane dane rozprowadzane są po sieciZaszyfrowane dane rozprowadzane są po sieciMamy bezpieczeństwo danych i szybki dostępMamy bezpieczeństwo danych i szybki dostęp
9 grudnia 2004 61
Oceanstore (cd)Oceanstore (cd)
Warstwa introspekcyjnaWarstwa introspekcyjnaŚledzi zapotrzebowanie na dane, steruje Śledzi zapotrzebowanie na dane, steruje migracją i replikacjąmigracją i replikacją
Lokalizacja obiektów (TAPESTRY)Lokalizacja obiektów (TAPESTRY)Próbujemy probabilistyczniePróbujemy probabilistycznie
Ew. deterministycznieEw. deterministycznie
Wersjonowanie plików i rozgłaszanie Wersjonowanie plików i rozgłaszanie aktualizacji (sesji pracy z plikiem)aktualizacji (sesji pracy z plikiem)
deep archival storagedeep archival storage
9 grudnia 2004 62
Oceanstore (cd)Oceanstore (cd)
JavaJava
Pond – instalacja prototypowej Pond – instalacja prototypowej implementacjiimplementacji
230,000 linii kodu230,000 linii kodu
Świetne wyniki przy czytaniuŚwietne wyniki przy czytaniu
Gorsze przy pisaniuGorsze przy pisaniu
9 grudnia 2004 63
Oceanstore vs NFSv4Oceanstore vs NFSv4
Różne celeRóżne cele
Różne zastosowaniaRóżne zastosowania
Oba potrzebneOba potrzebne
9 grudnia 2004 64
9 grudnia 2004 65
CIFS/SMBCIFS/SMB
Microsoft: Microsoft: Common Internet File SystemCommon Internet File System aka aka Server Message BlockServer Message Block
Korzenie sięgają lat 80-tychKorzenie sięgają lat 80-tych
...i dają o sobie znać...i dają o sobie znać7 równolegle funkcjonujących wersji7 równolegle funkcjonujących wersji
ponad 100 poleceń, nierzadko pokrewnychponad 100 poleceń, nierzadko pokrewnych
Ma swoją Linuxową/Unixową implementacjęMa swoją Linuxową/Unixową implementacjęOpening Windows to a Wider WorldOpening Windows to a Wider World
9 grudnia 2004 66
9 grudnia 2004 67
CIFS/SMB (cd)CIFS/SMB (cd)
Siłą rzeczy niezwykle popularnySiłą rzeczy niezwykle popularny
...ale ciekawy...ale ciekawyCommand batchingCommand batching (grupowanie poleceń) (grupowanie poleceń)
Opportunistic lockingOpportunistic locking
File change notificationFile change notification
9 grudnia 2004 68
Przyszłość CIFSPrzyszłość CIFS
Microsoft zapewne uśmierci CIFSMicrosoft zapewne uśmierci CIFSMicrosoft stracił kontrolę nad serweramiMicrosoft stracił kontrolę nad serwerami
Protokół zbyt złożony i drogi w rozwijaniuProtokół zbyt złożony i drogi w rozwijaniu
Microsoft ma swoje sposobyMicrosoft ma swoje sposobyWprowadzenie WinFSWprowadzenie WinFS
Zalecenie przepięcia się na nowy systemZalecenie przepięcia się na nowy system
Licencjonowanie specyfikacji WinFSLicencjonowanie specyfikacji WinFS
9 grudnia 2004 69
WinFSWinFS
"WinFS" is the code name for the next "WinFS" is the code name for the next generation storage system generation storage system
Miał być nowy, bazować na SQLServerMiał być nowy, bazować na SQLServer
A może będzie bazować na NTFS?A może będzie bazować na NTFS?
Miał być w LonghornMiał być w Longhorn
Ale nie będzieAle nie będzie
9 grudnia 2004 70
WinFS – co wiadomoWinFS – co wiadomo
WinFS = wolumeny, foldery, przedmiotyWinFS = wolumeny, foldery, przedmioty
Folder = kolekcja (wirtualna lub fizyczna) Folder = kolekcja (wirtualna lub fizyczna) przedmiotówprzedmiotów
Przedmiot = dokument wraz z Przedmiot = dokument wraz z metadanymimetadanymi
Wyszukiwanie oparte na Wyszukiwanie oparte na OPathOPath
WinFS będzie dominowaćWinFS będzie dominować
9 grudnia 2004 71
Wielkie porównanieWielkie porównanie
++--sieć globalna
++--aut. migracje i replikacje
++-+WAN
--++LAN
++-+bezpieczeństwo
--++spójność
OceanstoreOpenAFSCIFSNFSv4
9 grudnia 2004 72
PodsumowaniePodsumowanie
Skala mikro (uczelnia, firma, korporacja):Skala mikro (uczelnia, firma, korporacja): NFSv4NFSv4
Skala makro (e-dyski, ftp, nowe www):Skala makro (e-dyski, ftp, nowe www):OceanstoreOceanstore
OpenAFSOpenAFS