Foto od Kenny Louie.
Čo je ZFS a prečo by som ho mal používať?
Súborový systém Z je bezplatný a otvorený zdrojový logický správca objemov vytvorený spoločnosťou Sun Microsystems pre použitie v ich operačnom systéme Solaris. Medzi jeho najatraktívnejšie funkcie patria:
Nekonečná škálovateľnosť
No, to nie je technicky ale je to 128-bitový súborový systém, ktorý dokáže spravovať zettabyty (jedna miliarda terabajtov) dát. Nezáleží na tom, koľko priestoru na pevnom disku máte, ZFS bude vhodný na správu.
Maximálna integrita
Všetko, čo robíte vo vnútri ZFS, využíva kontrolný súčet na zaistenie integrity súboru. Môžete si byť istí, že vaše súbory a ich redundantné kópie sa nebudú stretávať s poškodením tichých dát. Tiež, zatiaľ čo ZFS je zaneprázdnený ticho kontrola vašich dát pre integritu, bude robiť automatické opravy kedykoľvek môže.
Združovanie jednotiek
Tvorcovia ZFS chcú, aby ste si to mysleli ako na podobný spôsob, akým váš počítač používa pamäť RAM. Keď potrebujete viac pamäte v počítači, vložíte inú palicu a skončíte. Podobne ako v systéme ZFS, keď potrebujete viac priestoru na pevnom disku, vložíte ďalší pevný disk a skončíte. Nie je potrebné stráviť čas rozdelením, formátovaním, inicializáciou alebo robením čokoľvek iného na diskoch - keď potrebujete väčší úložný priestor "pool", stačí pridať disky.
RAID
ZFS je schopný mať mnoho rôznych úrovní RAID, pričom všetci poskytujú výkon porovnateľný s výkonom hardvérových RAID radičov. To vám umožňuje ušetriť peniaze, uľahčiť nastavenie a mať prístup k vyšším úrovňam RAID, ktoré sa ZFS zlepšili.
Inštalácia ZFS
Keďže pokrývame iba základy tejto príručky, neinštalujeme ZFS ako koreňový systém súborov. Táto časť predpokladá, že používate ext4 alebo iný súborový systém a chcete používať ZFS pre niektoré sekundárne pevné disky. Tu sú príkazy na inštaláciu ZFS na niektoré z najpopulárnejších linuxových distribúcií.
Solaris a FreeBSD by už mali byť vybavené ZFS nainštalovaným a pripraveným na použitie.
ubuntu:
$ sudo add-apt-repository ppa:zfs-native/stable $ sudo apt-get update $ sudo apt-get install ubuntu-zfs
Debian:
$ su - # wget https://archive.zfsonlinux.org/debian/pool/main/z/zfsonlinux/zfsonlinux_2%7Ewheezy_all.deb # dpkg -i zfsonlinux_2~wheezy_all.deb # apt-get update # apt-get install debian-zfs
RHEL / CentOS:
$ sudo yum localinstall --nogpgcheck https://archive.zfsonlinux.org/epel/zfs-release-1-3.el6.noarch.rpm $ sudo yum install zfs
Ak máte nejakú inú distribúciu, pozrite si zfsonlinux.org a kliknutím na distribúciu v zozname balíkov nájdete pokyny na inštaláciu ZFS.
Ako pokračujeme touto príručkou, budeme používať Ubuntu, pretože sa zdá byť prvou voľbou pre Linuxov. Mali by ste byť stále schopní sledovať bez ohľadu na to čo, pretože príkazy ZFS sa nebudú meniť v rôznych rozdeleniach.
Inštalácia trvá pomerne dlho, ale akonáhle to skončí, spustite
$ sudo zfs list
aby sa ubezpečil, že je nainštalovaný správne. Takýto výstup by ste mali dostať takto:
Konfigurácia ZFS
Povedzme, že sme do počítača vložili ďalších šesť pevných diskov.
$ sudo fdisk -l | grep Error
ukáže nám šesť pevných diskov, ktoré sme práve nainštalovali. V súčasnosti sú nepoužiteľné, pretože neobsahujú žiadnu tabuľku oddielov.
$ sudo zpool create -f geek1 /dev/sdb /dev/sdc /dev/sdd
zpool create
je príkaz používaný na vytvorenie nového úložiska,
-f
prekrýva akékoľvek chyby, ktoré sa vyskytnú (napríklad ak disk (y) už majú informácie o nich),
geek1
je názov úložiska a
/dev/sdb /dev/sdc /dev/sdd
sú pevné disky, ktoré vkladáme do bazéna.
Po vytvorení bazénu by ste ho mali vidieť
df
príkaz alebo
sudo zfs list
:
Ak chcete vidieť, ktoré tri disky ste vybrali pre svoj bazén, môžete spustiť
sudo zpool status
:
Ak predpokladáme, že ochrana vašich údajov je dôležitejšia ako ich prístup k nim rýchlo, pozrite sa na ďalšie populárne nastavenia. Najprv odstránime vytvorenú stránku, ktorú sme vytvorili, aby sme mohli tieto disky používať v redundantnejšom nastavení:
$ sudo zpool destroy geek1
Bam, naša spool je preč. Tentokrát použite naše tri disky na vytvorenie fondu RAID-Z. RAID-Z je v podstate vylepšená verzia RAID 5, pretože sa vyhýba "zapisovaciemu otvoru" použitím funkcie copy-on-write. Zariadenie RAID-Z vyžaduje minimálne tri pevné disky a je nejakým kompromisom medzi RAID 0 a RAID 1. V súbore RAID-Z budete stále dosahovať rýchlosť blokovania na úrovni bloku, ale bude mať aj distribuovanú paritu. Ak zomrie jeden disk vo vašom bazéne, jednoducho nahraďte tento disk a ZFS automaticky obnoví údaje na základe informácií o parite z ostatných diskov. Ak stratíte všetky informácie vo vašom oddelení úložiska, dva disky budú musieť zomrieť. Ak chcete robiť veci ešte viac, použite RAID 6 (RAID-Z2 v prípade ZFS) a dvojitú paritu.
Aby sme to dosiahli, môžeme použiť to isté
zpool create
ako predtým, ale špecifikujte
raidz
po názve bazénu:
$ sudo zpool create -f geek1 raidz /dev/sdb /dev/sdc /dev/sdd
df -h
ukazuje, že náš bazén s 9 TB sa teraz znížil na 6 TB, pretože 3 TB sa používajú na udržiavanie informácií o parite. S
zpool status
príkaz, vidíme, že náš bazén je väčšinou rovnaký ako predtým, ale teraz používa RAID-Z.
Aby sme ukázali, aké ľahké je pridanie ďalších diskov do nášho úložiska, pridajte do nášho úložiska geek1 ďalšie tri disky (ďalších 9 TB) ako ďalšiu konfiguráciu RAID-Z:
$ sudo zpool add -f geek1 raidz /dev/sde /dev/sdf /dev/sdg
Skončíme s:
Sága pokračuje …
Objavili sme povrch ZFS a jeho schopnosti, ale pomocou toho, čo ste sa naučili v tomto článku, teraz by ste mali byť schopní vytvoriť redundantné databázy ukladacích dát. Vráťte sa s nami o budúcich článkoch o ZFS, pozrite si manuálové stránky a vyhľadajte nekonečné sprievodcovske výkresy a videá vo formáte Youtube, ktoré pokrývajú funkcie ZFS.