Johdatus Z-tiedostojärjestelmään (ZFS) Linuxille
ZFS: ää käyttävät yleisesti tiedonhakijat, NAS-ystävät ja muut geeksit, jotka haluavat luottaa pelkästään omaan pikemminkin varastointijärjestelmään kuin pilviin. Se on loistava tiedostojärjestelmä, jota käytetään useiden levyjen hallintaan ja kilpailijoiden suurimpiin RAID-asetuksiin.
Kuva: Kenny Louie.
Mikä on ZFS ja miksi minun pitäisi käyttää sitä?
Z-tiedostojärjestelmä on ilmainen ja avoin lähdekoodin looginen äänenhallintaohjelma, jonka Sun Microsystems on rakentanut käytettäväksi Solaris-käyttöjärjestelmässä. Jotkut sen houkuttelevimmista ominaisuuksista ovat:
Loputon skaalautuvuus
No, se ei ole teknisesti loputon, mutta se on 128-bittinen tiedostojärjestelmä, joka pystyy hallitsemaan zettabyttejä (miljardi teratavua). Riippumatta siitä, kuinka paljon kiintolevytilaa sinulla on, ZFS sopii sen hallintaan.
Suurin eheys
Kaikki, mitä teet ZFS: n sisällä, käyttää tarkistussummaa, jotta varmistetaan tiedostojen eheys. Voit olla varma, että tiedostosi ja niiden tarpeettomat kopiot eivät kohdistu hiljaiseen tietojen korruptioon. Samalla kun ZFS on varattu hiljaa tarkasti tietojasi eheyden varmistamiseksi, se tekee automaattisia korjauksia milloin tahansa.
Aseman yhdistäminen
ZFS: n luojat haluavat, että ajattelet sitä samankaltaisena kuin tietokoneesi muistia. Kun tarvitset enemmän muistia tietokoneessa, laitat toisen tikkun ja olet valmis. ZFS: n tapaan, kun tarvitset enemmän kiintolevytilaa, laitat toisen kiintolevyn ja olet valmis. Ei tarvitse viettää aikaa osiointiin, muotoiluun, alustamiseen tai tekemiseen levykkeillesi - kun tarvitset suuremman tallennustilan, vain lisää levyjä.
RAID
ZFS kykenee moniin eri RAID-tasoihin, samalla kun ne tuottavat suorituskykyä, joka on verrattavissa laitteiston RAID-ohjaimiin. Näin voit säästää rahaa, helpottaa asetusten tekemistä ja käyttää parempia RAID-tasoja, joita ZFS on parantanut.
ZFS: n asentaminen
Koska kattamme vain tämän oppaan perusasiat, emme aio asentaa ZFS: ää juurihakemistojärjestelmänä. Tässä osassa oletetaan, että käytät ext4: ää tai jotakin muuta tiedostojärjestelmää ja haluat käyttää ZFS: ää joissakin toissijaisissa kiintolevyissä. Tässä on komentoja ZFS: n asentamiseksi joihinkin suosituimpiin Linux-jakeluihin.
Solariksen ja FreeBSD: n pitäisi olla mukana ZFS: n asennuksessa ja käyttövalmiina.
ubuntu:
$ sudo add-apt-repository ppa: zfs-native / stabiili
$ sudo apt-get -päivitys
$ sudo apt-get asenna ubuntu-zfs
Debian:
$ su -
# wget http://archive.zfsonlinux.org/debian/pool/main/z/zfsonlinux/zfsonlinux_2%7Ewheezy_all.deb
# dpkg -i zfsonlinux_2 ~ wheezy_all.deb
# apt-get päivitys
# apt-get asenna debian-zfs
RHEL / CentOS:
$ sudo yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release-1-3.el6.noarch.rpm
$ sudo yum asentaa zfs
Jos sinulla on jokin muu jakelu, tarkista zfsonlinux.org ja napsauta jakelusi "Paketit" -luettelosta, jotta saat ohjeet ZFS: n asentamisesta..
Kun jatkamme tätä opasta, aiomme käyttää Ubuntua, koska se näyttää olevan # 1 valinta Linux geeksille. Sinun pitäisi silti pystyä seuraamaan mitä tahansa, koska ZFS-komennot eivät muutu eri jakaumien välillä.
Asennus kestää jonkin aikaa, mutta kun se on valmis, suorita se $ sudo zfs -luettelo
Varmista, että se on asennettu oikein. Sinun pitäisi saada tällainen lähtö:
Käytämme Ubuntu-palvelimen uutta asennusta juuri nyt, vain yhdellä kiintolevyllä.
ZFS: n määrittäminen
Oletetaan nyt, että laitamme tietokoneeseemme vielä kuusi kiintolevyä.
$ sudo fdisk -l | grep Virhe
näyttää meille juuri asentamamme kuusi kiintolevyä. Ne ovat tällä hetkellä käyttökelvottomia, koska ne eivät sisällä minkäänlaista osiotaulukkoa.
Kuten aiemmin mainitsimme, yksi hienoista ZFS-asioista on, että meidän ei tarvitse häiritä osioita (vaikka voit, jos haluat). Aloitetaan ottamalla kolme kiintolevyä ja asettamalla ne tallennusaltaaseen suorittamalla seuraava komento:
$ sudo zpool luo -f geek1 / dev / sdb / dev / sdc / dev / sdd
zpool luo
on komento, jota käytetään uuden tallennusaltaan luomiseen, -f
ohittaa mahdolliset virheet (kuten jos levyllä / levyillä on jo tietoja), geek1
on tallennusaltaan nimi ja / dev / sdb / dev / sdc / dev / sdd
ovat kiintolevyt, jotka laitamme altaaseen.
Kun olet luonut poolin, sinun pitäisi pystyä näkemään se DF
komento tai sudo zfs -luettelo
:
Kuten näette, / geek1 on jo asennettu ja valmis käytettäväksi.
Jos haluat nähdä, mitä kolmea levyä olet valinnut poolille, voit suorittaa sudo zpool tila
:
Tähän mennessä olemme tehneet 9 TB: n dynaamisen raitapalkin (tehokkaasti RAID 0). Jos et tunne sitä, mitä se tarkoittaa, kuvittele, että olemme luoneet 3 KB tiedoston / geek1. 1 KB siirtyisi automaattisesti sdb: hen, 1 KB: aan sdc: hen ja 1 KB: n sdd: iin. Sitten kun siirrymme lukemaan 3 KB: n tiedostoa, jokainen kiintolevy esittelee meille 1 KB: n, yhdistämällä kolmen aseman nopeuden. Tämä mahdollistaa tietojen kirjoittamisen ja lukemisen nopeasti, mutta myös tarkoittaa, että meillä on yksi epäonnistumispiste. Jos vain yksi kiintolevy epäonnistuu, menetämme 3 KB: n tiedoston.
Olettaen, että tietojesi suojaaminen on tärkeämpää kuin käyttää sitä nopeasti, katsokaamme muita suosittuja asetuksia. Ensinnäkin poistamme luomamme zpoolin, jotta voimme käyttää näitä levyjä redundanttisessa asennuksessa:
$ sudo zpool tuhoaa geek1: n
Bam, meidän zpoolimme on mennyt. Tällä kertaa luomme RAID-Z-poolin kolmen levyn avulla. RAID-Z on pohjimmiltaan parannettu versio RAID 5: stä, koska se välttää "kirjoitusreiän" käyttämällä kopioitavaa. RAID-Z tarvitsee vähintään kolme kiintolevyä, ja se on eräänlainen kompromissi RAID 0: n ja RAID 1: n välillä. RAID-Z-poolissa saat edelleen lohkon tason raitojen nopeuden, mutta sillä on myös jaettu pariteetti. Jos yhden levyn sisältävä levy kuolee, vaihda vain levy ja ZFS rakentaa tiedot automaattisesti uudelleen muiden levyjen pariteettitietojen perusteella. Jos haluat menettää kaikki tallennustilasi tiedot, kahden levyn pitäisi kuolla. Jotta asiat olisivat vielä tarpeettomia, voit käyttää RAID 6: a (RAID-Z2 ZFS: n tapauksessa) ja kaksinkertainen pariteetti.
Tämän saavuttamiseksi voimme käyttää samaa zpool luo
komento kuten aiemmin, mutta määritä raidz
altaan nimen jälkeen:
$ sudo zpool luo -f geek1 raidz / dev / sdb / dev / sdc / dev / sdd
Kuten näet, df-h
osoittaa, että 9 TB: n allas on nyt pienentynyt 6 TB: een, koska 3 TB: tä käytetään pariteettitietojen pitämiseen. Kanssa zpool-tila
näemme, että poolimme on pääosin sama kuin aiemmin, mutta käyttää nyt RAID-Z: ää.
Jos haluat näyttää, kuinka helppoa on lisätä levyjä tallennusaltaasemme, lisää kolme muuta levyä (toinen 9 TB) geek1-tallennusaltaasemme toiseen RAID-Z-kokoonpanoon:
$ sudo zpool add -f geek1 raidz / dev / sde / dev / sdf / dev / sdg
Päätämme:
Saga jatkuu ...
Olemme tuskin kaavaneet ZFS: n pintaa ja sen ominaisuuksia, mutta käyttämällä mitä olet oppinut tässä artikkelissa, sinun pitäisi nyt pystyä luomaan tarpeettomia tallennustilojasi. Tutustu takaisin meille tulevia artikkeleita ZFS: stä, katso man-sivuja ja hae ZFS-toimintoja kattavia loputtomia kappaleen oppaita ja Youtube-videoita.