1 / 87

NTFS

NTFS. Wymagania. Przechowywanie danych NTFS stosuje model transaction-processing dla przechowywania i dostępu do danych Wszystkie operacje zapisu są traktowane jako atomowe Operacje mają właściwości ACID: Atomicity, Consistency, Isolation, Durability. Wymagania - cd. Bezpieczeństwo

ugo
Download Presentation

NTFS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. NTFS

  2. Wymagania • Przechowywanie danych • NTFS stosuje model transaction-processing dla przechowywania i dostępu do danych • Wszystkie operacje zapisu są traktowane jako atomowe • Operacje mają właściwości ACID: Atomicity, Consistency, Isolation, Durability

  3. Wymagania - cd • Bezpieczeństwo • Oparte o model bezpieczeństwa Windows NT • Każdy otwarty plik jest traktowany jako obiekt z deskryptorem bezpieczeństwa zapisanym na dysku jako część pliku • Windows NT sprawdza, czy proces ma prawo dostępu do pliku przed jego otwarciem

  4. Wymagania - cd • Redundantność danych i odporność na awarię • Odporność na awarię zapewnia warstwowy model sterowników (HAL) Windows NT • NTFS komunikuje się ze sterownikiem dysku sztywnego bezpośrednio poprzez sterownik tolerancji awarii (fault tolerant). Implementuje on kopie lustrzaną (mirroring, RAID 0) oraz przeplot z kontrolą parzystości (striping with parity, RAID 5)

  5. Wymagania - cd • Duże dyski, duże pliki • NTFS wykorzystuje adresy 64-bitowe do adresowania klastrów, co zapewnia rozróżnienie 264 klastrów o rozmiarze do 64 kB każdy • Każdy plik może zawierać do 264 bajtów danych

  6. Wymagania - cd • Dodatkowo • Wielostrumieniowość • Nazwy plików wykorzystujące symbole unikodu • Spójna indeksacja atrybutów plików • Dynamiczna realokacja danych z klastrów uszkodzonych (bad-cluster remapping, hot fix)

  7. Budowa wewnętrzna • NTFS (jak i inne systemy plików) składają się ze sterowników urządzeń (procedur obsługi) pracujących w trybie jądra

  8. Budowa wewnętrzna-schemat

  9. Sterownik NTFS • Współpracuje z trzema innymi komponentami Windows NT • Log file service – obsługuje dziennik zapisów na dysku • Cache manager – obsługuje pamięć podręczną dla całego systemu plików • Virtual memory manager – wykorzystywany przez sterownik dysku np.. wtedy, gdy dane dane z pliku nie znajdują się w pamięci podręcznej

  10. NTFS i komponenty

  11. Plik w NTFS • Wykorzystując model obiektów Windows NT NTFS traktuje każdy plik jako obiekt • Pozwala to zarządzać plikiem wykorzystując zarządcę obiektów (object manager)

  12. Struktura NTFS

  13. Struktura dyskowa • Wolumen – logiczna partycja dysku, utworzona podczas formatowania dysku lub część dysku przeznaczona dla NTFS • Dysk może zawierać jeden lub więcej wolumenów, wolumen może rozciągać się na wiele dysków • Wolumen zawiera wszystkie dane systemu plików (pliki, katalogi, ...)

  14. Struktura dyskowa-przykład

  15. Klaster • Podstawowa jednostka przechowująca dane alokowana przez system plików • Rozmiar 0.5-4.0 kB • Rozmiar klastra jest całkowitą wielokrotnością (zawsze potęga liczby 2) rozmiaru sektora

  16. Klaster i sektor

  17. Numeracja klastrów • NTFS wykorzystuje logiczny numer klastra (LCN) oraz wirtualny numer klastra (VCN) • LCN numeruje klastry wolumenu od jego początku do końca (0...m) • VCN numeruje klastry przechowujące informacje danego pliku

  18. Nadrzędna tablica plików Master file table(MFT) • NTFS wszystkie dane, włącznie z metadanymi, przechowuje w plikach • MFT jest zaimplementowana jako tablica rekordów. Każdy rekord opisuje dokładnie jeden plik z tablicą MFT włącznie • Metaplik zawiera informacje wykorzystywane do implementacji struktury systemu plików

  19. MFT • NTFS znajduje fizyczny adres rekordu tablicy MFT z pliku rozruchowego podczas montowania wolumenu • Z MFT odczytywane są rekordy opisujące metapliki

  20. Plik metadanych NTFS • MFT • Kopia MFT • Plik dziennika (odtwarzanie danych) • Katalog główny • Plik bitmapy (stan alokacji wolumenu) • Plik rozruchowy (kod bootstrap) • Plik klastrów uszkodzonych • Plik wolumenu (nazwa wolumenu, wersja NTFS) • Tablica definicji atrybutów

  21. Odwołania do plików • NTFS adresuje pliki odwołaniem o długości 64 bitów • Odwołanie składa się z liczby sekwencji (16 bitów) i numeru pliku • Numer pliku określa pozycję rekordu opisującego plik w MFT

  22. Rekord MFT • W NTFS plik jest parą atrybuty/wartość • Plik atrybutów jest przechowywany jako oddzielny strumień bajtów wewnątrz właściwego pliku • NTFS zapewnia podstawowe operacje dla strumienia atrybutów (tworzenie, usuwanie, zapis, odczyt)

  23. Rekord MFT - cd

  24. Atrybuty rezydentne i nierezydentne • Wartości atrybutów rezydentnych przechowywane są w rekordzie MFT • Wartości atrybutów nierezydentnych przechowywane są we wpisach poza tablicą MFT

  25. Atrybuty nierezydentne • Wpis – część obszaru przestrzeni dysku (2 lub 4kB) zarezerwowane przez NTFS do przechowywania atrybutów, których wartości są za duże do przechowywania w rekordzie MFT • Tylko atrybuty o rosnącym rozmiarze mogą być nierezydentne (deskryptor bezpieczeństwa, lista atrybutów, ...)

  26. Nagłówek atrybutu • Każdy atrybut rozpoczyna nagłówek zawierający informacje o nim • Nagłówek jest jednakowy dla obu typów atrybutów • Nagłówek jest rezydentny • Dla atrybutów rezydentnych nagłówek przechowuje odległość od nagłówka do wartości atrybutu oraz długość wartości atrybutu • Nagłówek atrybutu nierezydentnego zawiera informacje o pozycji odpowiedniego wpisu na dysku

  27. Nagłówek atrybutu rezydentnego

  28. Nagłówek atrybutu nierezydentnego

  29. Indeksowanie nazw plików • NTFS wykorzystuje indeksowanie nazw schematem B-drzewa • Atrybuty plików w katalogu indeksowane są schematem B-drzewa w celu zmniejszenia liczby dostępów • W dużych katalogach nazwy plików są przechowywane w buforach o stałej długości (4 kB)

  30. Atrybuty katalogów • Atrybut indeksu głównego – zawiera pierwszy poziom B-drzewa oraz indeks do bufora zawierającego kolejny poziom • Atrybut indeksu alokacji – zawiera mapowanie VCN-LCN dla indeksu buforów • Atrybut bitmapy – przechowuje informacje o numerze wirtualnym klastra wolnego i zajętego w indeksie buforów

  31. Atrybuty katalogu głównego

  32. Kompresja danych • NTFS umożliwia kompresję danych na poziomie • Pliku • Katalogu • Wolumenu

  33. „Kompresja” plików rzadkich • Pliki rzadkie zawierają proporcjonalnie do ich rozmiaru niewielką ilość bajtów niezerowych (macierze rzadkie) • Kompresja polega na alokowaniu przestrzeni adresowej dysku tylko dla obszarów zawierających bajty niezerowe • NTFS przegląda rekordy MFT w poszukiwaniu ciągłych obszarów przestrzeni adresowej dla zapisania niezerowych danych

  34. Obszary pliku rzadkiego

  35. Rekord MFT pliku rzadkiego

  36. Kompresja plików zwykłych • Wykonywana algorytmicznie • NTFS dzieli plik na jednostki kompresji o rozmiarze równym pojemności 16 klastrów i kompresuje je • NTFS alokuje dla każdej jednostki kompresji odpowiednią liczbę klastrów (nie więcej niż 16) i zapisuje do nich skompresowane dane • Rozmiar jednostki kompresji stanowi kompromis pomiędzy efektywnością kompresji i prędkością operacji dostępu do danych skompresowanego pliku

  37. Obszary pliku zwykłego

  38. Rekord MFT pliku zwykłego

  39. Odzyskiwanie i spójność danych • Spójność danych powinna zostać zachowana bez konieczności użycia dodatkowych programów narzędziowych • Wykorzystuje metodę dziennikowania opartą na śledzeniu operacji • Działanie procedur odzyskiwania ograniczono do plików systemowych

  40. Dziennikowanie(log file services LFS) • Ciąg procedur pracujących w trybie jądra wywoływanych przez sterownik NTFS podczas dostępu do danych • NTFS nie zapisuje do- ani nie odczytuje z dziennika bezpośrednio lecz wykorzystuje w tym celu zarządcę pamięci podręcznej (Cache Manager)

  41. LFS

  42. Struktura pliku dziennika • Obszar restartu – zawiera informacje o kontekście (stan zaawansowania operacji) • Obszar dziennika – zawiera opis operacji

  43. Operacje dziennika • Otwarcie pliku dziennika • Zapis rekordów operacji do dziennika • Odczyt rekordów w dowolnej kolejności (wprost, wspak) z pliku dziennika • Usunięcie rekordów z pliku dziennika • Ustawienie początku pliku dziennika dla operacji o wyższym numerze sekwencji (Log Sequence Number LSN)

  44. Rekordy dziennika • Rekordy poprawy • Rekordy testowe • Rekordy identyfikowane są poprzez numer sekwencji (Log Sequence Number LSN)

  45. Rekordy poprawy • Zawierają dwa typy informacji • Ponów – umożliwia ponowne wykonanie fragmentu rozpoczętej operacji • Cofnij – umożliwia powrót do stanu sprzed rozpoczęcia wykonywania fragmentu operacji

  46. Rekordy cofnij/ponów

  47. Rekordy testowe • Cyklicznie zapisywane do pliku dziennika przez NTFS • Usuwanie zawartości pliku dziennika: • Zarządca pamięci podręcznej zapisuje wszystkie nie zapisane dane i plik dziennika na dysk • NTFS ustawi zapis dla bieżącej operacji na początek pliku • Rekordy testowe służą określaniu odległości powrotu dla operacji odzyskiwania danych

  48. Rekord testowy

  49. Odzyskiwanie • Przeprowadzane w oparciu o dwie tablice przechowywane w pamięci operacyjnej • Tablicę operacji przechowującą informacje o niedokończonych operacjach w postaci numeru LSN ostatnio zapisanego rekordu ostatniej operacji

  50. Odzyskiwanie - cd • Tablicy niekompletnych stron przechowującej informację o numerach stron pamięci zmodyfikowanych w pamięci podręcznej, a nie zapisanych na dysku w postaci numerów LSN rekordów nie zapisanych do pliku • Tuż przed zapisaniem rekordu testowego LFS zapisuje kopię obu tablic do pliku dziennika jako rekord i zapisuje jego numer LSN do rekordu testowego

More Related