Moderní souborové systémy. Ondřej Vondrouš



Podobné dokumenty
MODERNÍ SOUBOROVÉ SYSTÉMY - ZFS. Richard Janča

Přednáška. Systémy souborů. FAT, NTFS, UFS, ZFS. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Server je v informatice obecné označení pro počítač, který poskytuje nějaké služby nebo počítačový program, který tyto služby realizuje.

Operační systémy 1. Přednáška číslo Souborové systémy

Souborové systémy a logická struktura dat (principy, porovnání, příklady).

Souborový systém (File System FS) Souborové systémy. Souborová fragmentace. Disková fragmentace. Organizace dat na pevném disku

NAS 251 Seznámení s RAID

Operační systémy 2. Struktura odkládacích zařízení Přednáška číslo 10

TECHNICKÁ SPECIFIKACE

Operační systémy 1. Přednáška číslo Struktura odkládacích zařízení

MARIE PACS S PACSem hezky od podlahy když se data sypou!

Linux RAID, LVM. Ondřej Caletka

TSM for Virtual Environments Data Protection for VMware v6.3. Ondřej Bláha CEE+R Tivoli Storage Team Leader. TSM architektura IBM Corporation

CHARAKTERISTIKA VEŘEJNÉ ZAKÁZKY

Průzkum před testováním použitelnosti

QNAP TS-409 a QNAP TS-409 Pro. Jak použít funkci Online RAID Capacity Expansion a RAID Level Migration

Administrace OS Unix. filesystém UFS mount snapshot RAID

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Bloková zařízení v LINUXu Jan Vrbata - GOPAS

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

2.17 Archivace a komprimace dat

IT ESS II. 1. Operating Systém Fundamentals

Datová úložiště. Zdroj: IBM

Linux RAID, LVM. 27. listopadu Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko.

Město Varnsdorf, nám. E. Beneše 470, Varnsdorf, Česká republika SPECIFIKACE

Správa počítačové sítě Novell NetWare

Příloha č.2 - Technická specifikace předmětu veřejné zakázky

Data Protection Delivery Center, s. r. o. JEDNODUCHOST, SPOLEHLIVOST a VÝKONNOST. DPDC Protection. zálohování dat

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

Souborové systémy Mgr. Josef Horálek

BM Software, Databáze Docházky 3000 na NAS serveru (pro MySQL) Němčičky 84, Němčičky u Břeclavi. Úvodní informace:

2.2 Acronis True Image 19

IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

Najde si Software Defined Storage své místo na trhu?

ČÁST III. zadávací dokumentace technické podmínky ČÁST 1 veřejné zakázky

Výukový materiál Hardware je zaměřený především na výuku principů práce hardwaru a dále uvádí konkrétní příklady použití.

VirtualBox desktopová virtualizace. Zdeněk Merta

Téma 12: Správa diskových jednotek a system souborů. Téma 12: Správa diskových jednotek a systémů souborů

Střední odborná škola a Střední odborné učiliště, Hořovice

Základy informatiky. Operační systémy

Střední odborná škola a Střední odborné učiliště, Hořovice

Část 1. Technická specifikace. Posílení ochrany demokratické společnosti proti terorismu a extremismu

Střední odborná škola a Střední odborné učiliště, Hořovice

Slovník pro Acronis True Image 2017

Administrace Unixu a sítí

Instalace OS, nastavení systému

Portfolio úložišť WD pro datová centra Kapacitní úložiště prošlo vývojem

Organizace a zpracování dat I (NDBI007) RNDr. Michal Žemlička, Ph.D.

OPERAČNÍ SYSTÉMY. Operační systém je prostředník mezi hardwarem (technickým vybavením počítače) a určitým programem, který uživatel používá.

Výzva na podání nabídek na veřejnou zakázku malého rozsahu

Endura 2.0 Nová generace CCTV IP systémů s Full-HD rozlišením Endura Optimalizace HD

VirtualizaceKlatovské nemocnice a.s.

B4B35OSY: Operační systémy

2.9 Vnitřní paměti. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu

DISTRIBUCE GNU/LINUXU

Přednáška 2. Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. Úvod do Operačních Systémů Přednáška 2

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Jak spustit provoz v DR lokalitě snadno a rychle

DataDomain pod drobnohledem

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Lekce 7 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

1. SYSTÉMOVÉ POŽADAVKY / DOPORUČENÁ KONFIGURACE HW A SW Databázový server Webový server Stanice pro servisní modul...

Technologické postupy práce s aktovkou IS MPP

Systém souborů (file system, FS)

Motorola Phone Tools. Začínáme

Principy počítačů a operačních systémů

Specifikace předmětu veřejné zakázky

Přednáška. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Novinky. Autodesk Vault helpdesk.graitec.cz,

VÝPOČETNĚ NÁROČNÉ APLIKACE S VYUŽITÍM VIRTUALIZACE PRACOVNÍCH STANIC NA BÁZI INTEGRACE TECHNOLOGIÍ MICROSOFT VDI A SUN RAY

Střední odborná škola a Střední odborné učiliště, Hořovice

ZÁLOHA A OBNOVA ABRA GEN

B4B35OSY: Operační systémy

Acronis. Lukáš Valenta

Digitální učební materiály ve škole, registrační číslo projektu CZ.1.07/1.5.00/

Téma 6: Konfigurace počítačů se systémem Windows 7 II

Co je nového v aplikaci PaperPort 12?

Nejčastější dotazy pro řešení Symantec System Recovery 2011

Ukládání a archivace dat

Bezpečn č os o t t dat

Vzdálená správa v cloudu až pro 250 počítačů

Novinky. Autodesk Vault helpdesk.graitec.cz,

Příloha č. 1 k Č.j.: OOP/10039/ Specifikace zařízení

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D.

Cloud Computing pro státní správu v praxi. Martin Vondrouš - Software602, a.s. Pavel Kovář - T-Systems Czech Republic a.s.

ANO technologie nabízí výměnu HW komponent za chodu.

Datová úložiště CESNET

IBM Tivoli Storage Manager 6.2 a IBM Tivoli Storage Manager FastBack 6.1.1

Příloha č. 1 k čj.: 1/120/ Technická specifikace Zajištění HW a dlouhodobé podpory infrastruktury Intel pro VoZP ČR

František Hudek. duben 2013

ZÁKLADNÍ DESKA ZLÍNSKÝ KRAJ. Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště

ZÁLOHA A OBNOVA ABRA GEN

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

IBM Virtualizace. Virtualizace

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

plussystem Příručka k instalaci systému

Praha, Martin Beran

Úvod do Linuxu SŠSI Tábor 1

Architektura počítačů

Zadávací dokumentace na veřejnou zakázku malého rozsahu s názvem Obměna informačních technologií

Transkript:

Moderní souborové systémy Ondřej Vondrouš

Autor: Ondřej Vondrouš Název díla: Moderní souborové systémy Zpracoval(a): České vysoké učení technické v Praze Fakulta elektrotechnická Kontaktní adresa: Technická 2, Praha 6 Inovace předmětů a studijních materiálů pro e-learningovou výuku v prezenční a kombinované formě studia Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

VYSVĚTLIVKY Definice Zajímavost Poznámka Příklad Shrnutí Výhody Nevýhody

ANOTACE Cílem tohoto modulu je seznámit čtenáře nejenom se základním přehledem běžných souborových, ale především ukázat čtenáři možnosti moderních souborových systémů. CÍLE Modul si kladce za cíl ukázat čtenáři pokročilé možnosti ukládání dat v kontextu lokálního diskového prostoru. Budou zde ukázány výhody moderních robustních systému, jakož jsou souborové systémy BTRFS a ZFS. Po přečtení tohoto modulu by čtenář měl mít dostatek znalostí na to, aby dokázal správně vybrat souborový systém tak, aby vyhovoval jeho požadavkům. Čtenář by se měl seznámit s přehledem jak základních souborových systémů tak především i s moderními způsoby ukládání dat. LITERATURA [1] Peter,Norton; Harley, Hahn; Průvodce Unixem; Unis Publishing,1993, 562 ISBN 0-553-35260-1 [2] NEMETH,Evi; SNYDER, Garth; HEIN,R.,Trent. LINUX Kompletní příručka administratora. : Computer Press, 2004.828 s. ISBN 80-7226-919-4. [3] Data Corruption. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2004- [cit. 2012-11-20]. Dostupné z: http://en.wikipedia.org/wiki/data_corruption [4] List of File Systems. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2007- [cit. 2012-11-20]. Dostupné z: http://en.wikipedia.org/wiki/list_of_file_systems [5] Comparison of File systems. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2006- [cit. 2012-11-20]. Dostupné z: http://en.wikipedia.org/wiki/comparison_of_file_systems

Obsah 1 Začínáme... 6 1.1 Motivace... 6 2 Přehled souborových systémů... 8 2.1 Základní souborové systémy... 8 2.2 Souborové systémy s podporou žurnálů... 9 2.3 Pokročilé souborové systémy... 10 2.4 Shrnutí poznatků... 11 2.5 Ověření znalostí... 13 3 Pokročilé souborové systémy... 14 3.1 Úvod... 14 3.2 Copy on Write... 15 3.3 Snímky... 16 3.4 Deduplikace... 17 3.5 Komprese... 18 3.6 Zabezpečení dat... 19 3.7 Koncepty ukládání dat... 20 3.8 Btrfs - úvod... 24 3.9 Btrfs základní vlastnosti a limity... 25 3.10 Btrfs vytvoření souborového systému... 26 3.11 Btrfs správa souborového systému... 27 3.12 Btrfs pokročilé funkce... 28 3.13 ZFS úvod... 29 3.14 ZFS základní vlastnosti a limity... 30 3.15 ZFS vytvoření souborového systému... 31 3.16 ZFS správa souborového systému... 32 3.17 ZFS pokročilé funkce... 33 3.18 Porovnání Btrfs a ZSF... 36 3.19 Shrnutí poznatků... 37 3.20 Ověření znalostí... 38 4 Souborové systémy závěrečné cvičení... 39 4.1 Test... 39

1 Začínáme 1.1 Motivace Souborových systému je velmi mnoho, existuje jich více než 100. Přemýšleli jste v poslední době nad tím, kde všude jsou uložena vaše data a jak jsou organizována v pamětech různých zařízení? Pokud používáte zařízení, jakož jsou počítače, telefony, tablety, fotoaparáty jako běžný uživatel, asi si nelámete hlavu s tím, jaká technologie je zodpovědná za to, že svoje data máte kdykoliv přístupná. Naštěstí v dnešní době již většina počítačů používá souborové systémy, které používají alespoň základní mechanismy pro zajištění konzistence dat v případě výpadku napájení, nebo havárie systému. Podobně zase v případě telefonů a digitálních fotoaparátů, kde se používají pouze základní souborové systémy, není naštěstí velké riziko výpadku napájení a případná manipulace se soubory je vesměs bezpečná. Zpozornět byste ovšem měli v případě použití různých USB Flash pamětí nebo dalších medií pro transport dat. Zde bývá velmi často výrobcem před instalován nevhodný souborový systém, který je sice kompatibilní s velkou řadou zařízení, ale pro USB Flash disk zcela nevhodný a riziko ztráty dat je značné a to ve většině případů zcela zbytečně. V dalším textu si ukážeme přehled souborových systému a ukážeme si některé jejich vlastnosti. Dále se pak zaměříme především na moderní souborové systémy. I když budeme v textu psát o BRTFS a ZFS jako o souborových systémech, tak tyto systémy dalece překračují hranice souborových systému a nabízejí rozsáhlou funkcionalitu pro komplexní správu datových uložišť. O čem tento modul je. Cílem modulu je ukázat základní přehled souborových systémů a jejich vlastností. Modul je zaměřen na lokální souborové systémy. Velká pozornost je věnována moderním souborovým systémům BRTFS a ZFS. Popis vlastností různých technologií se bude vztahovat především na implementace v operačním systému Linux. O čem tento modul není. Tento modul nepojednává o fyzickém uložení dat. To znamená, že se nevěnuje různým typům pevných disků a jejich připojení do zařízení. Nejsou zde popsány technologie jako Hardwarový a Softwarový RAID (Redundant Array of

Independent Disks), či LVM (Logical Volume Management). Nicméně zde bude provedeno srovnání těchto technologií vůči moderním souborovým systémům. Není brán zřetel na případně odlišnou implementaci, funkčnost a výkon na jiných operačních systémech než je OS Linux, či OS Unix. Uvedené seznamy souborových systémů jsou pouze orientační a neposkytují kompletní přehled všech souborových systémů. Uváděny jsou povětšinou ty nejběžnější a nejzajímavější z nich. To samé platí i u výpisu vlastností jednotlivých souborových systémů. 7

2 Přehled souborových systémů 2.1 Základní souborové systémy Základní souborové systémy se vyznačují jednoduchou implementací bez důrazu na zabezpečení a konzistenci dat. Systémy jako FAT32 se používají i dnes v celé řadě zařízení díky jednoduché implementaci, licenční politice a velké kompatibilitě mezi zařízeními. Značnou nevýhodou těchto systémů jsou právě mechanismy pro zajištění konsistence dat. I přes zjevné nevýhody těchto souborových systémů jsou oblasti, kde nacházejí své uplatnění. Například v případě videokamer, fotoaparátů, tabletů a telefonů, není velké riziko výpadku napájení. Také nedochází k mnoha současným zápisům na medium. Proto je možné používat i takto jednoduché souborové systémy, aniž by hrozilo velké riziko poškození souborového systému. Přehled základních souborových systémů Souborový systém Maximální velikost Maximální velikost souboru FAT (FAT16) 2G (4GB) 2G (4GB) FAT32 2TB(16TB) 2G(4GB) exfat 127PB 512TB(64ZB) EXT2 32TB 2TB 8

2.2 Souborové systémy s podporou žurnálů Použití žurnálů a dalších metadat u těchto souborových systémům řeší problém se základní konzistencí dat. Nemůže tedy nastat situace, kdy by například při výpadku napájení došlo k pouze částečnému přepsání dat. A soubor by zůstal v nekonzistentním stavu. Tyto souborové systémy mají také podporu pro řízení přístupu k datům pomocí systému přístupových práv a podporují celou řadu dalších atributů. Konzistence souboru zde znamená, že na disku je uložena nepoškozená verze souboru. A to buď aktuální verze pokud nedošlo k potížím při zápisu, anebo předchozí verze souboru pokud se nějaké problémy vyskytly. Nedojde ovšem k situaci, kdy by byl soubor s části přepsán novými daty. Pravidlo je jednoduché: Buď všechno, anebo nic! Pozor na fakt, že tyto souborové systémy sice řeší základní konzistenci dat při zápisu na médium, ale existuje ještě možnost poškození dat v průběhu času. V angličtině se tento jev nazývá Silent Data Corruption. K tomuto poškození může dojít například degradací povrchu média, chybou při fyzickém zápisu na disk, působením kosmického záření apod. Zásadní problém je, že toto poškození se nijak neprojeví až do chvíle, kdy se snažíme daný soubor číst a ani potom nemusíme vědět o tom, že data, která čteme, neodpovídají těm, která jsme uložili. Ze statistik také vyplývá, že při zápisu cca 100TB dat vzniká 1 skrytá chyba. Při použití desktopových disků je tato pravděpodobnost dokonce 10krát vyšší. Také pozor na fakt, že tento problém nevyřeší ani diskové pole RAID s podporou redundance. Přehled souborových systémů s podporou žurnálů Souborový systém Maximální velikost Maximální velikost souboru NTFS 16EB 16EB EXT3 32TB 2TB EXT4 1EB 16TB RaiserFS(v3.5) 16TB 2GB RaiserFS(v3.6) 16TB 8TB 9

2.3 Pokročilé souborové systémy Tyto souborové systémy již překračují hranici souborových systémů, tak jak je známe. Přidávají podporů pro další technologie a nahrazují systémy, jakož jsou systémy RAID a LVM, systémy pro správu svazků a obsahují spoustu dalších užitečných technologií. Zde můžeme jmenovat například snímky, správu kvót, komprese, kontrola souborového systému na pozadí, Dynamická alokace inodů, apod. a samozřejmě nesmíme zapomenout na to, že definitivně řeší konzistenci dat. Tyto systémy řeší konzistenci dat, mimo jiné i pomocí kontrolních součtů a jsou proto schopny odhalit i skryté poškození dat. Navíc pokud používají technologie pro zabezpečení dat pomocí redundance zrcadlením dat, je souborový systém schopen na základě kontrolních součtů rozhodnout, která kopie dat je nepoškozena a tu následně použít pro automatickou opravu poškozených dat. Souborový systém Pokročilé souborové systémy Maximální velikost BRTFS 16EB 16EB ZFS 16EB 16EB Maximální velikost souboru 10

2.4 Shrnutí poznatků Existuje více než 100 různých souborových systémů, a je evidentní, že mezi nimi jsou naprosto zásadní rozdíly. Je to díky tomu, že řada systémů je navržena pro konkrétní využití. Následující seznam zachycuje několik vlastností, pro které jsou souborové systémy optimalizovány. Univerzální použití (tzn. celá řada kompromisů při optimalizaci souborového systému) Optimalizace pro práci s malými soubory (menší než 64KB) Optimalizace pro práci s velkými soubory (desítky až stovky GB) Zabezpečení konzistence Minimalizace nároků na systémové zdroje (CPU, paměť) Optimalizace rychlosti zápisu Optimalizace rychlosti čtení, vyhledávání apod. Jak je možné z předešlého seznamu tušit, je velmi obtížné, ne-li nemožné vytvořit souborový systém, který by dominoval ve všech oblastech. Vždy je to něco za něco. A záleží na konkrétní situaci, kterou vlastnost budeme potřebovat nejvíce a jakou si můžeme dovolit oželet. Při volbě souborového systému je proto třeba dbát především na to pro jaký typ práce byl souborový systém navržen, při nevhodně zvoleném souborovém systému, může dojít nejenom k několikanásobné degradaci výkonu, ale můžeme i neúměrně zvýšit riziko poškození dat. Souborové systémy také obsahují řadu limitujících faktů, mezi ty nejvýraznější z nich patří následující. Maximální velikost svazku (souborového systému) Maximální velikost souboru Maximální počet souborů v souborovém systém Maximální počet souborů v adresáři Podpora atributů a systém oprávnění 11

Výběru souborového systému je dobré věnovat adekvátní množství času, pozdější změna souborového systémů je sice možná, ale v řadě případů komplikovaná, nebo velmi těžko proveditelná. Ve většině případů je nutné konverzi provádět OFFLINE, což může být v případě produkčních systémů značná komplikace. Případně je nutné data dočasně uložit někde jinde, což v případě velkých uložišť může působit také značné problémy. 12

2.5 Ověření znalostí ŘEŠENÍ 1. Kde se můžete i dnes setkat se souborovým systém FAT32? 2. Jaký souborový systém naleznete na aktuální verzi MS Windows (verze 7)? 3. Jmenujte několik souborových systémů, jež můžete nalézt na platformě Linux. 4. Lze na souborový systém NTFS uložit vetší soubor než 2GB? 5. Stačí k zabezpečení dat redundance a využiti souborového systému s podporou žurnálů? 1. Souborový systém FAT32 se hojně používá u celé řady zařízení, kde je primárním zdrojem energie baterie. Díky tomu nehrozí velké riziko výpadku napájení a poškození dat. Mezi typické zástupce těchto zařízení patří: fotoaparáty, kamery, tablety, telefony, apod. 2. Systém MS Windows používá souborový systém NTFS. 3. Ext2, Ext3, Ext4, ReiserFS, Btrfs, XFS, JFS, HFS+, 4. Ano, na NTFS lze uložit soubor o velikosti až 16EB. 5. Ne, k poškození dat může dojít z celé řady příčit, které nejsou schopné standardní mechanismy postihnout (Silent Data Corruption). Jedna z možností jak lépe zabezpečit data, je k redundanci dat a žurnálům přidat ještě kontrolní součty bloků dat a provádět jejich automatickou kontrolu a opravu viz souborový systém ZFS. 13

3 Pokročilé souborové systémy 3.1 Úvod Moderní souborové systémy přinášejí řadu nových vlastností. Řada z nich nyní nahrazuje technologie používané v rámci jiných systémů jakožto RAID a LVM. Mezi důležité vlastnosti patří online změna velikosti svazku a souborového systému, podpora snímků (snapshot), redundance, případně deduplikace dat. Samozřejmě nesmíme zapomenout na konzistenci dat, kontrolní a samo opravné mechanismy. Tyto moderní systémy jsou dnes ve většině případů založené na principu CoW (Copy on Write). 14

3.2 Copy on Write Jedná se o technologii, kdy pokud chce více procesů přistupovat k datům, pak je jim předán pouze odkaz na sdílená data. V případě, kdy jeden z procesů potřebuje data modifikovat, je vytvořena kopie modifikované části dat, která od této chvíle patří danému procesu. A co více, stále zde existuje možnost sdílet původní data mezi procesy včetně procesu, který data modifikoval, i když má vlastní kopii modifikovaných dat. Obrázek popisuje způsob jakým je zajištěna konzistence dat u modelu CoW. Pokud je třeba modifikovat data, pak jak si můžete všimnout, nejprve dojde ke kopírování datových bloků, poté se upraví reference na daná data v jednotlivých uzlech a úplně nakonec dojde k vlastní úpravě hlavního uzlu. Jak je na obrázku naznačeno původní data se udržují až do změny hlavního uzlu. Díky tomu je možné zajistit konzistenci dat. Operace, při níž dochází k modifikaci hlavního uzlu, je již atomická. To znamená, že máme buď k dispozici původní data, anebo po modifikaci hlavního uzlu data nová. V obou případech máme data v neporušené a tudíž konzistentní formě. Modifikace dat v režimu CoW 15

3.3 Snímky Snímky (Snapshot) umožňují vytvářet kopie svazků v čase, kdy byl snímek vytvořen. Samozřejmě, že v tomto případě nedochází, ke kopírování celého svazku, ale využívá se právě mechanismu CoW. Výhodou snímku je, že zabírá mnohonásobně méně místa než původní souborový systém a to i přes to že obsahuje jeho kompletní kopii. To je způsobeno tím, že velikost snímku závisí pouze na datech, která se od vytvoření snímku změnila. Snímky mají v dnešních systémech velmi široké uplatnění a proto je velice důležitý způsob jak jsou implementovány a jakým způsobem ovlivňují výkon celého diskového systému. Například implementace snímků v Linuxové verzi systému LVM2 není zrovna šťastná, ač se používá také modelu CoW. S přibývajícím počtem snímků dochází k dramatickému poklesu výkonu. V tomto případě dokonce stačí počet snímků v řádu jednotek. Oproti tomu implementace snímkování v ZFS a Btrfs, nedegraduje znatelně výkon systému, a je možné současně uchovávat třeba i stovky snímků souborového systému. Pozor na fakt, že vytváření snímků není zálohování, je to pouze velmi dobrý způsob jak uchovávat více verzí dat. Je důležité si uvědomit, že díky principům CoW snímky sdílejí většinu datových bloků a proto při poškození bloku dojde k poškození i napříč diskovými snímky. 16

3.4 Deduplikace Deduplikace dat, je dnes velmi moderní téma. Ať už na poli serverů nebo i domácích počítačů je velkým problémem skutečnost, že postupem času dochází k vytváření kopií více méně stále stejných dat. S tímto problémem se dokáže elegantně vypořádat právě deduplikace dat. Představte si třeba dnešní rozmach virtualizace. Pokud se zaměříte na data, jaká jsou ukládána na uložišti, je celkem evidentní, že pokud máte například virtualizovaných deset serverů, které používají stejný operační systém, tak máte na disku desetkrát stejná data. A právě deduplikace dat, se dokáže s tímto problémem více než elegantně vypořádat. Překážkou není ani to, pokud se soubory od sebe částečně liší. Deduplikace se provádí na základě datových bloků a ne celých souborů. Obrázek ukazuje, jak funguje deduplikace na úrovni jednotlivých datových bloků. Mějme například tři soubory, ve kterých jsou některé datové bloky stejné. Je evidentní, že by bylo možné uložit data chytřeji a to tak, že každý blok bude uložen pouze jednou a soubory ponesou reference na dané bloky. V případě modifikace dat v souboru se jednoduše vytvoří kopie datového bloku (CoW) a reference se změní na nově vytvořený blok. Ostatních souborů se tato změna nijak nedotkne. Deduplikace dat To že deduplikace dat vede k úspoře místa v uložišti je jasné. To kolik místa se uspoří, závisí pouze a jenom na tom, jaká data jsou ukládána. Velké uplatnění nachází při virtualizaci serverů, zálohování a archivaci dat, kde může být úspora místa několikanásobná. 17

3.5 Komprese Komprese dat je další osvědčený způsob jak redukovat potřebné místo pro uložení informací. Výhodou moderních souborových systémů je právě podpora online komprese souborů. Což znamená, že uživatel používá uložiště tak jak je zvyklý a ke kompresi dochází zcela automaticky. Komprese souborů neprobíhá bezhlavě u všech souborů, ale například souborový systém Btrfs je schopen otestovat zda má komprese u daného souboru smysl a provádí kompresi pouze u komprimovatelných soborů. Mohlo by se zdát, že komprese zpomalí přístup k uložišti, ale opak je pravdou za předpokladu, že máme k dispozici dostatečný výpočetní výkon. Tím, že procesor dokáže komprimovat a dekomprimovat data rychleji než je dokáže zapisovat uložiště, docílíme efektu, kdy je zápis a čtení rychlejší než v případě nekomprimovaných dat. Nárůst rychlost je zde přímo úměrný kompresnímu poměru souborů. 18

3.6 Zabezpečení dat Moderní souborové systémy dokáží nahradit i technologie RAID. V tomto případě se nebavíme o softwarové podobě RAID, ale přímo o implementaci redundance v rámci souborových systémů. Standardní technologie RAID trpí jedním zásadním nedostatkem, a to je absence kontrolních součtů u uložených dat. Může se tak velice snadno stát, že v průběhu času dojde k poškození dat, které bohužel nedokáže technologie RAID vyřešit, protože nelze rozhodnout, která kopie dat je v pořádku a může se snadno stát, že dobrá data jsou přepsána poškozenými. To vše řeší moderní souborové systémy přidáním kontrolních součtů k jednotlivým blokům dat. Pokud jsou navíc data chráněna redundancí, je možné nejenom poznat, že došlo k poškození dat, ale je možné ihned data automaticky opravit. Díky kontrolním součtům je samozřejmě možné ihned rozhodnout, která z kopií dat je v pořádku a touto kopií se následně nahradí poškozená data. 19

3.7 Koncepty ukládání dat Pevný disk Starší koncepce jsou založeny buď na alokaci konkrétního diskového prostoru, kdy se souborový systém vytváří přímo na pevném disku, anebo na oddílu pevného disku. V tomto případě samozřejmě není možné v budoucnosti rozšířit úložný prostor. Souborový systém na pevném disku Svazky (Volumes) Svazky jsou vytvářeny například technologiemi RAID a LVM. Souborové systémy jsou pak vytvářeny nad těmito svazky. Práce se svazky je v operačním systému shodná s prací s disky. Souborové systémy na svazcích Samozřejmě je možné na konkrétním disku nebo svazku alokovat prostor pro více souborových systémů. Případně je možné nad sadou disků vytvořit více logických svazků. Co se stane pokud bude chtít rozšířit kapacitu uložište? 20

Přídání disku do svazku Přidání disků je velmi jednoduché. Technologie RAID i LVM podporuje přidávání dalších disků, případně i automatické zvětšení svazků, ale záleží především na tom, zda použitý souborový systém podporuje zvětšení kapacity uložiště. Odebrání disku? Zmenšení uložiště? Odebrání disku ze svazku LVM, případně některé implementace polí RAID umožňují zmenšení uložiště a odebrání disku. V tomto případě opět záleží hlavně na tom, zda používaný souborový systém podporuje zmenšení kapacity. V tomto případě více než kdy jindy je potřeba záloha všech dat před tím, než se do zmenšování uložiště pustíte. Slabé místo těchto konceptů je skutečnost, že prostor pro souborové systémy je pevně rozdělen, a pokud je na některém z nich vyčerpán diskový prostor a jiný, je téměř nevyužity, pak je možné re alokovat zdroje pouze off-line přerozdělením diskového prostoru a to jen za předpokladu, že použitý souborový systém takovouto změnu umožňuje. Ještě větší problém způsobí potřeba změnit uspořádání nebo velikost svazku. S tím je sice částečně počítáno při navyšování 21

kapacity u technologií RAID a LVM, ale pokud budeme chtít provézt nějaké jiné změny, s největší pravděpodobností to nebude možné, a rozhodně to nebude možné provést on-line. Sdílený prostor (Pool) Souborové systémy ve sdíleném prostoru Tento způsob alokace diskového prostoru přináší velkou řadu výhod. Odpadá problém s realokací prostoru. V dalším textu se zaměříme především na vlastnosti souborového systému ZFS, v případě systému BTRFS, jsou některé vlastnosti teprve ve vývoji. V tomto případě je pojem svazku trošku odlišný. Zásadní výhodou je, že veškerý prostor je sdílený a pokud je potřeba, aby byl nějaký přípojný bod (v dřívějším kontextů možné chápat jakou souborový systém, nebo svazek) menší než celý alokovaný prostor, je zde systém kvót, který toto zabezpečuje. Je evidentní, že pokud je velikost řešena systémem kvót je možné jednoduše velikost měnit a to jak směrem nahoru tak I dolu, vše samozřejmě online. Také je možné pracovat bez kvót a pak všechny přípojné body sdílejí veškerý dostupný prostor. Je jen na uživateli zda vytvoří uvnitř sdíleného prostoru svazek s nastavenou kvótou nebo ne a samozřejmě i později je možné kvótu vytvořit nebo odstranit. Je zajímavé sledovat souborový systém ZFS při práci, speciálně velikost souborového systému, která se mění podle toho, jaká data jsou ukládána a dle toho jaké funkce jsou využívány. 22

Přidání disku do sdíleného prostoru Přidání disků je také velmi jednoduché. Jednoduše se přidají do sdíleného souboru a tím dojde okamžitě ke zvětšení kapacity, která je ihned dostupná v celém systému. Nic víc není potřeba Odebrání disku ze sdíleného prostoru Je možné odebrat disk ze sdíleného prostoru? V případě ZFS to je možné pouze u konfigurací, kde je použita disková redundance dat. Při odebírání disku, nesmí dojít k narušení funkčnosti. V případě systému BTRFS je možné odebrat disk z jakékoli konfigurace a jediná podmínka je, že se data musí po odebrání disku na uložiště vejít. 23

3.8 Btrfs - úvod V této části se budeme zabývat souborovým systémem Btrfs. Za jeho vývojem stojí firmy Oracle, Red Hat, Fujitsu, Intel, SUSE, STRATO a mnoho dalších. Co je na tomto souborovém systému velmi důležité, je fakt, že jeho vývoj probíhá pod GPL licencí a jedná se o snahu vyvinout souborový systém, který bude podporovat celou řadu funkcí z enterprise oblasti. Je důležité upozornit na fakt, že souborový systém Btrfs je teprve ve vývoji, a i když je ve stádiu kdy je možné ho s jistou ostražitostí provozovat, není doporučován pro produkční nasazení. Při vytváření souborového systému budete varováni následujícím způsobem. WARNING! - Btrfs Btrfs v0.19 IS EXPERIMENTAL WARNING! - see http://btrfs.wiki.kernel.org before using V linuxovém jádře se tento souborový systém uchytil od verze jádra 2.6.29. Pro použití souborového systému Btrfs je doporučováno používat úplně nejnovější verzi jádra, vzhledem k velkému množství průběžně opravovaných chyb. 24

3.9 Btrfs základní vlastnosti a limity Následující tabulka zachycuje základní limity a vlastnosti souborového systému Btrfs. Stejná tabulka vlastností bude použita i pro souborový systém ZFS Vlastnosti souborového systému Btrfs Vlastnost Licence Hodnota GPL Uvedeno 06/2009 Stabilní verze Zatím nevydána Podpora v Linuxu ANO - od jádra verze 2.6.29 Způsob alokace prostoru CoW (Copy on Write) Maximální velikost svazku 16 EiB (2^64 B) Maximální velikost souboru Maximální počet souborů Maximální délka jména souboru Systém oprávnění Podpora komprese Podpora kvót Podpora více zařízení RAID Podpora deduplikace Podpora šifrování Podpora redundance na jednom zařízení Zabezpečení konzistence Dynamická alokace Inodů Kontrola konzistence na pozadí Podpora snímků Metoda vytváření snímků Maximální počet snímků Závislost na /etc/fstab 16 EiB 2^64 255 B POSIX ANO ANO ANO NE (ve vývoji) NE (ve vývoji) NE Kontrolní součet crc32c (Data, Metadata) ANO ANO ANO CoW Neomezeno (2^64) ANO 25

3.10 Btrfs vytvoření souborového systému Pro vytvoření souborového systému Btrfs slouží nástroj mkfs.btrfs. Následující tabulka zachycuje ty nejdůležitější parametry. Parametr Význam -L Jmenovka svazku Nejdůležitější parametry mkfs.btrfs -m Profil ukládání metadat (raid0, raid1, raid10, dup, single) -d Profil ukládání dat (raid0, raid1, raid10, dup, single) Příklad vytvoření svazku Btrfs s použitím výše uvedených parametrů. Vytvoříme svazek pojmenovaný MyFSName, kde data i metadata budou uložena redundantně metodou zrcadlení (raid1). mkfs.btrfs L MyFSName -m raid1 d raid1 /dev/sdb /dev/sdc Práci s tímto systémem stěžuje fakt, že běžně používané nástroje nepracují se systémem Btrfs zcela korektně. Například nástroj df zcela špatně ukazuje velikost a využití diskového prostoru při použití refundace a sestavení pole raid1. Systém reportuje celkovou kapacitu disků namísto skutečného prostoru pro data. 26

3.11 Btrfs správa souborového systému Vytvořením souborového systému je ovšem pouze začátek a až později se projeví silné stránky systému Btrfs. Celkem typická situace nastává, pokud na svazku začíná docházet místa a danou situaci je třeba vyřešit. Se souborovým systémem Btrfs je řešení více než jednoduché. Rozšíření uložiště přidáním dalšího disku. btrfs add device /dev/sdc /dev/sdd /mnt/mybtrfs Tímto jednoduchým příkazem jsme přidali další 2 disky do našeho svazku, který navíc není třeba ani odpojovat, vše proběhne Online a extra kapacita je ihned k dispozici. Vše jen podtrhne skutečnost, že pokud náš systém podporuje HotSwap disky, tak není samozřejmě nutné kvůli přidání dalších disků vypínat systém. To bylo přidání dalších disků do systému a rozšíření kapacity, to v dnešní době zvládne i celá řada jednodušších a mnohem starších souborových systémů. Jak se změní situace, pokud budeme chtít nějaký pevný disk ze systému odebrat? Přeci jenom toto je operace, kterou běžný souborový systém nepodporuje, a pokud ano, pak většinou není možné provádět tuto operaci Online. Zmenšení svazku a odebrání pevného disku ze systému. btrfs delete device /dev/sdb /mnt/mybtrfs Jak vidíte Btrfs si s odebráním disku poradí úplně stejně jednoduše, jako když disk přidáváme, tato operace ovšem bude trvat o mnoho déle, pokud jsou totiž na disku data, tak se musejí nejprve přemístit na ostatní disky a to vše za předpokladu, že pro data je na ostatních discích dostatek místa. V případě souborového systému Btrfs je také možné měnit jeho strukturu a to opět online. Je tedy možné například přidat další disk a aktivovat redundaci raid1 jak pro metadata tak pro data. Konverzi souborového systému provedeme zadáním následujícího příkazu. btrfs balance start -dconvert=raid1 -mconvert=raid1 /mnt/mybtrfs/ Pozor na fakt, že pokud se pro metadata používa formát duplicate nedojde ke konverzi metadat na raid1. Stejně tak, je třeba výsledek každého příkazu ověřit, vzhledem k faktu, že implementace Btrfs stále obsahuje množství chyb, není zaručeno, že příkazy zafungují dle dokumentace. 27

3.12 Btrfs pokročilé funkce Komprese souborů Kompresi souborů na svazku Btrfs zapneme jednoduše pomocí příkazu: mount -o subvol=data -o compress /dev/sda /mnt/btrfs/data Od této chvíle jsou nově zapisované soubory komprimovány, vše za předpokladu, že komprese má smysl. Nekomprimují se například již komprimované soubory. Mohlo by se na první pohled zdát, že komprese zpomalí přístup k disku, pokud ovšem máme k dispozici dostatek výpočetního výkonu, je efekt právě opačný a to znatelný nárůst výkonu přístupu k souborům, které je možné dobře komprimovat. Toto platí obecně pro kompresi souborového systému. Snímky Velmi užitečnou vlastností Btrfs je podpora snímků. Snímky umožňují zachytit stav souborového systému v určitém čase. Vytvoření snímku svazku /mnt/btrfs/data. Sdílený prostor Btrfs je připojen v adresáři /mnt/btrfs/. Snímek vytvoříme jednoduše následujícím příkazem. K připojení snímku dojde automaticky. btrfs subvolume snapshot /mnt/btrfs/data /mnt/btrfs/snímek Rollback (Navrácení změn provedených na svazku až do momentu kdy byl proveden snímek svazku) lze provézt odstraněním původního svazku a přejmenováním snímku tohoto svazku, tak aby jméno odpovídalo původnímu svazku. btrfs subvolume delete /mnt/btrfs/data mv /mnt/btrfs/snimek /mnt/btrfs/data 28

3.13 ZFS úvod V této části se budeme zabývat souborovým systémem ZFS (Zeta File System). Za jeho vývojem stojí firma Oracle (dříve Sun Microsystems). Sysrém je dostupný pod licencí CDDL (Common Development and Distribution License). Jedná se o vyspělý enterprise souborový systém, který vzniknul v rámci operačního systému Solaris. Souborový systém ZFS není součástí Linuxového jádra. Pro instalaci podpory systému ZFS je třeba použít například projekt ZFS on Linux. Na stránkách projektu je k dispozici vše potřebné pro provozování ZFS na platformě Linux. Jmenovitě je to vlastní instalace souborového systému ZFS a pak také instalace adaptační vrstvy SPL. Pozor také na fakt, že tato verze ZFS se liší od oficiální verze pro operační systém Solaris. 29

3.14 ZFS základní vlastnosti a limity Následující tabulka zachycuje základní limity a vlastnosti souborového systému ZFS. Vlastnosti souborového systému ZFS Vlastnost Licence Hodnota CDDL Uvedeno 10/2005 Stabilní verze Podpora v Linuxu Způsob alokace prostoru Ano ANO - Projekt ZFS on Linux CoW (Copy on Write) Maximální velikost svazku 16 EiB (2^64 B) Maximální velikost souboru Maximální počet souborů Maximální délka jména souboru Systém oprávnění Podpora komprese Podpora kvót Podpora více zařízení RAID Podpora deduplikace Podpora šifrování Podpora redundance na jednom zařízení Zabezpečení konzistence Dynamická alokace Inodů Kontrola konzistence na pozadí Podpora snímků Metoda vytváření snímků Maximální počet snímků Závislost na /etc/fstab 16 EiB 2^64 255 B POSIX ANO ANO ANO ANO ANO ANO Kontrolní součet bloků (Fletcher, SHA-2 ) ANO ANO (Automatická) ANO CoW Neomezeno (2^64) NE 30