Wstęp BTRFS Podsumowanie. System plików BTRFS. Maciej Łaszcz 05.09.2009

Podobne dokumenty
Systemy plików FAT, FAT32, NTFS

System plików JFS. 1 Najważniejsze informacje. Mateusz Zakrzewski. 18 stycznia JFS to skrót od Journalled File System.

Sektor. Systemy Operacyjne

System plików przykłady. implementacji

AE/ZP-27-16/14. Oprogramowanie do wykonywania kopii zapasowych oraz zarządzania maszynami wirtualnymi

MANAGER 2010 PROFESSIONALP VS. VIRTUALIZATION WIRTUALIZACJA OBSŁUGIWANE ANAGER 2010 C MANAGER 2010 CORPORATE: Funkcja. Korzyści.

System plików przykłady implementacji

System operacyjny UNIX system plików. mgr Michał Popławski, WFAiIS

SYSTEMY OPERACYJNE WYKŁAD 5 OBSŁUGA PAMIĘCI MASOWYCH

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

Zaawansowane funkcje systemów plików. Ewa Przybyłowicz

Dyski SSD a systemy plików

Tadeusz Pankowski

Administracja systemem Linux

PLAN WYKŁADU BAZY DANYCH INDEKSY - DEFINICJE. Indeksy jednopoziomowe Indeksy wielopoziomowe Indeksy z użyciem B-drzew i B + -drzew

16MB - 2GB 2MB - 128MB

dr inż. Jarosław Forenc

Arkusz1 Rok wprowadzenia. System plików Twórca Oryginalny system operacyjny

Narzędzia umożliwiające tworzenie scentralizowanej polityki prowadzenia backupów. Paweł Płoskonka IS2, P2

Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski

Jarosław Kuchta. Administrowanie Systemami Komputerowymi. System plików

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

Cele RAID. RAID z ang. Redundant Array of Independent Disks, Nadmiarowa macierz niezależnych dysków.

Tworzenie pliku Zapisywanie pliku Czytanie pliku Zmiana pozycji w pliku Usuwanie pliku Skracanie pliku

1 Instalowanie i uaktualnianie serwera SQL Server

System plików ReiserFs

Partition Wizard Home Edition Aplikacja przeznaczona do partycjonowania dysków twardych, obsługująca również macierze RAID oraz dyski o pojemności

System plików. Warstwowy model systemu plików

Systemy operacyjne System plików

Systemy macierzowe. www. qsantechnology. com

Systemy plików ext3 i XFS

HARD DISK MANAGER PORÓWNANIE EDYCJI

Macierze RAID MARCEL GAŃCZARCZYK 2TI 1

HARD DISK MANAGER 11 / PEŁNA LISTA FUNKCJI. HDM 11 Professional. HDM 2011 Suite. Funkcje. Partycjonowanie dysku

Narzędzia umożliwiające tworzenie scentralizowanej polityki prowadzenia backupów. Adrian Marczyk

Wykład I. Wprowadzenie do baz danych

Recon - weryfikacja poprawności systemu plików podczas jego działania. autor: Andrzej Jackowski

System plików Linuksa

Porównanie systemów zarządzania relacyjnymi bazami danych

< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 >

Podstawy Informatyki. Metody dostępu do danych

RAID 1. str w przypadku różnych szybkości cała macierz będzie pracowała z maksymalną prędkością najwolniejszego dysku

HARD DISK MANAGER 12 / LISTA FUNKCJI. HDM 12 Professional. HDM 12 Suite. Funkcje. Partycjonowanie dysku

Steganograficzny system plików

Konwersja bazy Sybase ASA Runtime do Microsoft SQL Server

Pliki i systemy plików

Podstawowe wiadomości o systemach plików.

Archiwum DG 2016 PL-SOFT

Szczegółowy cennik - Avidata Odzyskiwanie Danych

2. Kontroler Dwa kontrolery pracujące w trybie active-active wyposażone w min. 32GB cache (każdy). Kontroler oparty na architekturze 64 bitowej.

PODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa

Zbuduj prywatną chmurę backupu w firmie. Xopero Backup. Centralnie zarządzane rozwiązanie do backupu serwerów i stacji roboczych

EPA Systemy Sp. z o.o. Przedstawiciel CTERA Networks Ltd w Polsce Tel CTERA

Pojęcie bazy danych. Funkcje i możliwości.

Co to są relacyjne bazy danych?

Administracja i programowanie pod Microsoft SQL Server 2000

Program szkolenia: Microsoft SQL Server 2012/2014 Databases, przygotowującego do egzaminu

Wykład 2. Temat: (Nie)zawodność sprzętu komputerowego. Politechnika Gdańska, Inżynieria Biomedyczna. Przedmiot:

Zespół Szkół Technicznych w Suwałkach. Pracownia Systemów Komputerowych. Ćwiczenie Nr 4. SYSTEMY PLIKÓW cz. I. Opracował Sławomir Zieliński

Pamięci zewnętrzne Dysk magnetyczny:

Struktura dysku. Dyski podstawowe i dynamiczne

1. Pliki i ich organizacja

Policealne Studium Zawodowe w Grudziądzu. Technik Informatyk SYSTEMY I SIECI KOMPUTEROWE. Windows XP klonowanie instalacji z wykorzystaniem sysprep

KATEGORIA OBSZAR WIEDZY

ReiserFS i Reiser4 Dominik Klimczak Creative Commons License

ZADANIE nr 4 Sprawdzian z informatyki

Memeo Instant Backup Podręcznik Szybkiego Startu

Python: JPEG. Zadanie. 1. Wczytanie obrazka

DOKUMENTACJA ADMINISTRATORA SYSTEMU INFORMATYCZNEGO POLSKI FADN

Zarządzanie partycjami

Wpisany przez Łukasz Nawrotek Poniedziałek, 20 Październik :57 - Zmieniony Poniedziałek, 20 Październik :02

Menu Plik w Edytorze symboli i Edytorze widoku aparatów

Definicja pliku kratowego

Opisane poniżej czynności może wykonać administrator komputera lub administrator serwera SQL (tj. użytkownik sa).

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

System plików. - warstwa logiczna. - warstwa fizyczna. - przykłady implementacji. Systemy operacyjne Wykład 6 1

wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK

Moduł 2 Użytkowanie komputerów i zarządzanie plikami wymaga od kandydata znajomości obsługi komputera osobistego.

Konfiguracja komputera przeznaczonego do pracy z IndustrialSQL Server 8.0 (komputer serwer)


Bezpieczeństwo systemów komputerowych - wykład IX i X

!!!!!! FUDO% Architektura%Bezpieczeństwa! % % Warszawa,%28:04:2014%

Fizyczna struktura bazy danych w SQL Serwerze

Sylabus Moduł 2: Przetwarzanie tekstów

Tabela wewnętrzna - definicja

Sortowanie. Bartman Jacek Algorytmy i struktury

ReiserFS i Reiser 4 FS

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000

sprowadza się od razu kilka stron!

WSTĘP DO INFORMATYKI. Drzewa i struktury drzewiaste

Bartosz Kurzajczyk 4i Tytuł - Diagnoza, naprawa i usunięcie usterek oraz zapobiegnięcie ich w przyszłości. 2. Założenia - Komputer na

Fizyczna organizacja danych w bazie danych

Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Dyski. Mechanizmy składowania

Pojęcie systemu baz danych

1. Wymagania ogólne oprogramowania do backupu środowiska wirtualnego

ROZSZERZANIE MOŻLIWOŚCI...

System plików. System plików. Operacje plikowe. Inne operacje. Typy plików. Typy dostępu do plików

Transkrypt:

System plików 05.09.2009 System plików

Motywacja Wymagania Historia 1 Motywacja Wymagania Historia 2 3 Bibliografia System plików

Prawo Moore a a HDD Motywacja Wymagania Historia Ale czas dostępu do danych na mechanicznym dysku twardym cały czas trzyma się wartości od 6ms do 15ms i nic nie wskazuje na gwałtowne zmiany System plików

Prawo Moore a a HDD Motywacja Wymagania Historia Ale czas dostępu do danych na mechanicznym dysku twardym cały czas trzyma się wartości od 6ms do 15ms i nic nie wskazuje na gwałtowne zmiany System plików

Alternatywa dla HDD Motywacja Wymagania Historia Dyski SSD mają zerowy czas dostępu do danych. 12ms 10ms 8ms 6ms 4ms 2ms 0ms Mtron Pro Memo Right GT OCZVertex OCZ SSD SuperTalentMX WD CaviarBlue Seagate 7200.11 Samsung F1 System plików

Alternatywa dla HDD Motywacja Wymagania Historia Dyski SSD mają zerowy czas dostępu do danych. 12ms 10ms 8ms 6ms 4ms 2ms 0ms Pytanie Może zatem wyprą HDD? Wtedy system plików dużo straci na znaczeniu. Mtron Pro Memo Right GT OCZVertex OCZ SSD SuperTalentMX WD CaviarBlue Seagate 7200.11 Samsung F1 System plików

Motywacja Wymagania Historia Na razie nie zanosi się na rewolucję na rynku dysków twardych. System plików

Motywacja Wymagania Historia Na razie nie zanosi się na rewolucję na rynku dysków twardych. System plików

Motywacja Wymagania Historia Na razie nie zanosi się na rewolucję na rynku dysków twardych. System plików

Motywacja Wymagania Historia Na razie nie zanosi się na rewolucję na rynku dysków twardych. System plików

Motywacja Wymagania Historia Na razie nie zanosi się na rewolucję na rynku dysków twardych. System plików

Motywacja Wymagania Historia Na razie nie zanosi się na rewolucję na rynku dysków twardych. System plików

Motywacja Wymagania Historia Czego wymagamy od systemów plików? Szybkości (także w miarę starzenia się systemu) Niezawodności Wydajnego użycia przestrzeni System plików

Motywacja Wymagania Historia W praktyce czyli dzisiejsze problemy Stabilne i szybkie odzyskiwanie danych Kopie zapasowe masowych danych Migrowanie Dużo plików w jednym folderze Ogromne pliki Macierze wielodyskowe System plików

Jak ewoluowały systemy plików Motywacja Wymagania Historia 1993 EXT2 1994 XFS 1996 FAT32 1999 EXT3 2001 ReiserFS 2004 ZFS 2006 EXT4 (?) 2006 NTFS System plików

rok 2007 REISERFS wstrzymany, EXT4 nie zapowiada się rewolucyjnie, a SUN ma ZFS... 08.2007 FAST&LSF: Ohad Rohde przedstawia z COW 09.2007 06.2008 01.2009 06.2009 UKUUG: Chris Mason przedstawia projekt v0.15 v0.18 jest w 2.6.29-rc1 v0.19 jest w 2.6.31. Automatyczna zmiana formatu. System plików

rok 2007 REISERFS wstrzymany, EXT4 nie zapowiada się rewolucyjnie, a SUN ma ZFS... 08.2007 FAST&LSF: Ohad Rohde przedstawia z COW 09.2007 06.2008 01.2009 06.2009 UKUUG: Chris Mason przedstawia projekt v0.15 v0.18 jest w 2.6.29-rc1 v0.19 jest w 2.6.31. Automatyczna zmiana formatu. System plików

rok 2007 REISERFS wstrzymany, EXT4 nie zapowiada się rewolucyjnie, a SUN ma ZFS... 08.2007 FAST&LSF: Ohad Rohde przedstawia z COW 09.2007 06.2008 01.2009 06.2009 UKUUG: Chris Mason przedstawia projekt v0.15 v0.18 jest w 2.6.29-rc1 v0.19 jest w 2.6.31. Automatyczna zmiana formatu. System plików

rok 2007 REISERFS wstrzymany, EXT4 nie zapowiada się rewolucyjnie, a SUN ma ZFS... 08.2007 FAST&LSF: Ohad Rohde przedstawia z COW 09.2007 06.2008 01.2009 06.2009 UKUUG: Chris Mason przedstawia projekt v0.15 v0.18 jest w 2.6.29-rc1 v0.19 jest w 2.6.31. Automatyczna zmiana formatu. System plików

rok 2007 REISERFS wstrzymany, EXT4 nie zapowiada się rewolucyjnie, a SUN ma ZFS... 08.2007 FAST&LSF: Ohad Rohde przedstawia z COW 09.2007 06.2008 01.2009 06.2009 UKUUG: Chris Mason przedstawia projekt v0.15 v0.18 jest w 2.6.29-rc1 v0.19 jest w 2.6.31. Automatyczna zmiana formatu. System plików

B+Drzewo Popularna w systemach plików i bazach danych modyfikacja BDrzew. Tylko liście zawierają dane, a węzły wewnętrzne służą jako indeks. System plików

B+Drzewo Popularna w systemach plików i bazach danych modyfikacja BDrzew. Tylko liście zawierają dane, a węzły wewnętrzne służą jako indeks. Struktura używana w wielu systemach plików i implementacjach baz danych. NTFS, ReiserFS, NSS, XFS, JFS przechowywanie metadanych IBM DB2, Informix, Microsoft SQL Server, Oracle 8, Sybase ASI, PostgreSQL, MySQL pozwalają na tworzenie indeksów System plików

B+Drzewo Popularna w systemach plików i bazach danych modyfikacja BDrzew. Tylko liście zawierają dane, a węzły wewnętrzne służą jako indeks. Struktura używana w wielu systemach plików i implementacjach baz danych. NTFS, ReiserFS, NSS, XFS, JFS przechowywanie metadanych IBM DB2, Informix, Microsoft SQL Server, Oracle 8, Sybase ASI, PostgreSQL, MySQL pozwalają na tworzenie indeksów System plików

B+Drzewo Popularna w systemach plików i bazach danych modyfikacja BDrzew. Tylko liście zawierają dane, a węzły wewnętrzne służą jako indeks. Struktura używana w wielu systemach plików i implementacjach baz danych. NTFS, ReiserFS, NSS, XFS, JFS przechowywanie metadanych IBM DB2, Informix, Microsoft SQL Server, Oracle 8, Sybase ASI, PostgreSQL, MySQL pozwalają na tworzenie indeksów System plików

a BDrzewa Jakie korzyści wynikają z używania B+Drzew? Duże rozgałęzienie wczytywanych jest mniej węzłów Liście połączone są w listę ułatwia przetwarzanie zakresów Mniejsza defragmentacja danych... mniejsza deframentacja danych System plików

a BDrzewa Jakie korzyści wynikają z używania B+Drzew? Duże rozgałęzienie wczytywanych jest mniej węzłów Liście połączone są w listę ułatwia przetwarzanie zakresów Mniejsza defragmentacja danych... mniejsza deframentacja danych System plików

a BDrzewa Jakie korzyści wynikają z używania B+Drzew? Duże rozgałęzienie wczytywanych jest mniej węzłów Liście połączone są w listę ułatwia przetwarzanie zakresów Mniejsza defragmentacja danych... mniejsza deframentacja danych System plików

a BDrzewa Jakie korzyści wynikają z używania B+Drzew? Duże rozgałęzienie wczytywanych jest mniej węzłów Liście połączone są w listę ułatwia przetwarzanie zakresów Mniejsza defragmentacja danych... mniejsza deframentacja danych System plików

Co to jest COW? copy-on-write czyli leniwe kopiowania. W ogólności współdzielenie identycznych fragmentów pomiędzy różnymi obiektami, ale także mechanizm zabezpieczający przed nadpisaniem i utratą danych. System plików

Jak dodać COW do? Pomysł Wszystkie węzły są stałego rozmiaru (jedna strona) Nie nadpisujemy stron System plików

Jak dodać COW do? Pomysł Wszystkie węzły są stałego rozmiaru (jedna strona) Nie nadpisujemy stron System plików

Jak dodać COW do? Pomysł Wszystkie węzły są stałego rozmiaru (jedna strona) Nie nadpisujemy stron System plików

Jak dodać COW do? Pomysł Wszystkie węzły są stałego rozmiaru (jedna strona) Nie nadpisujemy stron System plików

Jak to zrealizować? Operacje wykonywane są iteracyjnie. Dla każdej z nich: Logujemy informację o wykonywanej operacji Wykonujemy suboperacje na nowych stronach na boku Między suboperacjami odsyłamy strony na dysk jako punkty kontrolne operacji Na końcu podmieniamy korzeń na ostateczny punkt kontrolny W razie awarii możemy odtworzyć ostatni punkt kontrolny i zgodnie z logiem ponowić próbę. System plików

Jak to zrealizować? Operacje wykonywane są iteracyjnie. Dla każdej z nich: Logujemy informację o wykonywanej operacji Wykonujemy suboperacje na nowych stronach na boku Między suboperacjami odsyłamy strony na dysk jako punkty kontrolne operacji Na końcu podmieniamy korzeń na ostateczny punkt kontrolny W razie awarii możemy odtworzyć ostatni punkt kontrolny i zgodnie z logiem ponowić próbę. System plików

Jak to zrealizować? Operacje wykonywane są iteracyjnie. Dla każdej z nich: Logujemy informację o wykonywanej operacji Wykonujemy suboperacje na nowych stronach na boku Między suboperacjami odsyłamy strony na dysk jako punkty kontrolne operacji Na końcu podmieniamy korzeń na ostateczny punkt kontrolny W razie awarii możemy odtworzyć ostatni punkt kontrolny i zgodnie z logiem ponowić próbę. System plików

Jak to zrealizować? Operacje wykonywane są iteracyjnie. Dla każdej z nich: Logujemy informację o wykonywanej operacji Wykonujemy suboperacje na nowych stronach na boku Między suboperacjami odsyłamy strony na dysk jako punkty kontrolne operacji Na końcu podmieniamy korzeń na ostateczny punkt kontrolny W razie awarii możemy odtworzyć ostatni punkt kontrolny i zgodnie z logiem ponowić próbę. System plików

Jak to zrealizować? Operacje wykonywane są iteracyjnie. Dla każdej z nich: Logujemy informację o wykonywanej operacji Wykonujemy suboperacje na nowych stronach na boku Między suboperacjami odsyłamy strony na dysk jako punkty kontrolne operacji Na końcu podmieniamy korzeń na ostateczny punkt kontrolny W razie awarii możemy odtworzyć ostatni punkt kontrolny i zgodnie z logiem ponowić próbę. System plików

Jak to zrealizować? Operacje wykonywane są iteracyjnie. Dla każdej z nich: Logujemy informację o wykonywanej operacji Wykonujemy suboperacje na nowych stronach na boku Między suboperacjami odsyłamy strony na dysk jako punkty kontrolne operacji Na końcu podmieniamy korzeń na ostateczny punkt kontrolny W razie awarii możemy odtworzyć ostatni punkt kontrolny i zgodnie z logiem ponowić próbę. System plików

Migawki Wymagają przechowywania wskaźników do więcej niż jednego korzenia drzewa Każdy korzeń jest stanem systemu z jakiejś chwili Wystarczy nie podmieniać korzenia na końcu operacji Obserwacja Migawki nie muszą być tworzone w sposób liniowy, tzn. na migawce można oprzeć inną. Tego nie ma w ZFS System plików

Migawki Wymagają przechowywania wskaźników do więcej niż jednego korzenia drzewa Każdy korzeń jest stanem systemu z jakiejś chwili Wystarczy nie podmieniać korzenia na końcu operacji Obserwacja Migawki nie muszą być tworzone w sposób liniowy, tzn. na migawce można oprzeć inną. Tego nie ma w ZFS System plików

Migawki Wymagają przechowywania wskaźników do więcej niż jednego korzenia drzewa Każdy korzeń jest stanem systemu z jakiejś chwili Wystarczy nie podmieniać korzenia na końcu operacji Obserwacja Migawki nie muszą być tworzone w sposób liniowy, tzn. na migawce można oprzeć inną. Tego nie ma w ZFS System plików

A współbieżność? Standardowe operacje na ch znajdują liść i modyfikują drzewo w drodze do góry korzeń jest punktem kolizyjnym. Rozwiązanie Wszystkie operacje wykonywać od góry do dołu blokując maksymalnie trzy węzły. Pozostał tylko problem z utrzymaniem balansu... System plików

A współbieżność? Standardowe operacje na ch znajdują liść i modyfikują drzewo w drodze do góry korzeń jest punktem kolizyjnym. Rozwiązanie Wszystkie operacje wykonywać od góry do dołu blokując maksymalnie trzy węzły. Pozostał tylko problem z utrzymaniem balansu... System plików

A współbieżność? Standardowe operacje na ch znajdują liść i modyfikują drzewo w drodze do góry korzeń jest punktem kolizyjnym. Rozwiązanie Wszystkie operacje wykonywać od góry do dołu blokując maksymalnie trzy węzły. Pozostał tylko problem z utrzymaniem balansu... System plików

A współbieżność? Standardowe operacje na ch znajdują liść i modyfikują drzewo w drodze do góry korzeń jest punktem kolizyjnym. Rozwiązanie Wszystkie operacje wykonywać od góry do dołu blokując maksymalnie trzy węzły. Pozostał tylko problem z utrzymaniem balansu... System plików

Wstawianie węzła Modyfikowane elementy kopiowane są przy zagłębianiu się Zapobiegawcze rozdzielanie węzłów Przykład (Wstawienie 8): System plików

Usuwanie węzła Modyfikowane elementy kopiowane są przy zagłębianiu się Zapobiegawcze łączenie węzłów Przykład (Usunięcie 10): System plików

Konsekwencje Drzewo jest mniej zrównoważone (d... 3d) Nie ma zakleszczenia Algorytmy są proste System plików

Klonowanie A co jeśli chcemy móc tanio skopiować drzewo? Wymagania Współdzielić wszystko co możliwe Klonowanie ma być szybkie Liczba klonów nie ma być zbyt mocno ograniczona Klony też mają być klonowalne Pomysły Skopiowanie całej struktury Multizbiory bitowe Zliczanie referencji System plików

Klonowanie A co jeśli chcemy móc tanio skopiować drzewo? Wymagania Współdzielić wszystko co możliwe Klonowanie ma być szybkie Liczba klonów nie ma być zbyt mocno ograniczona Klony też mają być klonowalne Pomysły Skopiowanie całej struktury Multizbiory bitowe Zliczanie referencji System plików

Klonowanie A co jeśli chcemy móc tanio skopiować drzewo? Wymagania Współdzielić wszystko co możliwe Klonowanie ma być szybkie Liczba klonów nie ma być zbyt mocno ograniczona Klony też mają być klonowalne Pomysły Skopiowanie całej struktury Multizbiory bitowe Zliczanie referencji System plików

Klonowanie: Zliczanie referencji Każdy blok ma licznik użyć (0 oznacza wolną przestrzeń). Aby skopiować drzewo wystarczy dokonać inkrementacji licznika użyć na kopiowanych węzłach. Pomysł Można to zrobić leniwie korzystając z COW. System plików

Klonowanie: Zliczanie referencji Każdy blok ma licznik użyć (0 oznacza wolną przestrzeń). Aby skopiować drzewo wystarczy dokonać inkrementacji licznika użyć na kopiowanych węzłach. Pomysł Można to zrobić leniwie korzystając z COW. System plików

Klonowanie: przykład Klonujemy P: System plików

Wstawianie do klona Wstawiamy do liścia H w drzewie Q: System plików

Usuwanie klona System plików

Jak zrobić z tego system plików? Pomysł Wrzucić wszystko do z COW. W tym informację o przestrzeni dyskowej zajętej przez drzewo. Efekt Jeden kod obsługuje wszystkie elementy i ułatwia implementację m.in.: migawek, klonowania, kompresji i automatycznej weryfikacji sum kontrolnych System plików

Jak zrobić z tego system plików? Pomysł Wrzucić wszystko do z COW. W tym informację o przestrzeni dyskowej zajętej przez drzewo. Efekt Jeden kod obsługuje wszystkie elementy i ułatwia implementację m.in.: migawek, klonowania, kompresji i automatycznej weryfikacji sum kontrolnych System plików

Jak zrobić z tego system plików? Pomysł Wrzucić wszystko do z COW. W tym informację o przestrzeni dyskowej zajętej przez drzewo. Efekt Jeden kod obsługuje wszystkie elementy i ułatwia implementację m.in.: migawek, klonowania, kompresji i automatycznej weryfikacji sum kontrolnych System plików

Jak zrobić z tego system plików? Pomysł Wrzucić wszystko do z COW. W tym informację o przestrzeni dyskowej zajętej przez drzewo. Efekt Jeden kod obsługuje wszystkie elementy i ułatwia implementację m.in.: migawek, klonowania, kompresji i automatycznej weryfikacji sum kontrolnych System plików

Drzewa systemu Superblok wskazuje miejsce położenia drzewa korzeni (tree of roots). Drzewo korzeni Drzewo korzeni ma wskaźniki na drzewa: systemu plików alokacji obszarów alokacji dla poszczególnych urządzeń blokowych System plików

Format węzła Każdy węzeł jest zawarty w jednym bloku i zawiera nagłówek. Węzły wewnętrzne składają się z list (klucz, wskaźnik na blok) Liście przechowują tablice obiektów: System plików

Format węzła Każdy węzeł jest zawarty w jednym bloku i zawiera nagłówek. Węzły wewnętrzne składają się z list (klucz, wskaźnik na blok) Liście przechowują tablice obiektów: System plików

Format węzła Każdy węzeł jest zawarty w jednym bloku i zawiera nagłówek. Węzły wewnętrzne składają się z list (klucz, wskaźnik na blok) Liście przechowują tablice obiektów: System plików

Format węzła Każdy węzeł jest zawarty w jednym bloku i zawiera nagłówek. Węzły wewnętrzne składają się z list (klucz, wskaźnik na blok) Liście przechowują tablice obiektów: System plików

Struktury danych Drzewo zapisywane jest na dysku przy pomocy trzech struktur danych. Są to: Nagłówek bloku Klucz obiektu Obiekt System plików

Struktury danych Drzewo zapisywane jest na dysku przy pomocy trzech struktur danych. Są to: Nagłówek bloku Klucz obiektu Obiekt Metadane weryfikujące: suma kontrolna bieżącego bloku UUID systemu plików poziom elementu w drzewie numer bloku w którym jesteśmy numer rewizji/generacji Poza tym zawiera flagi i identyfikator obszaru System plików

Struktury danych Drzewo zapisywane jest na dysku przy pomocy trzech struktur danych. Są to: Nagłówek bloku Klucz obiektu Obiekt ID (64bity) typ (8 bitów) przesunięcie (64bity) System plików

Struktury danych Drzewo zapisywane jest na dysku przy pomocy trzech struktur danych. Są to: Nagłówek bloku Klucz obiektu Obiekt klucz obiektu rozmiar (32bity) przesunięcie (32bity) System plików

Obiekty systemu Najważniejszą częścią klucza jest identyfikator obiektu. Elementy dotyczącego tego samego obiektu będą się grupowały blisko siebie. iwęzły mają zawsze najniższy numer klucza dla danego obiektu (typ= 1,offset= 0). Z założenia mają być małe i zawierać tylko podstawowe informacje. System plików

Obiekty systemu Najważniejszą częścią klucza jest identyfikator obiektu. Elementy dotyczącego tego samego obiektu będą się grupowały blisko siebie. iwęzły mają zawsze najniższy numer klucza dla danego obiektu (typ= 1,offset= 0). Z założenia mają być małe i zawierać tylko podstawowe informacje. System plików

Obiekty systemu Najważniejszą częścią klucza jest identyfikator obiektu. Elementy dotyczącego tego samego obiektu będą się grupowały blisko siebie. iwęzły mają zawsze najniższy numer klucza dla danego obiektu (typ= 1,offset= 0). Z założenia mają być małe i zawierać tylko podstawowe informacje. System plików

Jak trzymane są pliki? Dane małych plików mogą być zapisane bezpośrednio w drzewie. Duże pliki przechowywane są w obszarach (extent) poza drzewem. Odnośnik do obszaru (btrfs file extent item) zawiera numer rewizji oraz umiejscowienie danych na dysku. Zapis do środka obszaru odbywa się bez odczytu danych. System plików

Jak trzymane są pliki? Dane małych plików mogą być zapisane bezpośrednio w drzewie. Duże pliki przechowywane są w obszarach (extent) poza drzewem. Odnośnik do obszaru (btrfs file extent item) zawiera numer rewizji oraz umiejscowienie danych na dysku. Zapis do środka obszaru odbywa się bez odczytu danych. System plików

Jak trzymane są foldery? Obiekt folderu nadrzędnego jest podwójnie indeksowany, tzn. posiada po dwa elementy dla każdego podfolderu lub pliku, który jest w nim zawarty. indeks po nazwach plików. Prawa część klucza elementów tego indeksu zawiera hash nazwy. indeks po (przybliżonej) kolejności na dysku. Każdy nowy element dostaje pierwszy wolny numer. System plików

Obszary danych Obszary danych pogrupowane są w duże grupy (block groups). Grupy są zmiennej wielkości (inaczej niż w EXT3) Naprzemiennie na dysku występują grupy z różnymi preferencjami (metadane lub dane) Opisy wszystkich obszarów trzymane są w osobnym drzewie (extent allocation tree), a ich kluczami są adresy przesunięcia na dysku. Każdy obszar posiada listę wszystkich obiektów systemu plików, które go współdzielą Zawarta jest liczba referencji, która służy też jako opis wolnej przestrzeni System plików

Wykorzystanie obszaru dysku System plików

Zarządzanie przestrzenią i migracje Dzięki drzewie obszarów łatwo odnaleźć obiekty zajmujące określone miejsce na dysku. Możliwości Stabilna zmiana rozmiaru systemu Swobodna administracja obszarem dysku Wydajna defragmentacja System plików

Zarządzanie przestrzenią i migracje Dzięki drzewie obszarów łatwo odnaleźć obiekty zajmujące określone miejsce na dysku. Możliwości Stabilna zmiana rozmiaru systemu Swobodna administracja obszarem dysku Wydajna defragmentacja System plików

Zarządzanie przestrzenią i migracje Dzięki drzewie obszarów łatwo odnaleźć obiekty zajmujące określone miejsce na dysku. Możliwości Stabilna zmiana rozmiaru systemu Swobodna administracja obszarem dysku Wydajna defragmentacja System plików

Zarządzanie przestrzenią i migracje Dzięki drzewie obszarów łatwo odnaleźć obiekty zajmujące określone miejsce na dysku. Możliwości Stabilna zmiana rozmiaru systemu Swobodna administracja obszarem dysku Wydajna defragmentacja System plików

Macierze wielodyskowe Obsługa wielu dysków zaimplementowana na poziomie systemu plików. Dla każdego urządzenia przynajmniej jedno drzewo alokacji obszarów. Administrator może oznaczać pliki, które mają być duplikowane Niezależność od sprzętu Ułatwienie migracji na nowy dysk System plików

System plików

Sprawdzanie danych: Btrfsck Właściwości Wysoka tolerancja na błędy Niewymagane odmontowanie Wydajne rozmieszczenie struktur powoduje, że głównym ograniczeniem jest prędkość wczytywania danych Btrfsck potrzebuje 3 razy więcej ramu od ext2fsck System plików

Sprawdzanie danych: Btrfsck Właściwości Wysoka tolerancja na błędy Niewymagane odmontowanie Wydajne rozmieszczenie struktur powoduje, że głównym ograniczeniem jest prędkość wczytywania danych Btrfsck potrzebuje 3 razy więcej ramu od ext2fsck System plików

Redundancja Każdy blok posiada w nagłówku bardzo dużo powtórzonych informacji. Zwiększa to prawdopodobieństwo wykrycia błędów. Ułatwia odzyskiwanie danych z uszkodzonego systemu plików System plików

Kompresja Obszary danych plików mogą korzystać z transparentnej kompresji. Obecnie zaimplementowana jest to przy pomocy zliba, ale w planach jest wsparcie LZOPa. System plików

Konwersja EXT3 Obserwacja ma bardzo mało elementów o stałym umiejscowieniu na dysku. System plików

Konwersja EXT3 Obserwacja ma bardzo mało elementów o stałym umiejscowieniu na dysku. Wniosek Struktury systemu plików można umiejscowić w wolnych blokach konwertowanego systemu. System plików

Konwersja EXT3, c.d. Algorytm 1 Skopiowanie 1MB danych z początku pliku 2 Zduplikowanie struktury katalogów i inode ów do 3 Podłączenie bloków danych EXT3 do plików 4 Oznaczenie metadanych EXT3 jako dane System plików

Konwersja EXT3, c.d. Algorytm 1 Skopiowanie 1MB danych z początku pliku 2 Zduplikowanie struktury katalogów i inode ów do 3 Podłączenie bloków danych EXT3 do plików 4 Oznaczenie metadanych EXT3 jako dane System plików

Konwersja EXT3, c.d. Algorytm 1 Skopiowanie 1MB danych z początku pliku 2 Zduplikowanie struktury katalogów i inode ów do 3 Podłączenie bloków danych EXT3 do plików 4 Oznaczenie metadanych EXT3 jako dane System plików

Konwersja EXT3, c.d. Algorytm 1 Skopiowanie 1MB danych z początku pliku 2 Zduplikowanie struktury katalogów i inode ów do 3 Podłączenie bloków danych EXT3 do plików 4 Oznaczenie metadanych EXT3 jako dane System plików

Zaimplementowano Migawki, Migawki migawek Używanie jednego systemu plików jako Migawki dla drugiego Dodawanie i usuwanie urządzeń dyskowych w locie Defragmentacja online Kompresja w locie Obsługa wielu dysków (RAID1 i RAID0) Transakcje z poziomu użytkownika Wsparcie dla SSD (wear leveling) System plików

W planach Operacje asynchroniczne Bardziej zaawansowana obsługa macierzy (RAID5 i RAID6) Automatyczne kopie inkrementalne System plików

Bibliografia Dobrze się zapowiada Wiele ciekawych udogodnień Nadaje się nie tylko do serwerów System plików

Bibliografia http://www.cs.tau.ac.il/ ohadrode/papers/btree TOS.pdf http://www.cs.tau.ac.il/ ohadrode/papers/linuxfs Workshop.pdf http://www.linuxconf.eu/2007/papers/mason.pdf http://oss.oracle.com/projects/btrfs/dist/documentation/btrfs-ukuug.pdf http://dclug.tux.org/200908/-dclug.pdf http://www.caiss.org/docs/dinnerseminar/thestoragechasm20090205.pdf http://lwn.net/articles/342892/ http://en.wikipedia.org/wiki/btrfs http://btrfs.wiki.kernel.org/ System plików