ZFS: Koncepty a príručka
Pri hľadaní integrity údajov pomocou OpenZFS sa nedá vyhnúť. V skutočnosti by bolo dosť nešťastné, ak na ukladanie svojich cenných údajov používate čokoľvek okrem ZFS. Mnoho ľudí sa však zdráha vyskúšať to. ZFS musí byť ťažko použiteľný a spravovateľný z dôvodu, že podnikový súborový systém so širokou škálou funkcií doň zabudovaných. Nič nemôže byť ďalej od pravdy. Používanie ZFS je také ľahké, ako je len možné. Vďaka niekoľkým terminológiám a ešte menšiemu počtu príkazov ste pripravení použiť ZFS kdekoľvek - od podnikového po domáci / kancelársky NAS.
Slovami tvorcov ZFS: „Chceme, aby bolo pridanie úložného priestoru do vášho systému také jednoduché, ako pridávanie nových pamätí RAM.“
Neskôr sa pozrieme na to, ako sa to deje. Budem používať FreeBSD 11.1, aby sme vykonali testy uvedené nižšie, sú príkazy a podkladová architektúra podobné pre všetky distribúcie Linuxu, ktoré podporujú OpenZFS.
Celý zásobník ZFS je možné rozložiť do nasledujúcich vrstiev:
- Poskytovatelia úložiska - rotujúce disky alebo SSD
- Vdevs - Zoskupenie poskytovateľov úložísk do rôznych konfigurácií RAID
- Zpools - agregácia vdevs do jedného spoločného úložiska
- Z-Filesystems - datasety s vynikajúcimi funkciami, ako je kompresia a rezervácia.
Zpool vytvor
Po prvé, začnime nastavením toho, kde máme šesť 20 GB diskov ada [1-6]
$ ls -al / dev / ada?
The ada0 je miesto, kde je nainštalovaný operačný systém. Zvyšok bude použitý na túto ukážku.
Názvy vašich diskov sa môžu líšiť v závislosti od typu použitého rozhrania. Typické príklady zahŕňajú: da0, ada0, acd0 a cd. Pohľad dovnútra/ devvám poskytne predstavu o tom, čo je k dispozícii.
A zpool je vytvorený používateľom zpool vytvor príkaz:
$ zpool vytvoriť OurFirstZpool ada1 ada2 ada3 # A potom spustite nasledujúci príkaz: $ zpool status
Uvidíme úhľadný výstup, ktorý nám poskytne podrobné informácie o skupine:
Toto je najjednoduchší zpool bez redundancie alebo odolnosti voči poruchám ... Každý disk má svoj vlastný vdev.
Stále však získate všetku dobrotu ZFS, ako sú kontrolné súčty pre každý uložený dátový blok, aby ste aspoň zistili, či sa poškodia uložené údaje.
Spoločnosť Filesystems, a.k.množiny údajov, je teraz možné vytvoriť nad týmto fondom nasledujúcim spôsobom:
$ zfs vytvorí OurFirstZpool / dataset1
Teraz použite svoje známe df -h príkaz alebo spustiť:
zoznam $ zfs
Ak chcete zobraziť vlastnosti novo vytvoreného súborového systému:
Všimnite si, ako je pre súborový systém k dispozícii celé miesto ponúkané tromi diskami (vdevs). Toto bude platiť pre všetky súborové systémy, ktoré vo fonde vytvoríte, pokiaľ neurčíme inak.
Ak chcete pridať nový disk (vdev), ada4, môžete to urobiť spustením:
$ zpool pridať OurFirstZpool ada4
Teraz, ak vidíte stav vášho súborového systému
Dostupná veľkosť sa teraz rozrástla bez akýchkoľvek problémov s rozširovaním oddielu alebo zálohovaním a obnovou údajov v súborovom systéme.
Virtuálne zariadenia - Vdevs
Vdevs sú stavebnými kameňmi zpoolu, väčšina redundancie a výkonu závisí od spôsobu, akým sú vaše disky zoskupené do týchto, takzvaných, vdevs . Pozrime sa na niektoré z najdôležitejších typov vdevs:
1. RAID 0 alebo pruhy
Každý disk funguje ako svoj vlastný vdev. Žiadna redundancia údajov a údaje sa šíria medzi všetky disky. Tiež sa nazýva pruhovanie. Zlyhanie jedného disku by znamenalo, že celý zpool sa stane nepoužiteľným. Použiteľné úložisko sa rovná súčtu všetkých dostupných úložných zariadení.
Prvý zpool, ktorý sme vytvorili v predchádzajúcej časti, je pole RAID 0 alebo pruhované úložné pole.
2. RAID 1 alebo Mirror
Dáta sú zrkadlené medzi ndisky. Skutočná kapacita vdev je obmedzená hrubou kapacitou najmenšieho disku v ňom n-diskové pole. Dáta sú zrkadlené medzi n disky, to znamená, že vydržíte zlyhanie n-1 disky.
Ak chcete vytvoriť zrkadlové pole, použite kľúčové slovo mirror:
$ zpool vytvoriť zrkadlo nádrže ada1 ada2 ada3
Údaje zapísané do nádrž zpool bude zrkadlený medzi týmito tromi diskami a skutočné dostupné úložisko sa rovná veľkosti najmenšieho disku, ktorý je v tomto prípade asi 20 GB.
V budúcnosti možno budete chcieť do tohto fondu pridať ďalšie disky a budete môcť urobiť dve veci. Napríklad zpool nádrž má tri disky zrkadliace dáta ako jedno vdev mirror-0:
Možno budete chcieť pridať ďalší disk ada4, na zrkadlenie rovnakých údajov. Môžete to urobiť spustením príkazu:
$ zpool pripojiť nádrž ada1 ada4
Týmto by sa pridal ďalší disk k vdev, ktorý už disk má ada1 v ňom, ale nezvýši dostupné úložisko.
Podobne môžete odpojiť disky od zrkadla spustením:
$ zpool odpojiť nádrž ada4
Na druhú stranu možno budete chcieť pridať ďalší vdev, aby ste zvýšili kapacitu zpoolu. To je možné vykonať pomocou príkazu zpool add:
$ zpool pridať zrkadlo nádrže ada4 ada5 ada6
Vyššie uvedená konfigurácia by umožnila pruhovanie údajov cez vdevs mirror-0 a mirror-1. V takom prípade môžete stratiť 2 disky na jeden vdev a vaše údaje budú naďalej neporušené. Celkový využiteľný priestor sa zvyšuje na 40 GB.
3. RAID-Z1, RAID-Z2 a RAID-Z3
Ak je vdev typu RAID-Z1, musí používať najmenej 3 disky a vdev môže tolerovať zánik iba jedného z týchto diskov. Konfigurácie RAID-Z neumožňujú pripojenie diskov priamo k vdev. Môžete však pridať viac vdevs, pomocou zpool pridať, takže sa kapacita fondu môže neustále zvyšovať.
RAID-Z2 by vyžadoval najmenej 4 disky na vdev a môže tolerovať až 2 zlyhanie disku. Ak tretí disk zlyhá skôr, než dôjde k výmene 2 diskov, dôjde k strate cenných údajov. To isté platí pre RAID-Z3, ktorý vyžaduje najmenej 5 diskov na vdev, s až 3 diskami tolerancie proti zlyhaniu predtým, ako sa obnova stane beznádejnou.
Vytvorme fond RAID-Z1 a rozviňme ho:
$ zpool vytvoriť tank raidz1 ada1 ada2 ada3
Bazén používa tri 20 GB disky, z ktorých je užívateľovi k dispozícii 40 GB.
Pridanie ďalšieho vdev by vyžadovalo ďalšie 3 disky:
$ zpool pridať tank raidz1 ada4 ada5 ada6
Celkové použiteľné údaje sú teraz 80 GB, môžete stratiť až 2 disky (jeden od každého vdev) a stále máte nádej na zotavenie.
Záver
Teraz už viete dosť o ZFS na to, aby ste doň s istotou importovali všetky svoje údaje. Od tejto chvíle môžete vyhľadávať rôzne ďalšie funkcie, ktoré ZFS poskytuje, napríklad používať vysokorýchlostné NVMes na čítanie a zápis do vyrovnávacej pamäte, používať vstavanú kompresiu súborov údajov a namiesto toho, aby ste boli zahltení všetkými dostupnými možnosťami, hľadajte len to, čo potrebujete konkrétny prípad použitia.
Medzitým existuje niekoľko ďalších užitočných tipov týkajúcich sa výberu hardvéru, ktoré by ste mali dodržiavať:
- So ZFS nikdy nepoužívajte hardvérový radič RAID.
- Chyba opravujúca RAM (ECC) sa odporúča, ale nie je povinná
- Funkcia deduplikácie údajov zaberá veľa pamäte, použite radšej kompresiu.
- Redundancia dát nie je alternatívou zálohovania. Majte viac záloh, tieto zálohy ukladajte pomocou ZFS!