ZFS: Koncepty a výuka
Na vaší cestě k integritě dat pomocí OpenZFS je nevyhnutelné. Ve skutečnosti by bylo docela nešťastné, pokud pro ukládání vašich cenných dat používáte cokoli jiného než ZFS. Mnoho lidí se však zdráhá to vyzkoušet. ZFS musí být obtížně použitelný a spravovatelný, protože podnikový souborový systém se širokou škálou funkcí zabudovaných do něj. Nic nemůže být dále od pravdy. Používání ZFS je tak snadné, jak to jen jde. Díky hrstce terminologií a ještě menšímu počtu příkazů jste připraveni použít ZFS kdekoli - od podnikového po domácí / kancelářské NAS.
Slovy tvůrců ZFS: „Chceme, aby přidání úložiště do vašeho systému bylo stejně snadné jako přidávání nových pamětí RAM.“
O tom, jak se to děje, uvidíme později. Budu používat FreeBSD 11.1 k provedení níže uvedených testů jsou příkazy a základní architektura podobné pro všechny distribuce Linuxu, které podporují OpenZFS.
Celý zásobník ZFS lze rozložit do následujících vrstev:
- Poskytovatelé úložišť - rotující disky nebo SSD
- Vdevs - Seskupení poskytovatelů úložišť do různých konfigurací RAID
- Zpools - agregace vdevs do jednoho fondu úložišť
- Z-Filesystems - datové sady se skvělými funkcemi, jako je komprese a rezervace.
Zpool vytvořit
Začněme s nastavením, kde máme šest 20GB disků ada [1-6]
$ ls -al / dev / ada?
The ada0 je místo, kde je nainstalován operační systém. Zbytek bude použit pro tuto demonstraci.
Názvy vašich disků se mohou lišit v závislosti na typu použitého rozhraní. Typické příklady zahrnují: da0, ada0, acd0 a CD. Při pohledu dovnitř/ devvám poskytne představu o tom, co je k dispozici.
A zpool je vytvořen zpool vytvořit příkaz:
$ zpool vytvořit OurFirstZpool ada1 ada2 ada3 # A poté spusťte následující příkaz: $ zpool status
Uvidíme čistý výstup, který nám poskytne podrobné informace o fondu:
Toto je nejjednodušší zpool bez redundance nebo odolnosti proti chybám ... Každý disk má svůj vlastní vdev.
Stále však získáte veškerou dobrotu ZFS jako kontrolní součty pro každý uložený datový blok, takže můžete alespoň zjistit, zda se data, která jste uložili, poškozují.
Filesystems, a.k.datové sady, lze nyní vytvořit nad tímto fondem následujícím způsobem:
$ zfs vytvoří OurFirstZpool / datovou sadu1
Nyní použijte své známé df -h příkaz nebo spuštění:
$ zfs seznam
Chcete-li zobrazit vlastnosti nově vytvořeného souborového systému, postupujte takto:
Všimněte si, jak je pro souborový systém k dispozici celý prostor nabízený třemi disky (vdevs). To bude platit pro všechny souborové systémy, které ve fondu vytvoříte, pokud neurčíme jinak.
Pokud chcete přidat nový disk (vdev), ada4, můžete tak učinit spuštěním:
$ zpool přidat OurFirstZpool ada4
Nyní, pokud vidíte stav vašeho souborového systému
Dostupná velikost nyní narostla, aniž by docházelo k potížím s rozšiřováním oddílu nebo zálohováním a obnovou dat v souborovém systému.
Virtuální zařízení - Vdevs
Vdevs jsou stavebními kameny zpoolu, většina redundance a výkonu závisí na způsobu, jakým jsou vaše disky seskupeny do těchto, takzvaných, vdevs . Podívejme se na některé z nejdůležitějších typů vdevs:
1. RAID 0 nebo pruhy
Každý disk funguje jako svůj vlastní vdev. Žádná redundance dat a data se šíří mezi všechny disky. Také známý jako prokládání. Selhání jednoho disku by znamenalo, že se celý zpool stane nepoužitelným. Použitelné úložiště se rovná součtu všech dostupných úložných zařízení.
První zpool, který jsme vytvořili v předchozí části, je pole RAID 0 nebo pruhované úložiště.
2. RAID 1 nebo Mirror
Data se zrcadlí mezi ndisky. Skutečná kapacita vdev je omezena hrubou kapacitou nejmenšího disku v tom n-diskové pole. Data se zrcadlí mezi n disky, to znamená, že vydržíte selhání n-1 disky.
Chcete-li vytvořit zrcadlené pole, použijte klíčové slovo mirror:
$ zpool vytvořit zrcadlo nádrže ada1 ada2 ada3
Data zapsána do nádrž zpool bude zrcadlen mezi těmito třemi disky a skutečné dostupné úložiště se rovná velikosti nejmenšího disku, který je v tomto případě asi 20 GB.
V budoucnu možná budete chtít do tohoto fondu přidat další disky a můžete udělat dvě možné věci. Například zpool nádrž má tři disky zrcadlení dat jako jediné vdev mirror-0:
Možná budete chtít přidat další disk ada4, zrcadlit stejná data. To lze provést spuštěním příkazu:
$ zpool připojit nádrž ada1 ada4
To by přidalo další disk k vdev, který již disk má ada1 v něm, ale nezvyšuje dostupné úložiště.
Podobně můžete odpojit disky od zrcadla spuštěním:
$ zpool odpojit nádrž ada4
Na druhou stranu možná budete chtít přidat další vdev, abyste zvýšili kapacitu zpoolu. To lze provést pomocí příkazu zpool add:
$ zpool přidat zrcadlo nádrže ada4 ada5 ada6
Výše uvedená konfigurace by umožnila prokládání dat přes vdevs mirror-0 a mirror-1. V tomto případě můžete přijít o 2 disky na každý vdev a vaše data budou stále neporušená. Celkový využitelný prostor se zvýší na 40 GB.
3. RAID-Z1, RAID-Z2 a RAID-Z3
Pokud je vdev typu RAID-Z1, musí používat alespoň 3 disky a vdev může tolerovat zánik pouze jednoho z těchto disků. Konfigurace RAID-Z neumožňují připojovat disky přímo k vdev. Ale můžete přidat další vdevs, pomocí zpool přidat, tak, aby se kapacita bazénu mohla neustále zvyšovat.
RAID-Z2 by vyžadoval alespoň 4 disky na vdev a může tolerovat až 2 selhání disku a pokud třetí disk selže před výměnou 2 disků, dojde ke ztrátě cenných dat. Totéž platí pro RAID-Z3, který vyžaduje alespoň 5 disků na vdev, s až 3 disky s tolerancí selhání, než se obnova stane beznadějnou.
Vytvořme fond RAID-Z1 a rozšiřme jej:
$ zpool vytvořit tank raidz1 ada1 ada2 ada3
Fond používá tři disky 20 GB, což uživateli poskytuje 40 GB.
Přidání dalšího vdev by vyžadovalo 3 další disky:
$ zpool přidat tank raidz1 ada4 ada5 ada6
Celková použitelná data jsou nyní 80 GB a můžete přijít až o 2 disky (jeden od každého vdev) a stále máte naději na zotavení.
Závěr
Nyní o ZFS víte dost na to, abyste do něj s důvěrou importovali všechna svá data. Od této chvíle můžete vyhledávat různé další funkce, které ZFS poskytuje, například použití vysokorychlostních NVM pro mezipaměti pro čtení a zápis, použití vestavěné komprese pro vaše datové sady a místo toho, abyste byli zahlceni všemi dostupnými možnostmi, prostě hledejte, co potřebujete pro svůj konkrétní případ použití.
Mezitím existuje několik dalších užitečných tipů ohledně výběru hardwaru, které byste měli dodržovat:
- Nikdy nepoužívejte hardwarový řadič RAID se ZFS.
- Chyba opravující RAM (ECC) se doporučuje, ale není povinná
- Funkce deduplikace dat spotřebovává hodně paměti, místo toho použijte kompresi.
- Redundance dat není alternativou pro zálohování. Máte více záloh, ukládejte je pomocí ZFS!