Domača » kako » Uvod v datotečni sistem Z (ZFS) za Linux

    Uvod v datotečni sistem Z (ZFS) za Linux

    ZFS običajno uporabljajo hranilniki podatkov, ljubitelji NAS in drugi geeki, ki raje zaupajo v svoj redundantni sistem za shranjevanje, namesto v oblak. To je odličen datotečni sistem, ki ga lahko uporabite za upravljanje več diskov podatkov in tekmuje z nekaterimi največjimi nastavitvami RAID.

    Foto: Kenny Louie.

    Kaj je ZFS in zakaj naj ga uporabljam?

    Z datotečni sistem je brezplačen in odprtokodni logični upravljalnik nosilcev, ki ga je izdelal Sun Microsystems za uporabo v svojem operacijskem sistemu Solaris. Med najbolj privlačne funkcije spadajo:

    Neskončna razširljivost

    No, ni tehnično To je 128-bitni datotečni sistem, ki je zmožen upravljati zettabyte (milijardo terabajtov) podatkov. Ne glede na to, koliko prostora na trdem disku imate, bo ZFS primeren za upravljanje z njim.

    Največja integriteta

    Vse, kar počnete v ZFS-ju, uporablja kontrolno vsoto, da se zagotovi celovitost datotek. Lahko ste prepričani, da vaše datoteke in njihove odvečne kopije ne bodo naletele na tiho poškodovanje podatkov. Prav tako, medtem ko je ZFS zaseden tiho preverjanje vaših podatkov za celovitost, bo samodejno popravila kadarkoli lahko.

    Združevanje pogonov

    Ustvarjalci ZFS-ja si želijo, da se zdi, da je podoben načinu, na katerega računalnik uporablja RAM. Ko potrebujete več pomnilnika v računalniku, ga vstavite v drugo palico in končate. Podobno kot pri ZFS, ko potrebujete več prostora na trdem disku, vstavite še en trdi disk in končali ste. Ni vam treba porabiti časa za particioniranje, formatiranje, inicializacijo ali delo z drugimi diski - ko potrebujete večji pomnilniški »pool«, dodajte diske.

    RAID

    ZFS je sposoben za veliko različnih nivojev RAID, pri tem pa zagotavlja zmogljivost, ki je primerljiva z zmogljivostjo strojnih RAID krmilnikov. To vam omogoča, da prihranite denar, olajšate namestitev in imate dostop do vrhunskih ravni RAID, ki jih je ZFS izboljšal.

    Namestitev ZFS

    Ker pokrivamo samo osnove v tem priročniku, ne bomo namestili ZFS kot korenski datotečni sistem. Ta del predpostavlja, da uporabljate ext4 ali kakšen drug datotečni sistem in bi radi uporabljali ZFS za nekatere sekundarne trde diske. Tukaj so ukazi za namestitev ZFS-ja na nekatere izmed najbolj priljubljenih distribucij Linuxa.

    Solaris in FreeBSD morata že imeti nameščen ZFS in pripravljen za uporabo.

    Ubuntu:

    $ sudo add-apt-repozitorij ppa: zfs-native / stable
    $ sudo apt-get update
    $ sudo apt-get namestite 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 update
    # apt-get install debian-zfs

    RHEL / CentOS:

    $ sudo yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release-1-3.el6.noarch.rpm
    $ sudo yum install zfs

    Če imate kakšno drugo distribucijo, si oglejte zfsonlinux.org in kliknite razdelek za distribucijo pod seznamom »Paketi« za navodila o namestitvi ZFS.

    Ko bomo nadaljevali s tem priročnikom, bomo uporabili Ubuntu, ker se zdi, da je to prva izbira za Linux geeke. Še vedno lahko sledite, ne glede na to, ker se ukazi ZFS ne bodo spremenili med različnimi distribucijami.

    Namestitev traja precej časa, vendar ko je končana, zaženite $ sudo zfs seznam da se prepričate, da je pravilno nameščen. Tako bi morali dobiti izhod:

    Zdaj uporabljamo svežo namestitev strežnika Ubuntu s samo enim trdim diskom.

    Konfiguriranje ZFS

    Zdaj pa recimo, da smo v računalnik vstavili še šest trdih diskov.

    $ sudo fdisk -l | grep Napaka nam bo pokazal šest trdih diskov, ki smo jih pravkar namestili. Trenutno so neuporabne, ker ne vsebujejo nobene tabele razdelkov.

    Kot smo že omenili, je ena izmed lepih stvari v ZFS-u, da se ne moramo ukvarjati z particijami (čeprav lahko, če želite). Začnimo s tem, da vzamemo tri trde diske in jih postavimo v pomnilniško področje, tako da zaženemo naslednji ukaz:

    $ sudo zpool ustvarite -f geek1 / dev / sdb / dev / sdc / dev / sdd

    zpool create je ukaz, ki se uporablja za ustvarjanje novega pomnilniškega področja, -f preglasi vse napake, ki se pojavijo (na primer, če imajo diski že informacije o njih), geek1 je ime pomnilniškega področja in / dev / sdb / dev / sdc / dev / sdd so trdi diski, ki smo jih dali v bazen.

    Ko ustvarite bazen, ga boste lahko videli z df ali ukaz seznam sudo zfs:

    Kot lahko vidite, je / geek1 že nameščen in pripravljen za uporabo.

    Če želite videti, katere tri diske ste izbrali za svoj bazen, lahko zaženete status sudo zpool:

    Doslej smo ustvarili 9 TB dinamičnega traku (učinkovito, RAID 0). V primeru, da ne veste, kaj to pomeni, si zamislite, da smo ustvarili 3 KB datoteko na / geek1. 1 KB samodejno preide na sdb, 1 KB na sdc in 1 KB na sdd. Potem, ko gremo, da preberemo 3 KB datoteko, bi vsak trdi disk predstavljal 1 KB, ki združuje hitrost treh pogonov. To omogoča hitro pisanje in branje podatkov, hkrati pa pomeni, da imamo eno samo točko neuspeha. Če samo en trdi disk ne uspe, bomo izgubili našo 3 KB datoteko.

    Če predpostavimo, da je varovanje vaših podatkov pomembnejše od hitrega dostopa, si poglejmo druge priljubljene nastavitve. Najprej bomo izbrisali zpool, ki smo ga ustvarili, da bomo lahko te diske uporabljali v redundantni namestitvi:

    $ sudo zpool uniči geek1

    Bam, naš zpool je izginil. Tokrat uporabimo tri diske, da ustvarimo RAID-Z bazen. RAID-Z je v bistvu izboljšana različica RAID 5, ker se izogne ​​»luknji za pisanje« s kopiranjem na pisanje. RAID-Z zahteva najmanj tri trde diske in je nekakšen kompromis med RAID 0 in RAID 1. V RAID-Z bazenu boste še vedno dobili hitrost stripinga na ravni bloka, vendar bo tudi porazdeljena pariteta. Če umre en sam disk v vašem bazenu, preprosto zamenjajte disk in ZFS bo samodejno obnovil podatke na podlagi paritetnih informacij iz drugih diskov. Če želite izgubiti vse informacije v pomnilniškem polju, bi morali umreti dva diska. Da bi bilo stvari še bolj odveč, lahko uporabite RAID 6 (RAID-Z2 v primeru ZFS) in imate dvojno pariteto.

    Da bi to dosegli, lahko uporabimo isto zpool create kot prej, vendar navedite raidz za imenom skupine:

    $ sudo zpool ustvarjanje -f geek1 raidz / dev / sdb / dev / sdc / dev / sdd

    Kot lahko vidite, df -h Pokazalo se je, da se je naš 9 TB bazen zdaj zmanjšal na 6 TB, ker se za shranjevanje informacij o parnosti uporabljajo 3 TB. Z status zpool ukaz, vidimo, da je naš bazen večinoma enak kot prej, zdaj pa uporablja RAID-Z.

    Da bi pokazali, kako enostavno je dodati več diskov v naše skladišče, dodamo še tri druge diske (še 9 TB) v našo skladišče geek1 kot drugo konfiguracijo RAID-Z:

    $ sudo zpool dodaj -f geek1 raidz / dev / sde / dev / sdf / dev / sdg

    Na koncu dobimo:

    Saga se nadaljuje ...

    Komaj smo opraskali površino ZFS-a in njegovih zmožnosti, toda z uporabo tega, kar ste izvedeli v tem članku, bi zdaj lahko ustvarili odvečne zbirke podatkov za shranjevanje. Preverite z nami prihodnje članke o ZFS-ju, si oglejte strani s priročniki in poiščite brezšivne nišne vodnike in videoposnetke v storitvi Youtube, ki pokrivajo funkcije ZFS.