ZFS: sąvokos ir pamoka
Siekdami užtikrinti duomenų vientisumą, naudojant „OpenZFS“ neišvengsite. Tiesą sakant, būtų labai gaila, jei vertingiems duomenims saugoti naudojate bet ką, išskyrus ZFS. Tačiau daugelis žmonių nenori to išbandyti. Dėl to, kad įmonės lygio failų sistema su joje įmontuota daugybe funkcijų, ZFS turi būti sunku naudoti ir administruoti. Niekas negali būti toliau nuo tiesos. Naudoti ZFS yra taip paprasta, kaip gaunasi. Turėdami keletą terminologijų ir dar mažiau komandų, esate pasirengę naudoti ZFS bet kur - nuo įmonės iki namų / biuro NAS.
ZFS kūrėjų žodžiais tariant: „Mes norime, kad saugyklos pridėjimas prie sistemos būtų toks pat paprastas, kaip ir naujų RAM atminties kortelių pridėjimas.“
Vėliau pamatysime, kaip tai daroma. Aš naudosiu „FreeBSD 11“.1 norėdami atlikti toliau nurodytus bandymus, komandos ir pagrindinė architektūra yra panašios visiems „Linux“ paskirstymams, palaikantiems „OpenZFS“.
Visą ZFS kaminą galima išdėstyti šiais sluoksniais:
- Saugyklos tiekėjai - sukantys diskai arba SSD
- „Vdevs“ - saugyklos teikėjų grupavimas į įvairias RAID konfigūracijas
- „Zpools“ - „Vdevs“ kaupimas į vieną saugyklą
- „Z-Filesystems“ - duomenų rinkiniai su tokiomis puikiomis funkcijomis kaip suspaudimas ir rezervavimas.
„Zpool“ kuria
Pirmiausia pradėkime nuo nustatymo, kur turime šešis 20 GB diskus ada [1–6]
$ ls -al / dev / ada?
The ada0 yra vieta, kurioje įdiegta operacinė sistema. Likusi dalis bus naudojama šiai demonstracijai.
Diskų pavadinimai gali skirtis, priklausomai nuo naudojamos sąsajos tipo. Tipiški pavyzdžiai: da0, ada0, acd0 ir cd. Žvilgsnis į vidų/ devsuteiks jums idėją apie tai, kas yra.
A zpool yra sukurtas zpool kurti komanda:
$ zpool sukurkite OurFirstZpool ada1 ada2 ada3 # Ir tada paleiskite šią komandą: $ zpool status
Pamatysime tvarkingą rezultatą, kuriame bus pateikta išsami informacija apie baseiną:
Tai paprasčiausias „zpool“ be pertekliaus ar tolerancijos triktims ... Kiekvienas diskas yra savas vdev.
Tačiau vis tiek gausite visus ZFS privalumus, pvz., Kontrolines sumas kiekvienam saugomam duomenų blokui, kad galėtumėte bent jau nustatyti, ar jūsų saugomi duomenys yra sugadinti.
Failų sistemos, a.k.duomenų rinkinius, dabar galima sukurti šio baseino viršuje tokiu būdu:
$ zfs sukuria „OurFirstZpool“ / duomenų rinkinį1
Dabar naudokitės savo pažįstamu df -h komanda arba paleiskite:
$ zfs sąrašas
Norėdami pamatyti naujai sukurtos failų sistemos ypatybes:
Atkreipkite dėmesį, kaip failų sistemai yra visa trijų diskų (vdevs) siūloma erdvė. Tai galios visoms failų sistemoms, kurias sukursite telkinyje, nebent nurodysime kitaip.
Jei norite pridėti naują diską (vdev), ada4, tai galite padaryti paleisdami:
$ zpool pridėkite „OurFirstZpool“ ada4
Dabar, jei matote savo failų sistemos būseną
Turimas dydis dabar išaugo be jokio papildomo rūpesčio auginant skaidinį ar atsargines kopijas ir atkuriant failų sistemos duomenis.
Virtualūs įrenginiai - Vdevs
„Vdevs“ yra „zpool“ statybiniai blokai, didžioji dalis pertekliaus ir našumo priklauso nuo to, kaip jūsų diskai yra sugrupuoti į šiuos, vadinamuosius, „vdevs“ . Pažvelkime į keletą svarbiausių „vdevs“ tipų:
1. RAID 0 arba juostos
Kiekvienas diskas veikia kaip savo vdev. Duomenų nereikalaujama, o duomenys pasklido po visus diskus. Taip pat žinomas kaip dryžavimas. Vieno disko gedimas reikštų, kad visas „zpool“ yra netinkamas naudoti. Naudojama saugykla yra lygi visų galimų saugojimo įrenginių sumai.
Pirmasis „zpool“, kurį sukūrėme ankstesniame skyriuje, yra RAID 0 arba dryžuotas saugojimo masyvas.
2. RAID 1 arba veidrodis
Duomenys atspindimi tarp ndiskus. Faktinį „vdev“ pajėgumą riboja mažiausio to disko neapdorotas pajėgumas n-disko masyvas. Duomenys atspindimi tarp n diskus, tai reiškia, kad jūs galite atlaikyti gedimą n-1 diskus.
Norėdami sukurti veidrodinį masyvą, naudokite raktinį žodį veidrodis:
$ zpool sukurkite bako veidrodį ada1 ada2 ada3
Duomenys, parašyti tankas „zpool“ bus atspindėtas tarp šių trijų diskų, o faktinė laisva vieta bus lygi mažiausio disko dydžiui, kuris šiuo atveju yra apie 20 GB.
Ateityje galbūt norėsite pridėti daugiau diskų prie šio baseino ir galite padaryti du dalykus. Pavyzdžiui, zpool tankas turi tris diskus, atspindinčius duomenis kaip vieną „vdev mirror-0“:
Tarkime, galbūt norėsite pridėti papildomą diską ada4, kad atspindėtų tuos pačius duomenis. Tai galima padaryti paleidus komandą:
$ zpool pritvirtinkite baką ada1 ada4
Tai pridėtų papildomą diską prie „vdev“, kuris jau turi diską ada1 jame, bet nepadidinkite laisvos vietos.
Panašiai galite atjungti diskus iš veidrodžio paleisdami:
$ zpool atskirkite baką ada4
Kita vertus, galbūt norėsite pridėti papildomą „vdev“, kad padidintumėte „zpool“ talpą. Tai galima padaryti naudojant komandą „zpool add“:
$ zpool pridėti bako veidrodį ada4 ada5 ada6
Aukščiau nurodyta konfigūracija leistų duomenis ištrinti per „vdevs mirror-0“ ir „mirror-1“. Šiuo atveju galite prarasti 2 diskus vienoje „vdev“, ir jūsų duomenys vis tiek bus nepažeisti. Bendras naudingas plotas padidėja iki 40 GB.
3. RAID-Z1, RAID-Z2 ir RAID-Z3
Jei „vdev“ yra RAID-Z1 tipo, jis turi naudoti mažiausiai 3 diskus ir „vdev“ gali toleruoti tik vieno iš tų diskų naikinimą. RAID-Z konfigūracijos neleidžia tiesiogiai pritvirtinti diskų prie „vdev“. Bet galite pridėti daugiau vdevs naudodami zpool pridėti, kad baseino pajėgumai galėtų ir toliau didėti.
RAID-Z2 reikės mažiausiai 4 diskų per vdev ir jis gali toleruoti iki 2 disko gedimus, o jei trečiasis diskas sugenda prieš pakeisdamas 2 diskus, prarandami jūsų vertingi duomenys. Tas pats pasakytina ir apie RAID-Z3, kuriai reikalingi mažiausiai 5 diskai vienam vdevui, o iki 3 diskų yra netoleravimo, kol atkūrimas tampa beviltiškas.
Sukurkime ir auginkime RAID-Z1 telkinį:
$ zpool sukurkite tanką raidz1 ada1 ada2 ada3
Baseinas naudoja tris 20 GB diskus, todėl vartotojui prieinamas 40 GB.
Norint pridėti kitą „vdev“, reikės 3 papildomų diskų:
$ zpool pridėkite tanką raidz1 ada4 ada5 ada6
Bendras tinkamas naudoti duomenų kiekis yra 80 GB, todėl galite prarasti iki 2 diskų (po vieną iš kiekvieno „vdev“) ir vis tiek tikėtis atkurti.
Išvada
Dabar jūs pakankamai žinote apie ZFS, kad galėtumėte užtikrintai importuoti visus savo duomenis. Nuo šiol galite ieškoti įvairių kitų funkcijų, kurias teikia ZFS, pvz., Naudojant didelės spartos „NVMes“ skaitymo ir rašymo talpykloms, naudojant įmontuotą glaudinimą duomenų rinkiniams ir užuot apsemtas visų galimų parinkčių, tiesiog ieškokite, ko jums reikia konkretaus naudojimo atvejo.
Tuo tarpu yra keletas naudingų patarimų, kaip pasirinkti aparatinę įrangą:
- Niekada nenaudokite aparatinės įrangos RAID valdiklio su ZFS.
- Klaidų taisymas RAM (ECC) yra rekomenduojamas, bet neprivalomas
- Duomenų dedukcijos funkcija sunaudoja daug atminties, vietoj to naudokite glaudinimą.
- Duomenų nereikalavimas nėra atsarginės kopijos alternatyva. Turėkite kelias atsargines kopijas, saugokite tas atsargines kopijas naudodami ZFS!