GNU/Linux >> Znalost Linux >  >> Linux

Co je ZFS? Proč do toho lidé šílí?

Dnes se podíváme na ZFS, pokročilý souborový systém. Budeme diskutovat o tom, odkud pochází, co to je a proč je tak populární mezi techniky a podniky.

I když jsem z USA, raději to vyslovuji ZedFS místo ZeeFS, protože to zní chladněji. Můžete jej volně vyslovovat, jak chcete.

Poznámka:ZFS uvidíte v článku mnohokrát opakované. Když mluvím o funkcích a instalaci, mluvím o OpenZFS. ZFS (vyvinutý společností Oracle) a OpenZFS se od doby, kdy Oracle ukončil OpenSolaris, vydaly různými cestami. (Více o tom později.)

Historie ZFS

Systém souborů Z (ZFS) vytvořili Matthew Ahrens a Jeff Bonwick v roce 2001. ZFS byl navržen jako souborový systém nové generace pro OpenSolaris společnosti Sun Microsystems. V roce 2008 byl ZFS portován na FreeBSD. Ve stejném roce byl zahájen projekt portování ZFS na Linux. Protože je však ZFS licencován pod Common Development and Distribution License, která není kompatibilní s GNU General Public License, nelze jej zahrnout do linuxového jádra. Chcete-li tento problém obejít, většina distribucí Linuxu nabízí způsoby instalace ZFS.

Krátce poté, co Oracle koupil Sun Microsystems, se OpenSolaris stal blízkým zdrojem. Veškerý další vývoj ZFS se stal také uzavřeným zdrojem. Mnoho vývojářů ZFS je z tohoto obratu nešťastných. Dvě třetiny hlavních vývojářů ZFS, včetně Ahrense a Bonwicka, opustily Oracle kvůli tomuto rozhodnutí. Připojili se k dalším společnostem a v září 2013 vytvořili projekt OpenZFS. Projekt stál v čele vývoje ZFS s otevřeným zdrojovým kódem.

Vraťme se k výše zmíněnému problému s licencí. Protože je projekt OpenZFS oddělený od Oracle, někteří se pravděpodobně diví, proč nezmění licenci na něco, co je kompatibilní s GPL, aby to mohlo být zahrnuto do jádra Linuxu. Podle webu OpenZFS by změna licence zahrnovala kontaktování kohokoli, kdo přispěl kódem do aktuální implementace OpenZFS (včetně počáteční, běžný kód ZFS do OpenSolaris) a získejte jejich povolení ke změně licence. Protože je tato práce téměř nemožná (protože někteří přispěvatelé mohou být mrtví nebo je těžké je najít), rozhodli se ponechat si licenci, kterou mají.

Co je ZFS? Jaké jsou jeho vlastnosti?

Jak jsem již řekl, ZFS je pokročilý souborový systém. Jako takový má několik zajímavých funkcí. Například:

  • Společné úložiště
  • Kopírování při zápisu
  • Snímky
  • Ověření integrity dat a automatická oprava
  • RAID-Z
  • Maximální velikost souboru 16 exabajtů
  • Maximálně 256 kvadrilionů zettabajtů úložiště

Pojďme si pár těchto funkcí rozebrat.

Společné úložiště

Na rozdíl od většiny systémů souborů kombinuje ZFS funkce systému souborů a správce svazků. To znamená, že na rozdíl od jiných souborových systémů může ZFS vytvořit souborový systém, který se rozprostírá přes řadu jednotek nebo fond. Nejen to, ale můžete přidat úložiště do fondu přidáním dalšího disku. ZFS se postará o rozdělení a formátování.

Kopírování při zápisu

Další zajímavou (a skvělou) funkcí je kopírování při zápisu. Ve většině souborových systémů, když jsou data přepsána, jsou navždy ztracena. Na ZFS jsou nové informace zapsány do jiného bloku. Po dokončení zápisu se metadata systému souborů aktualizují, aby ukazovala na nové informace. Tím je zajištěno, že pokud během zápisu dojde k pádu systému (nebo k něčemu jinému), stará data zůstanou zachována. Znamená to také, že systém nemusí po zhroucení systému spouštět fsck.

Snímky

Kopírování při zápisu vede do další funkce ZFS:snímků. ZFS používá snímky ke sledování změn v systému souborů. „Snímek obsahuje původní verzi souborového systému a živý souborový systém obsahuje veškeré změny provedené od pořízení snímku. Není použit žádný další prostor. Jak jsou do živého souborového systému zapisována nová data, jsou pro ukládání těchto dat přiděleny nové bloky. Pokud je soubor odstraněn, je odstraněn i odkaz na snímek. Snímky jsou tedy určeny především ke sledování změn v souborech, nikoli však přidávání a vytváření souborů.

Snímky lze připojit jako pouze pro čtení a obnovit tak předchozí verzi souboru. Je také možné vrátit zpět živý systém na předchozí snímek. Všechny změny provedené od snímku budou ztraceny.

Ověření integrity dat a automatická oprava

Kdykoli jsou do ZFS zapsána nová data, vytvoří pro tato data kontrolní součet. Když jsou tato data přečtena, kontrolní součet se ověří. Pokud se kontrolní součet neshoduje, pak ZFS ví, že byla zjištěna chyba. ZFS se poté automaticky pokusí chybu opravit.

RAID-Z

ZFS si poradí s RAID bez nutnosti dalšího softwaru nebo hardwaru. Není překvapením, že ZFS má vlastní implementaci RAID:RAID-Z. RAID-Z je vlastně varianta RAID-5. Je však navržen tak, aby překonal chybu děr při zápisu RAID-5, „při které se data a informace o paritě stanou nekonzistentní po neočekávaném restartu“. Pro použití základní úrovně RAID-Z (RAID-Z1) potřebujete alespoň dva disky pro úložiště a jeden pro paritu. RAID-Z2 vyžadoval alespoň dvě úložné jednotky a dvě jednotky pro paritu. RAID-Z3 vyžaduje alespoň dvě úložné jednotky a tři jednotky pro paritu. Když jsou jednotky přidány do fondů RAID-Z, musí být přidány v násobcích dvou.

Obrovský úložný potenciál

Když byl ZFS vytvořen, byl navržen jako poslední slovo v souborových systémech. V době, kdy byla většina souborových systémů 64bitových, se tvůrci ZFS rozhodli skočit přímo na 128bitový, aby to dokázali v budoucnu. To znamená, že ZFS „nabízí 16 miliard miliardkrát větší kapacitu než 32bitové nebo 64bitové systémy“. Jeff Bonwick (jeden z tvůrců) ve skutečnosti řekl, že napájení „plně zaplněného 128bitového úložiště by doslova vyžadovalo více energie než vaření oceánů.“

Jak nainstalovat ZFS?

Pokud chcete používat ZFS ihned po vybalení, vyžadovalo by to instalaci buď FreeBSD, nebo operačního systému využívajícího jádro illumos. illumos je fork jádra OpenSolaris.

Ve skutečnosti je podpora ZFS jedním z hlavních důvodů, proč se někteří zkušení uživatelé Linuxu rozhodnou pro BSD.

Pokud chcete vyzkoušet ZFS na Linuxu, můžete jej použít jako systém souborů úložiště. Nedávno Ubuntu 19.10 zavedlo možnost nainstalovat ZFS do vašeho rootu ihned po vybalení. Přečtěte si více o používání ZFS na Ubuntu. Pokud máte zájem vyzkoušet ZFS na Linuxu, projekt ZFS na Linuxu má řadu návodů, jak na to.

Upozornění

Tento článek opěvuje výhody ZFS. Nyní vám řeknu rychlý problém se ZFS. Používání RAID-Z může být drahé kvůli počtu disků, které musíte zakoupit, abyste přidali úložný prostor.

Použili jste někdy ZFS? Jaká byla vaše zkušenost? Dejte nám vědět v komentářích níže.

Pokud vás tento článek zaujal, věnujte prosím chvíli jeho sdílení na sociálních sítích, Hacker News nebo Redditu.



Linux
  1. Co jsou řídké soubory v Linuxu

  2. K čemu slouží soubor .la libtool?

  3. Co je soubor .so.2?

  1. Jaké příkazy chybí ve vašem souboru bashrc?

  2. Co je soubor .so?

  3. Jaké příkazy jsou dostupné v sekci %pre souboru Kickstart na CentOS?

  1. Jaká jsou legitimní použití příkazu `touch`?

  2. Co dělá Exec 3?

  3. Proč Ls a Hexdump nesouhlasí s velikostí souboru?