NTFS

87
NTFS

description

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 - PowerPoint PPT Presentation

Transcript of NTFS

Page 1: NTFS

NTFS

Page 2: 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

Page 3: NTFS

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

Page 4: NTFS

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)

Page 5: NTFS

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

Page 6: NTFS

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)

Page 7: NTFS

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

Page 8: NTFS

Budowa wewnętrzna-schemat

Page 9: NTFS

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

Page 10: NTFS

NTFS i komponenty

Page 11: NTFS

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)

Page 12: NTFS

Struktura NTFS

Page 13: NTFS

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, ...)

Page 14: NTFS

Struktura dyskowa-przykład

Page 15: NTFS

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

Page 16: NTFS

Klaster i sektor

Page 17: NTFS

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

Page 18: NTFS

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

Page 19: NTFS

MFT NTFS znajduje fizyczny adres

rekordu tablicy MFT z pliku rozruchowego podczas montowania wolumenu

Z MFT odczytywane są rekordy opisujące metapliki

Page 20: NTFS

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

Page 21: NTFS

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

Page 22: NTFS

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)

Page 23: NTFS

Rekord MFT - cd

Page 24: NTFS

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

Page 25: NTFS

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, ...)

Page 26: NTFS

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

Page 27: NTFS

Nagłówek atrybutu rezydentnego

Page 28: NTFS

Nagłówek atrybutu nierezydentnego

Page 29: NTFS

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)

Page 30: NTFS

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

Page 31: NTFS

Atrybuty katalogu głównego

Page 32: NTFS

Kompresja danych NTFS umożliwia kompresję danych

na poziomie Pliku Katalogu Wolumenu

Page 33: NTFS

„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

Page 34: NTFS

Obszary pliku rzadkiego

Page 35: NTFS

Rekord MFT pliku rzadkiego

Page 36: NTFS

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

Page 37: NTFS

Obszary pliku zwykłego

Page 38: NTFS

Rekord MFT pliku zwykłego

Page 39: NTFS

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

Page 40: NTFS

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)

Page 41: NTFS

LFS

Page 42: NTFS

Struktura pliku dziennika Obszar restartu – zawiera informacje o

kontekście (stan zaawansowania operacji) Obszar dziennika – zawiera opis operacji

Page 43: NTFS

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)

Page 44: NTFS

Rekordy dziennika Rekordy poprawy Rekordy testowe Rekordy identyfikowane są

poprzez numer sekwencji (Log Sequence Number LSN)

Page 45: NTFS

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

Page 46: NTFS

Rekordy cofnij/ponów

Page 47: NTFS

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

Page 48: NTFS

Rekord testowy

Page 49: NTFS

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

Page 50: NTFS

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

Page 51: NTFS

Fazy odzyskiwania Analiza Ponów Cofnij

Page 52: NTFS

Faza analizy Znalezienie w pliku dziennika rekordu od

którego rozpocznie się proces odzyskiwania1. Na początku procesu, LFS znajduje w pliku dziennika

ostatni rekord kontrolny oraz ostatnią kopię tablicy operacji i tablicy niekompletnych stron.

2. NTFS poszukuje pierwszego po kontrolnym rekordu poprawy dla weryfikacji zawartości obu tablic

3. NTFS na podstawie zawartości tablic określa LSN najstarszego rekordu poprawy, którego operacje nie zostały wykonane i kończy operacje

Page 53: NTFS

Faza analizy - cd

Page 54: NTFS

Faza ponów Dla uaktualnienia zawartości pamięci

podręcznej o dane zapisane na dysku przed awarią

1. NTFS przeszukuje plik dziennika od rekordu znalezionego w fazie analizy w kierunku końca pliku

2. Poszukiwanie kończy się znalezieniem pierwszego rekordu „uaktualnienia strony” (page update, volume modification)

3. Na podstawie informacji w nim zawartych uaktualniana jest informacja w pamięci podręcznej buforów

Page 55: NTFS

Faza ponów – cd

Page 56: NTFS

Faza cofnij Wykonywana dla wycofania operacji,

które zostały przerwane, a dane utracone1. Znalezienie w tablicy operacji LSN rekordu

ostatniej dziennikowanej, a nie zakończonej operacji

2. Wykonanie operacji cofnięcia (usunięcia) rekordów operacji występujących w pliku dziennika po znalezionym rekordzie

3. Synchronizacja zawartości pamięci podręcznej i danych przechowywanych na dysku

Page 57: NTFS

Faza cofnij - cd

Page 58: NTFS

Odporność na awarię Zapewnia FtDisk (fault tolerant disk

driver) pracujący pomiędzy sterownikiem systemy plików i sterownikiem dysku

Umożliwia Zarządzanie wolumenami (odpowiednik LVM) Redundantność przechowywanych danych Dynamiczne odzyskiwanie danych z

uszkodzonych sektorów dysków SCSI

Page 59: NTFS

Zbiór wolumenów Pojedynczy wolumen logiczny może składać

się z max. 32 obszarów wolnej przestrzeni adresowej jednego lub kilku dysków

Wykorzystywany do tworzenia wolumenu o dużej pojemności z wielu drobnych obszarów

FtDisk zakrywa przed systemem plików fizyczną konfigurację dysków

NTFS umożliwia bezproblemowe zwiększanie rozmiaru wolumenu

Page 60: NTFS

Zbiór wolumenów - przykład

Page 61: NTFS

Przeplot (paskowanie) Ciąg partycji (po jednej na dysku)

tworzących jeden wolumen FtDisk dystrybuuje dane pomiędzy fizyczne

dyski Wykorzystuje kolejne fizyczne sektory

kolejnych pasków Dane na różnych dyskach są zapisywane

jednocześnie W obciążonych systemach powoduje

skrócenie czasu opóźnienia operacji I/O

Page 62: NTFS

Przeplot - przykład

Page 63: NTFS

Kopia lustrzana (RAID 1) Duplikuje dane z partycji jednego

dysku do partycji o identycznym rozmiarze drugiego dysku

W przypadku utraty danych z partycji podstawowej FtDisk automatycznie sięga do kopii

Page 64: NTFS

Równoważenie obciążenia dla operacji odczytu Dla operacji odczytu FtDisk stara się

równomiernie obciążać obie partycje co zwiększa przepustowość systemu

Page 65: NTFS

Paskowanie z sumą kontrolną na jednym dysku (RAID 4) Jak w przypadku paskowania ale z

dodatkowym dyskiem do przechowywania sumy kontrolnej (najczęściej różnica symetryczna XOR) danych z odpowiednich klastrów

Sekwencyjny zapis sumy kontrolnej poważnie zmniejsza wydajność systemu

Page 66: NTFS

Paskowanie z sumą kontrolną na wielu dyskach (RAID 5) Jak RAID 4 ale suma kontrolna

zapisywana jest na wszystkich dyskach

Page 67: NTFS

Zarządzanie sektorami Odzyskiwanie danych z sektorów

wykazujących objawy uszkodzenia Wykorzystuje niektóre możliwości dysków

do tworzenia zbiorów klastrów uszkodzonych (dyski SCSI)

FtDisk po otrzymaniu informacji od dysku o uszkodzeniu sektora kopiuje z niego dane, a sektor dołącza do listy sektorów uszkodzonych

W tym zakresie FtDisk działa autonomicznie bez interwencji sterownika systemu plików

Page 68: NTFS

Aktualizacja mapowania klastrów uszkodzonych Wykonywana gdy FtDisk nie jest w

stanie odzyskać danych z klastra i wykonać jego kopii lub gdy FtDisk nie jest zainstalowany

NTFS automatycznie alokuje nowy klaster i kopiuje dane z zawierającego uszkodzony sektor

NTFS odzyskuje dane z pomocą FtDisk lub wolumenu nadmiarowego

Page 69: NTFS

Uszkodzony klaster

Page 70: NTFS

Aktualizacja mapowania

Page 71: NTFS

Atrybuty podstawowe - dysk

Page 72: NTFS

Atrybuty podstawowe - plik

Page 73: NTFS

Typy dostępu (plik, katalog) Brak dostępu – domyślnie

przypisywany każdej grupie. Użytkownicy nim objęci nie mogą nawet zobaczyć nazwy pliku lub katalogu.

Lista – pozwala zobaczyć nazwę katalogu i plików oraz uczynić katalog bieżącym.

Page 74: NTFS

Typy dostępu (plik, katalog) Odczyt – dla katalogów

zawierających pliki wykonywalne. Dla katalogu jak typ lista. Pozwala uruchamiać pliki i je przeglądać ale nie modyfikować.

Dodanie – pozwala dodać plik do katalogu, ale nie umożliwia jego modyfikacji.

Page 75: NTFS

Typy dostępu (plik, katalog) Dodanie i odczyt – użytkownik może

dodać plik do katalogu, wykonać plik lub przeczytać jego zawartość.

Zmiana – poziom przypisywany domyślnie każdemu użytkownikowi. Umożliwia operacje wynikające z poziomu Dodanie i odczyt oraz modyfikowanie i usuwanie plików z katalogu.

Page 76: NTFS

Typy dostępu (plik, katalog) Pełna kontrola – administratorzy i

użytkownicy zaawansowani uzyskują pełną kontrolę nad plikami i katalogami lokalnego dysku. Uprawnienia jak zmiana oraz usunięcie całego katalogu, nadawanie dla niego uprawnień i przejęcie katalogu na własność.

Page 77: NTFS

Typy dostępu (plik, katalog) Specjalny dostęp do katalogów –

umożliwia zdefiniowanie nietypowego zestawu uprawnień i przyznanie ich użytkownikom do danego katalogu.

Specjalny dostęp do plików – umożliwia zdefiniowanie nietypowego zestawu uprawnień i przyznanie ich użytkownikom do danego pliku.

Page 78: NTFS

Szczegółowe prawa dostępu Odczyt (R) – użytkownik może

odczytać zawartość pliku lub katalogu, bez możliwości modyfikacji.

Zapis (W) – użytkownik może modyfikować zawartość pliku lub katalogu, ale nie może jej odczytać. Umożliwia tworzenie plików i katalogów.

Page 79: NTFS

Szczegółowe prawa dostępu Wykonanie (X) – użytkownik może

wykonywać pliki (jeśli są wykonywalne). Jest również niezbędna dla otwarcia katalogu w celu przejrzenia jego zawartości.

Usunięcie (D) – użytkownik może usunąć plik lub katalog.

Page 80: NTFS

Szczegółowe prawa dostępu Zmiana uprawnień (P) – prawo

nadawane zazwyczaj administratorowi; umożliwia zmianę uprawnień innych użytkowników do pliku lub katalogu.

Przejęcie na własność (O) – użytkownik może przejąć katalog na własność.

Page 81: NTFS

Wpis uprawnienia

Page 82: NTFS

Właściwości

Page 83: NTFS

Kontrola dostępu

Page 84: NTFS

Właściciel

Page 85: NTFS

Atrybuty zaawansowane

Page 86: NTFS

Wpis inspekcji

Page 87: NTFS

Podmiot inspekcji