Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Nowoczesne systemy plików PORÓWNANIE. Wymagania stawiane systemom plików Bezpieczeństwo danych Bezpieczeństwo danych Szybkość działania Szybkość działania.

Podobne prezentacje


Prezentacja na temat: "Nowoczesne systemy plików PORÓWNANIE. Wymagania stawiane systemom plików Bezpieczeństwo danych Bezpieczeństwo danych Szybkość działania Szybkość działania."— Zapis prezentacji:

1 Nowoczesne systemy plików PORÓWNANIE

2 Wymagania stawiane systemom plików Bezpieczeństwo danych Bezpieczeństwo danych Szybkość działania Szybkość działania Możliwość rozszerzania o dodatkowe funkcje Możliwość rozszerzania o dodatkowe funkcje

3 Wstęp W trakcie prezentacji skupimy się na porównaniu dwóch najpopularniejszych obecnie systemów plików: ext3 ext3 NTFS NTFS Na wstępie omówimy ich historię.

4 Historia Ext3 System plików w systemie operacyjnym Minix i jego niedoskonałości (max rozmiar woluminu 64 MB) System plików w systemie operacyjnym Minix i jego niedoskonałości (max rozmiar woluminu 64 MB) VFS (Virtual File System) VFS (Virtual File System) System plików ext ( ) likwiduje wady Miniksa, ale też ma wady (fragmentacja) System plików ext ( ) likwiduje wady Miniksa, ale też ma wady (fragmentacja) XiaFS - minimalistyczny następca ext XiaFS - minimalistyczny następca ext ext2 – maksymalistyczny następca ext ext2 – maksymalistyczny następca ext Zwycięstwo funkcjonalnego ext2 Zwycięstwo funkcjonalnego ext2 ext3 ( ) – dziennikowy następca ext2 ext3 ( ) – dziennikowy następca ext2

5 Historia NTFS Systemy plików FAT (File Allocation Table) Systemy plików FAT (File Allocation Table) FAT 12 (dyskietki) FAT 12 (dyskietki) FAT 16 (MS-DOS, Windows przed 95 OSR2) FAT 16 (MS-DOS, Windows przed 95 OSR2) FAT 32 (Windows 95 OSR2, Windows 98, Windows ME) FAT 32 (Windows 95 OSR2, Windows 98, Windows ME) Budowa tablicy alokacji plików bardzo prosta Budowa tablicy alokacji plików bardzo prosta NTFS w 1995 (Windows 2000, Windows XP, Windows 2003 Server) NTFS w 1995 (Windows 2000, Windows XP, Windows 2003 Server) NTFS – znacznie polepszony system plików, MFT (Master File Table) zamiast FAT NTFS – znacznie polepszony system plików, MFT (Master File Table) zamiast FAT

6 Ograniczenia System plików NTFSext3 Nazwa pliku 255 znaków Znaki w nazwie pliku UnicodeUnicode Wielkość pliku 16 EB 16 GB do 2 TB Wielkość woluminu 16 EB (256 TB) 2 TB do 32 TB Liczba plików Zależy od liczby i-węzłów Poziomy zagnieżdżenia NieograniczonaNieograniczona Blok/klaster 512 B-64 kB 1 kB-4 kB

7 Klastry w NTFS Rozmiar woluminu Rozmiar klastra 512 MB i mniej 512 B 513 MB-1024 MB 1 kB 1025 MB-2048 MB 2 kB Więcej niż 2048 MB 4 kB

8 Fizyczna Struktura NTFS Wolumin stawnowi (mniej więcej) całość. Wolumin stawnowi (mniej więcej) całość. Metapliki gdziekolwiek na woluminie Metapliki gdziekolwiek na woluminie MFT zajmuje początek dysku MFT zajmuje początek dysku

9 Fizyczna Struktura ext3 Dysk podzielony na grupy Dysk podzielony na grupy Metadane na początku każdego bloku Metadane na początku każdego bloku

10 NTFS Wszystko jest plikiem – MFT, Boot, itd. Wszystko jest plikiem – MFT, Boot, itd. MasterFileTable jest relacyjną bazą danych, w której wierszami są pliki, a kolumnami atrybuty. MasterFileTable jest relacyjną bazą danych, w której wierszami są pliki, a kolumnami atrybuty. Wszystko w pliku jest atrybutem – łącznie z zawartością. Wszystko w pliku jest atrybutem – łącznie z zawartością. Atrybuty to strumienie danych (ciągi bajtów). Atrybuty to strumienie danych (ciągi bajtów). WSZYSTKIE pliki mają swoje rekordy w MFT – tak MFT też ma rekord w MFT. WSZYSTKIE pliki mają swoje rekordy w MFT – tak MFT też ma rekord w MFT.

11 Master File Table MFT musi gdzieś przechowywać wszystkie informacje o systemie plików. Jak wszystko inne, są one w plikach. Te pliki zajmują pierwsze 16 rekordów MFT (ostatnie 4 z nich są wolne, ale zarezerwowane na przyszłość) i około 16KB.

12 Metapliki w NTFS 0. Master File Table 1. Master File Table Mirror 2. LogFile (dziennik) 3. Volume (informacje o woluminie) 4. Attribute definitions (lista wszystkich dopuszczalnych atrybutów plików) 5. Root file name index (katalog główny) 6. Cluster bitmap (bitmapa zajętości klastrów) 7. Boot sector (zawiera BIOS parameter block czyli sprzętowe informacje o woluminie i ew. kod startujący system operacyjny) 8. Bad cluster file (plik zawierający wszystkie uszkodzone klastry – jeśli są zajęte przez jakiś plik to nikt inny nie będzie ich używał) 9. Security file 10. Upcase table (tablica do tłumaczenia znaków na ich wielkie odpowiedniki) 11. NTFS extension file są wolne

13 Atrybuty plików w NTFS 1.Standard_Information Zawiera standardowe informacje takie jak czas stworzenia, ostatniej modyfikacji, ostatniego dostępu, prawa dostępu itd. Zawiera standardowe informacje takie jak czas stworzenia, ostatniej modyfikacji, ostatniego dostępu, prawa dostępu itd. (Stemple czasowe na dysku są uaktualniane co godzinę – aktualne informacje zawsze są dostępne w pamięci i są zrzucane na dysk tylko wtedy jeśli zamkniemy wszystkie deskryptory pliku, albo czas ostatniego dostępu w pamięci jest o godzinę późniejszy niż zapisany na dysku) (Stemple czasowe na dysku są uaktualniane co godzinę – aktualne informacje zawsze są dostępne w pamięci i są zrzucane na dysk tylko wtedy jeśli zamkniemy wszystkie deskryptory pliku, albo czas ostatniego dostępu w pamięci jest o godzinę późniejszy niż zapisany na dysku) 2.Attribute_List Czasami zdarza się, że wszystkie rezydentne atrybuty pliku nie mieszczą się w jednym rekordzie MTF. W takim wypadku plikowi przydzielane są dodaktowe rekordy, a attribute_list jest listą wskaźników do nich. Czasami zdarza się, że wszystkie rezydentne atrybuty pliku nie mieszczą się w jednym rekordzie MTF. W takim wypadku plikowi przydzielane są dodaktowe rekordy, a attribute_list jest listą wskaźników do nich. Rzadko widywane, gdyż większość danych może być przechowywana poza MFT. Przykładem kiedy jest to potrzebne jest plik z dużą liczbą twardych dowiązań – kiedy wszystkie nazwy się nie mieszczą. Rzadko widywane, gdyż większość danych może być przechowywana poza MFT. Przykładem kiedy jest to potrzebne jest plik z dużą liczbą twardych dowiązań – kiedy wszystkie nazwy się nie mieszczą.

14 Atrybuty plików w NTFS c.d. 3.File_Name Zawiera dwie nazwy – długą (do 255 znaków) i krótką (do 8 znaków), oraz wielkość pliku. Zawiera dwie nazwy – długą (do 255 znaków) i krótką (do 8 znaków), oraz wielkość pliku. Długa nazwa składa się z wielkich liter, krótka już nie koniecznie Długa nazwa składa się z wielkich liter, krótka już nie koniecznie Wielkość pliku jest wielkością podstawowego (nienazwanego) strumienia danych Wielkość pliku jest wielkością podstawowego (nienazwanego) strumienia danych 4.Object_ID Zawiera unikalne numery pliku: obecny, urodzenia i wolumin na której powstał plik. Zawiera unikalne numery pliku: obecny, urodzenia i wolumin na której powstał plik. 5.Security_Descriptor Tutaj są przechowywane uprawnienia dostępu do pliku dla własciciela, grupy i reszy świata. Mówi też które akcje mają być logowane. Tutaj są przechowywane uprawnienia dostępu do pliku dla własciciela, grupy i reszy świata. Mówi też które akcje mają być logowane.

15 Atrybuty plików w NTFS c.d. 6.Volume_Name i Volume_Information Tylko pliki $volume posiadają te atrybuty – pierwszy zawiera nazwę, a drugi m.in. bit Dirty, mówiący czy przy ponownym uruchomieniu należy wykonać chkdsk /f (spróbować naprawić dysk) Tylko pliki $volume posiadają te atrybuty – pierwszy zawiera nazwę, a drugi m.in. bit Dirty, mówiący czy przy ponownym uruchomieniu należy wykonać chkdsk /f (spróbować naprawić dysk) 7.Data Atrybut będący zawartością pliku. Każdy plik musi mieć jeden nienazwany atrybut data będący jego standardową zawartością. Może też zawierać dowolnie dużo nazwanych atrybutów – każdy może mieć zupełnie inną zawartość. Atrybut będący zawartością pliku. Każdy plik musi mieć jeden nienazwany atrybut data będący jego standardową zawartością. Może też zawierać dowolnie dużo nazwanych atrybutów – każdy może mieć zupełnie inną zawartość. Jako, że wielkością pliku jest wielkość jego nienazwanej zawartości może istnieć plik, którego wielkość system plików podaje jako 0, a na dysku zajmuje dowolnie dużo miejsca. Jako, że wielkością pliku jest wielkość jego nienazwanej zawartości może istnieć plik, którego wielkość system plików podaje jako 0, a na dysku zajmuje dowolnie dużo miejsca.

16 Atrybuty plików w NTFS c.d. 8.Index_Root, Index_Allocation, Bitmap Te atrybuty służą do implementacji B+-drzew. Bitmapa jest mapą zajętości dostępnych indeksów. Te atrybuty służą do implementacji B+-drzew. Bitmapa jest mapą zajętości dostępnych indeksów. 9.Reparse_Point Robi to co sugeruje nazwa – parsuje odwołanie od nowa, korzystając z danych zapisanych w tym atrybucie. Służy do tworzenia dowiązań symbolicznych, czy montowania zewnętrznych plików/katalogów/dysków. Robi to co sugeruje nazwa – parsuje odwołanie od nowa, korzystając z danych zapisanych w tym atrybucie. Służy do tworzenia dowiązań symbolicznych, czy montowania zewnętrznych plików/katalogów/dysków. Reparse_Point wyklucza się z Extentended Attributes – plik może mieć albo jedno, albo drugie Reparse_Point wyklucza się z Extentended Attributes – plik może mieć albo jedno, albo drugie

17 Atrybuty plików w NTFS c.d. 10. EA i EA_Information (Extended Attribute) Służą do przechowywania dodatkowych atrybutów z HPFS (High Performance File System) – używane np. w OS/2 Służą do przechowywania dodatkowych atrybutów z HPFS (High Performance File System) – używane np. w OS/2 11. Logged_Utility_Stream Absolutnie cokolwiek co autor uzna za stosowne. Ma ograniczenie wielkości do 64kB. Wszystkie operacje na nim są zapisywane w dzienniku. Absolutnie cokolwiek co autor uzna za stosowne. Ma ograniczenie wielkości do 64kB. Wszystkie operacje na nim są zapisywane w dzienniku.

18 Metadane w NTFS i ext3 NTFS Około 16KB zarezerwowanych na metapliki. Około 16KB zarezerwowanych na metapliki. Bardzo mała redundancja danych – 4 rekordy z MFT w środku dysku. Bardzo mała redundancja danych – 4 rekordy z MFT w środku dysku. MFT zmiennej wielkości. MFT zmiennej wielkości. Wpis w MFT od 1 do 4 KB Wpis w MFT od 1 do 4 KB Klastry małe (512B – 4KB) Klastry małe (512B – 4KB) Wielkość metadanych zależy od wykorzystania dysku. Wielkość metadanych zależy od wykorzystania dysku. ext3 Pierwsze kilka bloków (co najmniej 5) w każdej grupie zarezerwowane na metadane. Pierwsze kilka bloków (co najmniej 5) w każdej grupie zarezerwowane na metadane. Bardzo duża redundancja danych (kopie w każdej grupie). Bardzo duża redundancja danych (kopie w każdej grupie). Stała wielkość tablicy i-nodów. Stała wielkość tablicy i-nodów. I-węzeł wielkości ok. 128B I-węzeł wielkości ok. 128B Bloki wielkości od 1 do 4KB Bloki wielkości od 1 do 4KB Stała ilość miejsca przeznaczona na metadane Stała ilość miejsca przeznaczona na metadane

19 Wzbogacanie systemu plików ACL (Access Control Lists) ACL (Access Control Lists) Możliwość przydzielania uprawnień poszczególnym użytkownikom / grupom użytkowników Możliwość przydzielania uprawnień poszczególnym użytkownikom / grupom użytkowników Sumy kontrolne plików Sumy kontrolne plików Lepsza kontrola uszkodzeń plików Lepsza kontrola uszkodzeń plików Możliwość stwierdzenia nieuprawnionego dostępu Spowolnienie działania operacji plikowych. Spowolnienie działania operacji plikowych.

20 Atrybuty Rezydentne – zawarte w 1-kilobajtowym wpisie w MFT, np. Standard Information czy Filename Rezydentne – zawarte w 1-kilobajtowym wpisie w MFT, np. Standard Information czy Filename Nierezydentne – przechowywane na dysku, nie mieszczą się we wpisie do MFT, alokowane w ekstentach (np. czasami Data czy Index root) Nierezydentne – przechowywane na dysku, nie mieszczą się we wpisie do MFT, alokowane w ekstentach (np. czasami Data czy Index root) Typ atrybutu umieszczony w jego nagłówku: Typ atrybutu umieszczony w jego nagłówku:

21 Atrybut Data (nierezydentny)

22 Atrybuty indeksowe (nierezydentne) Atrybuty: Index root, Index allocation, Bitmap Atrybuty: Index root, Index allocation, Bitmap Ekstenty w tym przypadku nazywamy buforami indeksowymi Ekstenty w tym przypadku nazywamy buforami indeksowymi

23 Numery klastrów LCN (Logical Cluster Numbers) – numery fizycznych klastrów dyskowych LCN (Logical Cluster Numbers) – numery fizycznych klastrów dyskowych VCN (Virtual Cluster Numbers) – numery przypisywane kolejnym klastrom, przyporządkowywanym danemu plikowi lub katalogowi VCN (Virtual Cluster Numbers) – numery przypisywane kolejnym klastrom, przyporządkowywanym danemu plikowi lub katalogowi

24 Nagłówek atrybutu nierezydentnego W ramach nagłówka atrybutu nierezydentnego są pamiętane kolejne ekstenty, a dla każdego numer wirtualny i logiczny pierwszego klastra i liczba klastrów w ekstencie: W ramach nagłówka atrybutu nierezydentnego są pamiętane kolejne ekstenty, a dla każdego numer wirtualny i logiczny pierwszego klastra i liczba klastrów w ekstencie:

25 Optymalizacje dostępu do zawartości katalogu - NTFS Katalog jako B+-drzewo plików i podkatalogów (nazwy, wielkości, stemple czasowe i położenia w MFT) Katalog jako B+-drzewo plików i podkatalogów (nazwy, wielkości, stemple czasowe i położenia w MFT) Index root to posortowana lista albo B+-drzewo, węzły w buforach indeksowych Index root to posortowana lista albo B+-drzewo, węzły w buforach indeksowych Index allocation to mapowanie między numerami VCN a LCN buforów indeksowych Index allocation to mapowanie między numerami VCN a LCN buforów indeksowych Bitmap to mapa zajętości buforów indeksowych po ich VCN- ach Bitmap to mapa zajętości buforów indeksowych po ich VCN- ach B+-drzewo szybciej rośnie na szerokość niż na wysokość B+-drzewo szybciej rośnie na szerokość niż na wysokość

26 Optymalizacje dostępu do zawartości katalogu – ext3 Długo tylko proste listy łączone (do ext2): Długo tylko proste listy łączone (do ext2): - dobre dzięki strukturom dcache - złe dla cache przeglądarek i niektórych systemów pocztowych Rozważania na temat użycia B-drzew: Rozważania na temat użycia B-drzew: - trudna i długa implementacja - mała odporność na zniszczenie węzłów wewnętrznych Decyzja: H-drzewa (Hash Trees) Decyzja: H-drzewa (Hash Trees)

27 H-drzewa w ext3 W wersjach rozwojowych ext2, na dobre w ext3 W wersjach rozwojowych ext2, na dobre w ext3 32-bitowe hasze jako klucze 32-bitowe hasze jako klucze Węzły wewnętrzne (bloki indeksowe) zajmują tylko 8 bajtów Węzły wewnętrzne (bloki indeksowe) zajmują tylko 8 bajtów Stała głębokość (1 lub 2) Stała głębokość (1 lub 2) Wsteczna kompatybilność (+odporność na zniszczenia): Wsteczna kompatybilność (+odporność na zniszczenia): - bloki-liście identyczne z blokami starego typu - bloki indeksowe widziane jako usunięte wpisy katalogowe Dla dużych katalogów nawet razy szybsze! Dla dużych katalogów nawet razy szybsze!

28 Kompresja plików ext3: Teoretycznie możliwa (pole i_flags w i-węźle) Teoretycznie możliwa (pole i_flags w i-węźle) Dostępna w łatach zawartych w pakiecie e2compr (1997) w Ext2 Dostępna w łatach zawartych w pakiecie e2compr (1997) w Ext2 Brak wsparcia dla kompresji w ext3 (nawet dla tych łatek) Brak wsparcia dla kompresji w ext3 (nawet dla tych łatek)NTFS: Kompresja rzadkich danych Kompresja rzadkich danych Kompresja gęstych danych Kompresja gęstych danych Rzadkie pliki Rzadkie pliki

29 Rzadkie dane cz. 1 Rzadkie dane – znaczną część stanowią zera (np. rzadka macierz) Rzadkie dane – znaczną część stanowią zera (np. rzadka macierz) NTFS w ogóle nie pamięta zawartości zerowych ekstentów: NTFS w ogóle nie pamięta zawartości zerowych ekstentów:

30 Rzadkie dane cz. 2 W MFT nieistniejące ekstenty nie są w ogóle zapisane (o ich istnieniu świadczy tylko nieciągłość w numerach VCN istniejących ekstentów) W MFT nieistniejące ekstenty nie są w ogóle zapisane (o ich istnieniu świadczy tylko nieciągłość w numerach VCN istniejących ekstentów)

31 Gęste dane cz. 1 Plik dzielony na jednostki kompresyjne (16 klastrów) Plik dzielony na jednostki kompresyjne (16 klastrów) Kompresujemy tylko te jednostki, które wskutek tego zmniejszają się co najmniej o 1 klaster: Kompresujemy tylko te jednostki, które wskutek tego zmniejszają się co najmniej o 1 klaster:

32 Gęste dane cz. 2 NTFS wie, które jednostki są skompresowane (zna liczności) NTFS wie, które jednostki są skompresowane (zna liczności) Optymalizacje: Kompresja i zapis na dysk zmienionych danych wykonywane są leniwie Odczyt z wyprzedzeniem dzięki próbom alokacji kolejnych fizycznie ekstentów 16 wybrana jako trade-off między pamięcią a czasem działania

33 Rzadkie pliki Podobne do skompresowanych metodą kompresji rzadkich danych Podobne do skompresowanych metodą kompresji rzadkich danych Proces wskazuje, które fragmenty pliku uznaje za puste Proces wskazuje, które fragmenty pliku uznaje za puste Przydatne w aplikacjach typu klient-serwer z buforem (unikamy nieskończonego wzrostu bufora) Przydatne w aplikacjach typu klient-serwer z buforem (unikamy nieskończonego wzrostu bufora)

34 Distributed Link Tracking W systemie NTFS, tworząc twardy link do pliku zapamiętujemy Object_Identifier pliku docelowego. Ten identyfikator jest unikalny dla systemu i nie zmienia się przez cały czas życia pliku. Dzięki temu po zmianie nazwy, przeniesieniu pliku docelowego w inne miejsce itp. link cały czas jest poprawny.W systemie NTFS, tworząc twardy link do pliku zapamiętujemy Object_Identifier pliku docelowego. Ten identyfikator jest unikalny dla systemu i nie zmienia się przez cały czas życia pliku. Dzięki temu po zmianie nazwy, przeniesieniu pliku docelowego w inne miejsce itp. link cały czas jest poprawny.

35 Linki Ogólnie są 2 typy:Ogólnie są 2 typy: –Twarde (hardlinks) Trzymane są wskaźniki do tego samego pliku.Trzymane są wskaźniki do tego samego pliku. Plik jest usuwany gdy wszystkie wskaźniki zniknąPlik jest usuwany gdy wszystkie wskaźniki znikną Windows nie obsługuje hardlinka dla katalogów.Windows nie obsługuje hardlinka dla katalogów. –Miękkie (junctions) Trzymana jest ścieżka do plikuTrzymana jest ścieżka do pliku Gdy plik zostaje skasowany ścieżki są błędneGdy plik zostaje skasowany ścieżki są błędne Windows obsługuje miękkie linki tylko do systemu lokalnegoWindows obsługuje miękkie linki tylko do systemu lokalnego

36 Quota – kontyngenty dyskowe Umożliwiają kontrolę miejsca zajmowanego przez użytkownika Liczą całe pliki (czyli pliki rzadkie mają pełną wielkość) Można kontrolować poszczególnych użytkowników na różnych woluminach

37 Quota – kontyngenty dyskowe Dwie tabele umożliwiające szybkie sprawdzanie czy użytkownik nie przekracza limitów W pierwszej tabeli można szybko znaleźć do kogo należy dany SID A w drugiej, ile ta osoba ma jeszcze miejsca wolnego

38 Sposoby zapisu danych na dysk ostrożne – system stara się wykonywać operacje w kolejności gwarantującej maksymalną spójność ostrożne – system stara się wykonywać operacje w kolejności gwarantującej maksymalną spójność leniwe – system wykonuje operacje w kolejności optymalizującej ruchy głowicy dysku leniwe – system wykonuje operacje w kolejności optymalizującej ruchy głowicy dysku

39 Przyczyny powstawania błędów fizyczne fizyczne wynikające z konstrukcji dysku, bad blocks wynikające z konstrukcji dysku, bad blocks wynikające z działania czynników zewnętrznych wynikające z działania czynników zewnętrznych logiczne logiczne wynikające z błędnego działania systemu wynikające z błędnego działania systemu wynikające z błędów w implementacji systemu plików wynikające z błędów w implementacji systemu plików wynikające z przerwania operacji na systemie plików wynikające z przerwania operacji na systemie plików

40 Rodzaje błędów logicznych skrzyżowane pliki skrzyżowane pliki zagubione klastry (bloki) zagubione klastry (bloki) nieprawidłowe wartości liczników odwołań nieprawidłowe wartości liczników odwołań pliki do których nie ma dostępu pliki do których nie ma dostępu błędne rozmiary plików błędne rozmiary plików wszelkie inne niespójności metadanych wszelkie inne niespójności metadanych

41 Atomowość operacji z czego składają się operacje z czego składają się operacje po co nam atomowość operacji po co nam atomowość operacji właściwe operacje na przykładzie usuwania pliku w systemie UNIX: właściwe operacje na przykładzie usuwania pliku w systemie UNIX: usunięcie wpisu odnośnie pliku w katalogu usunięcie wpisu odnośnie pliku w katalogu ustawienie i-węzła pliku jako wolnego w bitmapie. ustawienie i-węzła pliku jako wolnego w bitmapie. co złego może się wydarzyć co złego może się wydarzyć

42 Kronika Czym jest kronika? Czym jest kronika? Po co nam kronika? Po co nam kronika? Zalety Zalety większe bezpieczeństwo większe bezpieczeństwo krótszy czas przeładowania systemu krótszy czas przeładowania systemu często zaawansowane algorytmy i struktury danych używane do obsługi plików często zaawansowane algorytmy i struktury danych używane do obsługi plików Wady Wady niektóre operacje mogą zajmować więcej czasu niektóre operacje mogą zajmować więcej czasu większe skomplikowanie systemu plików większe skomplikowanie systemu plików

43 Rodzaje kronikowania rejestrowanie odtwarzające (redo logging) rejestrowanie odtwarzające (redo logging) rejestrowanie odwołujące (undo logging) rejestrowanie odwołujące (undo logging)

44 Tryby kronikowania kronikowanie metadanych (write-back) kronikowanie metadanych (write-back) kronikowanie wszelkich operacji (także danych) (journalling) kronikowanie wszelkich operacji (także danych) (journalling) zapisywanie do dziennika pełnych bloków (klastrów) zapisywanie do dziennika pełnych bloków (klastrów) zapisywanie tylko zmian w danych zapisywanie tylko zmian w danych tryb uporządkowany (ordered) tryb uporządkowany (ordered)

45 Typy kronikowania obsługiwane przez systemy plików metadane dane i metadane tryb ordered NTFS ext3 ReserFS Reiser4 JFS XFS WinFS

46 Czas odtwarzania dzienników przez systemy plików Podczas montowania systemu plików Podczas montowania systemu plików Podczas sprawdzania spójności systemu plików Podczas sprawdzania spójności systemu plików

47 Położenie dzienników jako jeden z plików w systemie (ext3, NTFS, jako jeden z plików w systemie (ext3, NTFS, w specjalnym wydzielonym obszarze (XFS) w specjalnym wydzielonym obszarze (XFS) w dowolnym miejscu systemu plików (Reiser4) w dowolnym miejscu systemu plików (Reiser4)

48 ext3 ext3 = ext2 + JBD ext3 = ext2 + JBD

49 Co jeśli dziennik zawiedzie kontrola spójności systemu kontrola spójności systemu nic nic

50 Problemy związane z kroniką Istnieją operacje które mogą sprawić problem systemom z kroniką, np.: Istnieją operacje które mogą sprawić problem systemom z kroniką, np.: usuwanie pliku otwartego przez pewien proces usuwanie pliku otwartego przez pewien proces przeplot operacji usuwania pliku i tworzenia nowego przeplot operacji usuwania pliku i tworzenia nowego Specjalne wymagania odnośnie poleceń ponawiania i wycofywania Specjalne wymagania odnośnie poleceń ponawiania i wycofywania

51 Kronika na przykładzie NTFS kopia systemów startowych kopia systemów startowych cykliczny zapis rekordów cykliczny zapis rekordów

52 Rekordy w kronice (na przykładzie NTFS) rekordy uaktualnień rekordy uaktualnień punkty kontrolne punkty kontrolne

53 Przywracanie spójności systemu przy pomocy kroniki (na przykładzie NTFS) Faza analizy kroniki Faza analizy kroniki Faza ponawiania operacji Faza ponawiania operacji Faza wycofywania operacji Faza wycofywania operacji

54 Sposoby na zabezpieczanie danych Zasilacze awaryjne Zasilacze awaryjne Kopie bezpieczeństwa Kopie bezpieczeństwa Macierze dysków twardych Macierze dysków twardych

55 WinFS Czyli dokąd zmierzają systemy plików

56 Podstawowe wymagania systemu plików Przechowywanie informacji Dostęp do danych na dysku Szybki dostęp do danych Wyszukiwanie potrzebnych danych

57 Cechy aktualnych systemów plików Szybkość Dobre zarządzanie miejscem Małe straty miejsca na metadane ALE : Struktura hierarchiczna Utrudnione wyszukiwanie Brak możliwości tworzenia połączeń między plikami

58 Próby radzenia sobie z problemami ALE TO ZA MAŁO Systemy operacyjne Tworzenie linków Trzymanie dodatkowych informacji razem z plikami Indeksowanie częstych zapytań Systemy plików

59 Wykorzystanie silnika bazy danych Pod spodem zwykły system plików Nowe podejście

60 Zalety Możliwość dodawanie wielu cech do plików i szybkiego ich wyszukiwania Brak katalogów – czyli brak sztywnego rozmieszczania plików Łatwe szukanie i dodawanie nowych połączeń.

61 Wady Więcej miejsca zajmą metadane Większy koszt niektórych operacji Trudności w dostępie z innych OS Trzeba poczekać aż do 2007.

62 Windows Future Storage Bazuje na NTFS Wsparcie dla Win32 Api Nowy engine SQL-a (Yukon)

63 Walka z fragmentacją – ext3 ext3 – metoda zapobiegania: Zupełnie jak w ext2 Zupełnie jak w ext2 Prealokacja bloków (przydzielanie w partiach po 8) Prealokacja bloków (przydzielanie w partiach po 8) Przydzielanie nowych bloków w pobliżu już istniejących, w tej samej grupie bloków, co i-węzeł pliku Przydzielanie nowych bloków w pobliżu już istniejących, w tej samej grupie bloków, co i-węzeł pliku Metody świetnie się spisują, długo nie rozważano tematu defragmentacji Metody świetnie się spisują, długo nie rozważano tematu defragmentacji W ext2 do defragmentacji jest e2defrag W ext2 do defragmentacji jest e2defrag W ext3 się go nie da użyć (bez konwersji do ext2) W ext3 się go nie da użyć (bez konwersji do ext2)

64 Walka z fragmentacją - NTFS NTFS – metoda skutecznego leczenia: Zapobieganie ogranicza się do rezerwacji specjalnego obszaru na dysku dla MFT Zapobieganie ogranicza się do rezerwacji specjalnego obszaru na dysku dla MFT Dobre API dla defragmentatorów: Dobre API dla defragmentatorów: - FSCTL_GET_VOLUME_BITMAP, - FSCTL_GET_RETRIEVAL_POINTERS, - FSCTL_MOVE_FILE. Własne narzędzie - \Windows\System32\Defrag.exe Własne narzędzie - \Windows\System32\Defrag.exe Wadliwe w Windows 2000, lepsze w XP i 2003 Server Wadliwe w Windows 2000, lepsze w XP i 2003 Server

65 Zarządzanie uprawnieniami NTFS: W początkowej wersji NTFS przechowywał deskryptor bezpieczeństwa w każdym pliku (duże wykorzystanie miejsca dyskowego w systemach wieloużytkownikowych) W początkowej wersji NTFS przechowywał deskryptor bezpieczeństwa w każdym pliku (duże wykorzystanie miejsca dyskowego w systemach wieloużytkownikowych) W aktualnej wersji plik $Secure file trzyma wszystkie deskryptory bezpieczeństwa, a pliki mają tylko ich unikalne w danym systemie numery W aktualnej wersji plik $Secure file trzyma wszystkie deskryptory bezpieczeństwa, a pliki mają tylko ich unikalne w danym systemie numeryext3: Prawa dostępu przechowuje i-węzeł dyskowy w polu i_mode (małe wykorzystanie miejsca) Prawa dostępu przechowuje i-węzeł dyskowy w polu i_mode (małe wykorzystanie miejsca)

66 Plik $Secure file Dwa sposoby indeksowania: SDH i SII, dane w atrybucie SDS Dwa sposoby indeksowania: SDH i SII, dane w atrybucie SDS Nadawanie deskryptora plikowi – wykorzystujemy SDH Nadawanie deskryptora plikowi – wykorzystujemy SDH Przyzwalanie na dostęp – wykorzystujemy SII (pliki przechowują w $STANDARD_INFORMATION numer systemowy deskryptora) Przyzwalanie na dostęp – wykorzystujemy SII (pliki przechowują w $STANDARD_INFORMATION numer systemowy deskryptora) Cacheowanie ostatnich 32 użytych deskryptorów przez NTFS Cacheowanie ostatnich 32 użytych deskryptorów przez NTFS

67 Szyfrowanie w NTFS Przezroczyste dla użytkownika Przezroczyste dla użytkownika Wykorzystanie EFS (Encrypting File System), w Windowsie 2000 osobny sterownik, a od Windowsa XP sterownik zintegrowany ze sterownikiem NTFS Wykorzystanie EFS (Encrypting File System), w Windowsie 2000 osobny sterownik, a od Windowsa XP sterownik zintegrowany ze sterownikiem NTFS Użycie: Użycie: - poziom aplikacji: funkcje EncryptFile i DecryptFile, a FileEncryptionStatus zwraca atrybuty zaszyfrowania - Eksplorator Windows – menu zaawansowane właściwości pliku lub katalogu - Linia komend – polecenie cipher

68 Działanie EFS Pliki szyfrowane symetrycznym kluczem FEK (File Encryption Key) Pliki szyfrowane symetrycznym kluczem FEK (File Encryption Key) W Windows 2000 i Windows XP używany do tego DESX, a w Windowsie XP z Service Pack 1 i 2003 – AES W Windows 2000 i Windows XP używany do tego DESX, a w Windowsie XP z Service Pack 1 i 2003 – AES Można też wybrać 3DES-a Można też wybrać 3DES-a Szyfrowanie i deszyfrowanie symetryczne jest szybkie Szyfrowanie i deszyfrowanie symetryczne jest szybkie Użytkownik ma swój klucz publiczny i prywatny RSA, którym szyfruje się FEK Użytkownik ma swój klucz publiczny i prywatny RSA, którym szyfruje się FEK Szyfrowanie niesymetryczne jest wolne, ale używamy go tylko do szyfrowania FEK-a Szyfrowanie niesymetryczne jest wolne, ale używamy go tylko do szyfrowania FEK-a

69 Bezpieczeństwo kluczy RSA Klucz prywatny w katalogu: Documents and settings\Dane aplikacji\Microsoft\Crypto\RSA Klucz prywatny w katalogu: Documents and settings\Dane aplikacji\Microsoft\Crypto\RSA Katalog ten zaszyfrowany jest za pomocą master key danego użytkownika (64-bajtowy klucz symetryczny) Katalog ten zaszyfrowany jest za pomocą master key danego użytkownika (64-bajtowy klucz symetryczny) Master key w katalogu Documents and settings\Dane aplikacji\Microsoft\Protect Master key w katalogu Documents and settings\Dane aplikacji\Microsoft\Protect Jest zaszyfrowany algorytmem 3DES z użyciem klucza, który jest częściowo oparty na haśle użytkownika Jest zaszyfrowany algorytmem 3DES z użyciem klucza, który jest częściowo oparty na haśle użytkownika

70 Szczegóły działania EFS (skrót) EFS działa w trybie jądra, pracę zleca mu NTFS EFS działa w trybie jądra, pracę zleca mu NTFS Do odszyfrowania FEK-a używa funkcji kryptograficznych z trybu użytkownika Do odszyfrowania FEK-a używa funkcji kryptograficznych z trybu użytkownika Sterownik KSecDD zleca pracę dla LSASS (Local Security Authority Subsystem) Sterownik KSecDD zleca pracę dla LSASS (Local Security Authority Subsystem) Komponent LSASS-a – Lsarv – wysłuchuje żądania i przekazuje do CSP (cryptographic service provider) Komponent LSASS-a – Lsarv – wysłuchuje żądania i przekazuje do CSP (cryptographic service provider) Lsarv przekazuje wynik z powrotem do EFS Lsarv przekazuje wynik z powrotem do EFS

71 Interoperacyjność Obsługa systemów plików: Obsługa systemów plików: kernel based API kernel based API driver based API driver based API mieszane kernel-driver based API mieszane kernel-driver based API userland based API userland based API

72 Dostęp do innych systemów plików spod Linuksa obsługa większości systemu plików występuje jako moduły jądra obsługa większości systemu plików występuje jako moduły jądra w przypadku NTFS programy open source nie oferują pełnej funkcjonalności w przypadku NTFS programy open source nie oferują pełnej funkcjonalności istnieją komercyjne implementacje obsługi NTFS spod Linuksa – Paragon NTFS istnieją komercyjne implementacje obsługi NTFS spod Linuksa – Paragon NTFS

73 Dostęp do innych systemów plików spod Windowsa Zwykle nie nastręcza problemów, ze względu na otwartą specyfikację tych systemów plików Zwykle nie nastręcza problemów, ze względu na otwartą specyfikację tych systemów plików Wymaga zainstalowania pewnych dodatkowych aplikacji Wymaga zainstalowania pewnych dodatkowych aplikacji

74 Pytania i odpowiedzi ?! Brak!!

75 Bibliografia Wikipedia Wikipedia Microsoft TechNet How NTFS Works Microsoft TechNet How NTFS Works Linux-NTFS Project Linux-NTFS Project Windows Internals Windows Internals Moshe Bar Linux – systemy plików Moshe Bar Linux – systemy plików William von Hagen Systemy plików w Linuksie William von Hagen Systemy plików w Linuksie Google Google

76 Dziękujemy za UWAGĘ!


Pobierz ppt "Nowoczesne systemy plików PORÓWNANIE. Wymagania stawiane systemom plików Bezpieczeństwo danych Bezpieczeństwo danych Szybkość działania Szybkość działania."

Podobne prezentacje


Reklamy Google