„OpenZFS“: vadovas „DigitalOcean“
Galbūt kelis kartus girdėjote, kad ZFS yra įmonės lygio failų sistema, skirta tvarkyti didelius duomenų kiekius sudėtingose masyvuose. Natūralu, kad tai paskatins bet kurį naują atėjusįjį pagalvoti, kad jie neturėtų (arba negalėjo) kibti į tokią technologiją.
Niekas negali būti toliau nuo tiesos. ZFS yra viena iš nedaugelio programinės įrangos, kuri tiesiog veikia. Iš dėžutės, be jokio derinimo, jis atlieka visus reklamuojamus dalykus - nuo duomenų vientisumo patikrinimo iki RAIDZ konfigūracijos. Taip, yra galimų koregavimo variantų, ir, jei reikia, galima į tai įsigilinti. Tačiau pradedantiesiems nuostoliai veikia nuostabiai.
Vienintelis apribojimas, su kuriuo galite susidurti, yra aparatinė įranga. Kelių diskų išdėstymas įvairia konfigūracija reiškia, kad turite daug diskų, kad galėtumėte būti kartu! Štai čia į pagalbą ateina „DigitalOcean“ (DO).
Pastaba: Jei esate susipažinę su DO ir kaip nustatyti SSH raktus, galite pereiti tiesiai į diskusijos dalį ZFS. Kitas kitas skyrius rodo, kaip nustatyti „DigitalOcean“ VM ir prie jo pritvirtinti blokinius įrenginius
„DigitalOcean“ įvadas
Paprasčiau tariant, „DigitalOcean“ yra debesijos paslaugų teikėjas, kuriame galite sukurti virtualias mašinas, kad jūsų programos galėtų veikti. Gaunate beprotiškai daug pralaidumo ir visos SSD atminties, kad galėtumėte paleisti savo programas. Jis skirtas kūrėjams, o ne operatoriams, todėl vartotojo sąsaja yra daug paprastesnė ir lengviau suprantama.
Be to, jie ima mokestį už valandą, o tai reiškia, kad kelias valandas galite dirbti su įvairia ZFS konfigūracija, kai patenkinsite, ištrinsite visas VM ir saugyklą, o sąskaita neviršys kelių dolerių.
Šioje pamokoje naudosime dvi iš „DigitalOcean“ funkcijų:
- Lašeliai: „Lašelis“ yra jų žodis, reiškiantis virtualią mašiną, veikiančią su operacine sistema su statiniu viešu IP. Mūsų OS pasirinkimas bus „Ubuntu 16“.04 LTS.
- Blokuoti saugyklą: Blokavimo saugykla yra panaši į diską, pritvirtintą prie jūsų kompiuterio. Išskyrus čia, jūs turite nuspręsti dėl norimų diskų dydžio ir skaičiaus.
Prisiregistruokite „DigitalOcean“, jei dar to nepadarėte.
Norėdami prisijungti prie „Virtual Machine“ yra du būdai: vienas yra naudoti konsolę (kuriai slaptažodis jums siunčiamas el. Paštu) arba galite naudoti SSH rakto parinktį.
Pagrindinis SSH nustatymas
„MacOS“ ir kiti UNIX vartotojai, turintys terminalą darbalaukyje, gali tai naudoti SSH į savo lašelius (SSH klientas yra įdiegtas pagal numatytuosius nustatymus visuose „Unices“), o „Windows“ vartotojas gali norėti atsisiųsti „Git Bash“.
Įėję į terminalą, įveskite šias komandas:
$ mkdir -p ~ /.ssh$ cd ~ /.ssh
$ ssh-keygen -y -f YourKeyName
Tai sukurs du failus ~ /.ssh katalogą, pavadintą „YourKeyName“, kurį turite nuolat saugoti ir saugoti. Tai jūsų privatus raktas. Tai užšifruos pranešimus, prieš juos siunčiant į serverį, ir iššifruos pranešimus, kuriuos jums atsiųs specialusis asmuo. Kaip rodo pavadinimas, privatus raktas yra skirtas visada laikyti paslaptyje.
Sukurtas kitas failas pavadinimu „YourKeyName“.aludė ir tai yra jūsų viešasis raktas, kurį pateiksite „DigitalOcean“ kurdami „Lašelį“. Jis tvarko pranešimų šifravimą ir iššifravimą serveryje, kaip ir privatus raktas jūsų vietiniame kompiuteryje.
Sukurkite savo pirmąjį lašelį
Užsiregistravę „DO“, esate pasirengę sukurti savo pirmąjį lašelį. Atlikite šiuos veiksmus:
1. Viršutiniame dešiniajame kampe spustelėkite mygtuką kurti ir pasirinkite Lašelis variantą.
2. Kitas puslapis leis jums nuspręsti dėl jūsų lašelio specifikacijų. Mes naudosime „Ubuntu“.
3. Pasirinkite dydį, net $ 5 / mo parinktis tinka mažiems eksperimentams.
4. Pasirinkite artimiausią duomenų centrą, jei norite, kad vėlavimo laikas būtų mažas. Galite praleisti likusias papildomas parinktis.
Pastaba: dabar nepridėkite jokių tomų. Mes juos pridėsime vėliau, kad būtų aiškiau.
5. Spustelėkite Nauji SSH raktai ir nukopijuokite visą „YourKeyName“.aludė į jį ir suteikti jam vardą. Dabar tiesiog spustelėkite Kurti ir jūsų lašelis yra geras.
6. Gaukite informacijos apie prietaisų skydelį savo lašelio IP adresą.
7. Dabar galite prisijungti SSH kaip šakninį vartotoją į savo lašelį iš terminalo naudodami komandą:
$ ssh šaknis @ 138.68.97.47 -i ~ /.ssh / YourKeyNameNekopijuokite anksčiau nurodytos komandos, nes jūsų IP adresas bus kitoks. Jei viskas pasiteisino, jūsų terminale gausite pasveikinimo pranešimą ir būsite prisijungę prie savo nuotolinio serverio.
Blokinės saugyklos pridėjimas
Norėdami gauti blokuojamų saugojimo įrenginių sąrašą savo VM, terminale naudokite komandą:
$ lsblk
Matysite tik vieną diską, suskirstytą į tris blokinius įrenginius. Tai yra OS diegimas ir mes su jais neeksperimentuosime. Tam reikia daugiau saugojimo įrenginių.
Norėdami tai padaryti, eikite į „DigitalOcean“ prietaisų skydelį, spustelėkite Create mygtuką, kaip jūs darėte pirmame žingsnyje, ir pasirinkite garsumo parinktį. Pritvirtinkite jį prie savo lašelio ir suteikite jam tinkamą pavadinimą. Pridėkite tris tokius tomus, pakartodami šį veiksmą dar du kartus.
Dabar, jei grįšite į terminalą ir įvesite lsblk, pamatysite naujus šio sąrašo įrašus. Žemiau pateiktoje ekrano kopijoje yra 3 nauji diskai, kuriuos naudosime bandydami ZFS.
Galiausiai, prieš patekdami į ZFS, pirmiausia turėtumėte pažymėti savo diskus pagal GPT schemą. ZFS geriausiai veikia su GPT schema, tačiau blokų saugykloje, pridėtoje prie jūsų lašelių, yra MBR etiketė. Ši komanda išsprendžia problemą, pridedant GPT etiketę prie naujai prijungtų blokinių įrenginių.
$ sudo išsiskyrė / dev / sda mklabel gptPastaba: ji neskirsto blokuojamo įrenginio, tiesiog naudoja „parted“ įrankį, kad blokavimo įrenginiui suteiktų visuotinai unikalų ID (GUID). GPT reiškia GUID skaidinių lentelę ir stebi kiekvieną diską ar skaidinį su GPT etikete.
Pakartokite tą patį SDB ir SDK.
Dabar mes esame pasirengę pradėti naudoti „OpenZFS“ su pakankamai diskų, kad galėtume išbandyti įvairius susitarimus.
„Zpools“ ir VDEV
Norėdami pradėti kurti savo pirmąjį „Zpool“. Jūs turite suprasti, kas yra virtualus įrenginys ir koks jo tikslas.
Virtualus įrenginys (arba „Vdev“) gali būti vienas diskas arba diskų grupė, kuri kaip vienas įrenginys yra veikiama „zpool“. Pavyzdžiui, trys aukščiau sukurti 100 GB įrenginiai sda, sdb ir sdc visi gali būti savo vdev ir galite sukurti zpool, pavadintą tankas, iš jo bus visų 3 diskų talpa, ty 300 GB
Pirmiausia įdiekite „ZFS“, skirtą „Ubuntu 16“.04:
$ zpool sukurti tanką sda sdb sdc
„$ zpool“ būsenos bakas
Jūsų duomenys paskirstomi trijuose diskuose tolygiai, o jei kuris nors iš diskų sugenda, visi jūsų duomenys prarandami. Kaip matote aukščiau, diskai yra patys vdevai.
Tačiau taip pat galite sukurti „zpool“, kur trys diskai atkartoja vienas kitą, vadinamą veidrodžiu.
Pirmiausia sunaikinkite anksčiau sukurtą baseiną:
$ zpool sunaikinti tankąNorėdami sukurti veidrodinį vdev, naudosime raktinį žodį veidrodis:
$ zpool sukurti bako veidrodį sda sdb sdc
Dabar bendras laisvos vietos kiekis yra tik 100 GB (naudokite zpool sąrašas kad tai pamatytume), bet dabar mes galime atlaikyti iki dviejų „vdev“ gedimų veidrodis-0.
Kai pritrūksite vietos ir norėsite pridėti daugiau vietos prie savo baseino, turėsite sukurti dar tris tomus „DigitalOcean“ ir pakartoti veiksmus Blokinės saugyklos pridėjimas darykite tai dar su 3 blokiniais įrenginiais, kurie pasirodys kaip vdev veidrodis-1. Kol kas galite praleisti šį veiksmą, tik žinokite, kad tai galima padaryti.
$ zpool pridėti bako veidrodį sde sdf sdgGaliausiai yra „raidz1“ konfigūracija, kurią galima naudoti grupuojant tris ar daugiau diskų kiekviename „vdev“ ir išgyvenant 1 disko gedimą per vdevą ir suteikiant bendrą turimą 200 GB atmintį.
$ zpool sunaikinti tanką$ zpool sukurti tanką raidz1 sda sdb sdc
Nors „zpool“ sąrašas rodo gryną neapdorotų saugyklų pajėgumą, zfs sąrašas ir df -h komandos parodo faktinę laisvą „zpool“ saugyklą. Taigi, visada verta patikrinti turimą saugyklą naudojant zfs sąrašas komandą.
Tai naudosime kurdami duomenų rinkinius.
Duomenų rinkiniai ir atkūrimas
Tradiciškai failų sistemas, tokias kaip / home, / usr ir / temp, mes prijungėme prie skirtingų skaidinių, o kai pritrūko vietos, reikėjo pridėti simbolių nuorodas į papildomus atminties įrenginius, pridėtus prie sistemos.
Su zpool pridėti diskus galite pridėti prie to paties baseino ir jis vis auga, atsižvelgiant į jūsų poreikius. Tada galite sukurti duomenų rinkinius, tai yra failų sistemos zfs terminas, pvz., / Usr / home ir daugelis kitų, kurie tada gyvena „zpool“ ir dalijasi visa jiems prieinama saugykla.
Norėdami sukurti „zfs“ duomenų rinkinį baseine tankas naudokite komandą:
$ zfs sukuria rezervuarą / duomenų rinkinį1$ zfs sąrašas
Kaip minėta anksčiau, „raidz1“ baseinas gali atlaikyti iki vieno disko gedimą. Taigi išbandykime tai.
$ zpool „offline tank sda“
Dabar baseinas yra neprisijungęs, bet ne viskas prarasta. Galime pridėti dar vieną tomą, sdd, naudojant „DigitalOcean“ ir suteikiant jam „gpt“ etiketę, kaip ir anksčiau.
Papildoma literatūra
Mes rekomenduojame laisvalaikiu išbandyti ZFS ir įvairias jo funkcijas. Kai baigsite, būtinai ištrinkite visus tomus ir lašelius, kad išvengtumėte netikėtų atsiskaitymų mėnesio pabaigoje.
Daugiau apie ZFS terminologiją galite sužinoti čia.