GNU/Linux >> Znalost Linux >  >> Debian

Jak nainstalovat a nakonfigurovat ZFS na Linuxu pomocí Debian Jessie 8.1

Na této stránce

  1. Předpoklady:
  • Krok 1 – Aktualizujte úložiště a aktualizujte systém Debian Linux
  • Krok 2 – Nainstalujte zfsonlinux
  • Krok 3 – Vytvořte a nakonfigurujte fond
  • Krok 5 – Vytvořte a nakonfigurujte souborový systém ZFS
  • Závěr
  • ZFS je kombinovaný souborový systém a správce logických svazků. Mezi funkce ZFS patří ochrana proti poškození dat, podpora velkých úložných kapacit, efektivní komprese dat, integrace souborového systému a koncepce správy svazků, snímky a klony kopírování při zápisu, průběžná kontrola integrity a automatické opravy, RAID-Z a nativní NFSv4 ACL.

    ZFS byl původně implementován jako software s otevřeným zdrojovým kódem, licencovaný pod Common Development and Distribution License (CDDL).

    Když mluvíme o souborovém systému ZFS, můžeme zdůraznit následující klíčové pojmy:

    • Integrita dat.
    • Jednoduchá správa úložiště pouze se dvěma příkazy:zfs a zpool.
    • Všechno lze provést, když je souborový systém online.

    Úplný přehled a popis všech dostupných funkcí naleznete v tomto podrobném článku na wikipedii.

    V tomto tutoriálu vás krok za krokem provedu instalací souborového systému ZFS na Debian 8.1 (Jessie). Ukážu vám, jak vytvořit a nakonfigurovat fondy pomocí raid0 (stripe), raid1 (Mirror) a RAID-Z (Raid s paritou) a vysvětlím, jak nakonfigurovat systém souborů pomocí ZFS.

    Na základě informací z webu www.zfsonlinux.org je ZFS podporováno pouze na 64bitové architektuře AMD64 a Intel (amd64). Začněme s nastavením.

    Předpoklady:

    • Debian 8 s 64bitovým jádrem.
    • práva root.

    Krok 1 – Aktualizace úložiště a aktualizace systému Debian Linux

    Chcete-li přidat úložiště zfsonlinux do našeho systému, stáhněte a nainstalujte balíček zfsonlinux, jak je znázorněno níže. Tím do počítače přidáte soubory /etc/apt/sources.list.d/zfsonlinux.list a /etc/apt/trusted.gpg.d/zfsonlinux.gpg. Poté můžete zfs nainstalovat jako jakýkoli jiný balíček Debianu pomocí příkazu apt-get. Další výhodou používání úložiště zfsonlinux je, že aktualizace získáváte automaticky spuštěním "apt-get update &&apt-get upgrade".

    Přihlaste se k serveru Debian s přístupem SSH, staňte se uživatelem root a poté spusťte následující příkazy.

    # uname -a
    Linux debian-zfs 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1 (24.05.2015) x86_64 GNU/Linux
    # wget http://archive.zfsonlinux.org/debian/pool/main/z/zfsonlinux/zfsonlinux_6_all.deb
    # dpkg -i zfsonlinux_6_all.deb
    # aktualizace apt-get

    Krok 2 – Instalace zfsonlinux

    Zfsonlinux má mnoho softwarových závislostí, které se apt instalují automaticky. Tento proces bude chvíli trvat. Po dokončení instalace restartujte server.

    # apt-get install lsb-release
    # apt-get install debian-zfs
    # shutdown -r now

    Krok 3 – Vytvoření a konfigurace fondu

    Po restartování serveru zkontrolujte, zda je nainstalován zfsonlinux a zda dobře běží.

    # dpkg -l | GREP ZFS 
    II Debian-ZFS 7 ~ Jessie AMD64 Native Zfs Filesystem Metapackage pro Debian.
    II libzfs2 0,6.5.2-2 AMD64 Nativní knihovna souborových systémů ZFS pro Linux
    ii ZFS-DKMS 0,6.5.2 -2 Všechny nativní moduly jádra souborového systému ZFS pro Linux
    ii ZfsonLinux 6 All Archive.ZfsonLinux.org Trust Package
    II ZfSutils 0.6.5.2-2 AMD64 příkazové linie pro správu souborů ZFS

    Výše uvedený výsledek ukazuje, že zfs na linuxu je již nainstalován, takže můžeme pokračovat ve vytváření prvního fondu.

    Na tento server jsem přidal pět disků, každý o velikosti 2 GB. Dostupné disky můžeme zkontrolovat pomocí tohoto příkazu:

    # ls /dev/sd*
    /dev/sda  /dev/sda1  /dev/sda2  /dev/sda5  /dev/sdb  /dev/sdc  /dev/sdd  /dev/sde  /dev/sdf /dev/sdg

    Vidíme, že máme /dev/sda, dokud /dev/sdg, /dev/sda se používá pro operační systém Debian Linux Jessie 8.1. Pro souborový systém ZFS budeme používat /dev/sdb až do /dev/sdg.

    Nyní můžeme začít vytvářet pool, pro první vám ukážu, jak vytvořit raid0 (stripe).

    # zpool list
    žádné bazény nejsou k dispozici
    # zpool create -f pool0 /dev/sdb
    # zpool list
    JMÉNO    VELIKOST  ALOC   ZDARMA  ROZŠÍŘENÍ   FRAG    CAP  DEDUP  ZDRAVÍ  ALTROOT
    pool0  1,98 G    64 K   % 0            %       %      % x  ONLINE  ​​-

    Příkaz "zpool list" ukazuje, že jsme úspěšně vytvořili jeden fond raid0 zfs, název fondu je pool0 a velikost je 2 GB.

    Dále vytvoříme raid1 (zrcadlení) s ostatními disky.

    # zpool create -f pool1 mirror /dev/sdc /dev/sdd
    # zpool list
    JMÉNO    VELIKOST  ALOC   ZDARMA  ROZŠÍŘENÍ    FRAG    CAP  DEDUP  HEALTH  ALTROOT
    980  1,98 G       1    1 0 %     0 %  1,00x  ONLINE  ​​-
    pool1  1,98G    64K  1,98G         -     0%     0%  1,00x  ONLINE  ​​-

    Vidíme, že nyní máme dva fondy, pool0 pro raid0 a pool1 pro raid1.

    Chcete-li zkontrolovat stav fondu, můžeme použít příkaz níže:

    # stav zpool
      fond:pool0
     stav:ONLINE
      skenování:není požadováno
    config:

            JMÉNO        STAV     PŘEČTĚTE ZÁPIS CKSUM
            pool0       ONLINE       0     0     0
               sdb        ONLINE        0     0     0

    chyby:Žádné známé chyby bazénu:1>
    Skenování:Žádné požadováno
    Konfigurace:

    Název Stav Číst zápis cksum
    Pool1 online 0 0 0
    Mirror-0 online 0 0 0
    SDC online 0     0     0
                sdd     ONLINE       0     0     0

    chyby:Žádné známé chyby dat

    Stav fondu můžeme zkontrolovat příkazem "zpool status". Můžeme vidět rozdíl mezi pool0 a pool1, pool0 má pouze jeden disk a pool1 má dva disky a stav disků je zrcadlení (mirror-0).

    Dále vytvoříme fond s RAID-Z, RAID-Z je schéma distribuce dat/parity jako RAID-5, ale používá šířku dynamického pruhu:každý blok má svůj vlastní pruh RAID, bez ohledu na velikost bloku, což má za následek, že každý zápis RAID-Z je zápis v celém proužku.

    RAID-Z vyžaduje minimálně tři pevné disky a je jakýmsi kompromisem mezi RAID 0 a RAID 1. Ve fondu RAID-Z:Pokud jeden disk ve vašem fondu zemře, jednoduše jej vyměňte a ZFS automaticky obnoví data na základě informací o paritě z ostatních disků. Chcete-li přijít o všechny informace ve vaší oblasti úložiště, musely by zemřít dva disky. Aby bylo nastavení disku ještě redundantnější, můžete použít RAID 6 (RAID-Z2 v případě ZFS), abyste získali dvojitou paritu.

    Nejprve vytvořte fond RAID-Z s jednou paritou.

    # zpool create -f poolz1 raidz sde sdf sdg
    # zpool list poolz1
    JMÉNO     VELIKOST  ALLOC   ZDARMA  ROZŠÍŘENÍ    FRAG    CAP  DEDUP  HEALTH  ALTROOT 0  HEALTH  ALTROOT 0 5,99 G  G  5,99 %  % 5,99 %  % 1,00x  ONLINE  ​​-
    # stav zpool poolz1
      pool:poolz1
     stav:ONLINE
      skenování:není požadováno
    config:

            JMÉNO         STAV       PŘEČTĚTE ZÁPIS CKSUM
    Poolz1 online 0 0 0
    Raidz1-0 online 0 0 0 0
    SDE online 0 0 0
    SDF online 0 0 0
    SDG online 0 0 0
    <
    <

    chyby:Žádné známé chyby dat
    # df -h /poolz1
    Systém souborů      Velikost  Využitá Dostupnost Využití % Namontováno na
    poolz1          3,9G     0  3,9G   0 % /poolz1

    Jak vidíme, df -h ukazuje, že náš 6GB fond byl nyní zredukován na 4GB, 2GB se používají k uložení informací o paritě. Pomocí příkazu zpool status vidíme, že náš fond nyní používá RAID-Z.

    Dále vytvoříme RAID-Z2 (raid 6), pro tento účel musíme odstranit stávající fond, protože nejsou k dispozici žádné další disky. Odstranění fondu je velmi snadné, můžeme k tomu použít příkaz zpool zničit.

    # Zpool seznam 
    Velikost názvu přidělení zdarma ExpandSZ Frag Cap DeDup Health Altroot
    Pool0 1,98G 64K 1,98G -0%0%1,00x online -
    Pool1 1,98 g 64K 1,98G - 0 %     0 %  1,00x  ONLINE  ​​-
    poolz1  5,94G   117K  5,94G         -     0%     0%  1,00x  ONLINE  ​​-
    # zpool zničit pool0
    # zpool zničit pool1
    # zpool zničit poolz1
    # zpool seznam
    žádné dostupné fondy

    Nyní jsou všechny naše fondy pryč, takže můžeme vytvořit fond RAID-Z2.

    # zpool vytvořit poolz2 raidz2 sdb sdc sdd sde
    # zpool list
    NÁZEV     VELIKOST  PŘIDĚLENÍ   ZDARMA  ROZŠÍŘENÍ    FRAG    CAP  DEDUP  HEALTH  ALTROOT
    poolz2  7,95 G   0 0 0 7 %    1 0 7 %       ONLINE  ​​-
    # df -h /poolz2
    Souborový systém      Velikost  Využitá Dostupnost Využití % Namontováno na
    poolz2          3,9G     0  3,9G   0 % /poolz2
    # stav zpool poolz2
      fond:poolz2
     stav:ONLINE
      skenování:žádné není požadováno
    config:

            JMÉNO         STAV        STAV     PŘEČTĚTE ZÁPIS CKSUM
    Poolz2 online 0 0 0
    Raidz2-0 online 0 0 0 0
    SDB online 0 0 0
    SDC online 0 0 0 0
    SDD online 0 0 0
    SDE ONLINE       0     0     0

    Chyby:Žádné známé chyby dat

    Jak vidíme, df -h ukazuje, že náš 8GB fond byl nyní zredukován na 4GB, protože 4GB se používá k uchování informací o paritě dvakrát. S příkazem "zpool status" vidíme, že náš fond nyní používá RAID-Z2.

    Krok 4 – Simulace selhání disku

    V tomto kroku budeme simulovat katastrofální selhání disku (tj. jeden z pevných disků ve zpoolu přestane fungovat).

    Vytvořte soubor v poolz2 a ujistěte se, že k němu máme přístup.

    # echo "Pouze test"> /poolz2/test.txt
    # cat /poolz2/test.txt
    Pouze test

    Než nasimulujeme selhání:zkontrolujte stav poolz2 a ujistěte se, že stav je Online a že stav všech disků je Online.

    Selhání je simulováno zápisem náhodných dat pomocí příkazu dd do /dev/sdb .

    # dd if=/dev/urandom of=/dev/sdb bs=1024 count=20480
    # zpool scrub poolz2
    # zpool stav
      pool:poolz2
     stav :ONLINE
    stav:U jednoho nebo více zařízení došlo k neopravitelné chybě. Byl učiněn
            pokus o opravu chyby. Aplikace nejsou ovlivněny.
    akce:Určete, zda je třeba zařízení vyměnit, a odstraňte chyby
            pomocí příkazu „zpool clear“ nebo nahraďte zařízení příkazem „zpool replacement“.
       viz:http://zfsonlinux.org/msg/ZFS-8000-9P
      skenování:čištění opraveno 17 kB za 0h0m s 0 chybami v úterý 8. prosince 22:37:49 2015
    config:

    Název State Read Write Cksum
    Poolz2 online 0 0 0
    Raidz2-0 online 0 0 0
    SDB online 0 0 25
    SDC online 0 0 0
    SDD online 0     0     0
                sde     ONLINE       0     0     0

    chyby:Žádné známé chyby dat

    Nyní vidíme, že u jednoho nebo více disků došlo k neopravitelné chybě, takže musíme disk vyměnit. V tomto případě nahradíme disk /dev/sdb diskem /dev/sdf.

    # zpool nahradit poolz2 sdb sdf
    # stav zpool
      pool:poolz2
     stav:ONLINE
      skenování:přestříbřeno 49,5 kB za 0h0m s 0 chybami v úterý 8. prosince 22:43:35 2015
    Konfigurace:

    Název State Read Write Cksum
    Poolz2 online 0 0 0
    Raidz2-0 online 0 0 0
    SDF online 0 0 0
    SDC online 0 0 0
    SDD online 0 0 0 0
    SDE Online 0 0 0

    Chyby:Žádné známé chyby dat

    Poté, co jsme nahradili /dev/sdb za /dev/sdf, chyba je pryč a stále máme přístup k testovacímu souboru, který jsme vytvořili dříve.

    # cat /poolz2/test.txt
    Pouze test

    Do tohoto kroku víme, jak vytvořit a nakonfigurovat zpool.

    Krok 5 – Vytvoření a konfigurace systému souborů ZFS

    V dalším kroku se naučíme, jak vytvořit a nakonfigurovat souborový systém ZFS.

    # zfs list
    NÁZEV     POUŽITÉ  DOSTUPNÉ  REFEROVAT  MOUNTPOINT
    poolz2   105 000  3,83 G  26,1 000  /poolz2

    Již máme jeden souborový systém ZFS, který se automaticky přidá, když vytvoříme zpool. Nyní vytvoříme další souborový systém ZFS.

    # zfs vytvořit poolz2/tank
    # zfs list
    NÁZEV          POUŽITÉ  DOSTUPNÉ  REFEROVAT  MOUNTPOINT
    poolz2        132 K  3,83 G  26,1 K  /poolz2
    84 G 25 5.5. /poolz2/tank
    # df -h | grep poolz2
    poolz2          3,9G  128K  3,9G   1 % /poolz2
    poolz2/tank     3,9G  128K  3,9G   1 % /poolz2/tank

    Velmi snadné, že? Vytvoříme nový souborový systém ZFS s názvem tank a automaticky jej připojíme jako /poolz2/tank.

    Jak vytvořit vlastní přípojný bod pro souborový systém ZFS? Použijte níže uvedený příkaz:

    # zfs create poolz2/data -o mountpoint=/data
    # df -h | grep poolz2
    poolz2          3,9G     0  3,9G   0 % /poolz2
    poolz2/tank     3,9G     0  3,9G   0 % /poolz2/tank data . . 9 0 % /3,9 G % dat/3 . G  z 

    Jak upravit stávající přípojný bod? Můžeme to udělat pomocí příkazu níže:

    # zfs set mountpoint=/tank poolz2/tank
    # df -h | grep poolz2
    poolz2          3,9G     0  3,9G   0 % /poolz2
    poolz2/data     3,9G     0  3,9G   0 % /data
    0   3 % / nádrž  G  9 G   před>

    Chcete-li připojit a odpojit souborový systém, použijte příkaz níže:

    # zfs odpojit /data
    # df -h | grep poolz2
    poolz2          3,9G     0  3,9G   0 % /poolz2
    poolz2/tank     3,9G     0  3,9G   0 % /tank
    # zfs mount poolz2/data
    # df -h | grep poolz2
    poolz2          3,9G     0  3,9G   0 % /poolz2
    poolz2/tank     3,9G     0  3,9G   0 % /tank 
     0 z 3,9 % dat 

    Odstranění souborového systému zfs je velmi snadné, můžeme k tomu použít příkaz zfs zničit.

    # zfs zničit poolz2/data
    # zfs list
    NÁZEV          POUŽÍT  DOSTUPNOST  REFEROVAT  MOUNTPOINT
    poolz2        152 000  3,83 G  26,1 000  /poolz2
    3 000 G 25 000/000 /tank

    Souborový systém /data je pryč.

    Závěr

    Souborový systém ZFS je nový revoluční souborový systém, který zásadně mění způsob správy souborových systémů na operačních systémech podobných Unixu. ZFS poskytuje funkce a výhody, které nebyly nalezeny v žádném jiném dnes dostupném souborovém systému. ZFS je robustní, škálovatelný a snadno se spravuje.


    Debian
    1. Jak nainstalovat a nakonfigurovat docker na Debian 11

    2. Jak nainstalovat a nakonfigurovat Mariadb 10 v Debianu 11

    3. Jak nainstalovat a nakonfigurovat MongoDB 5 na Debian 11

    1. Jak nainstalovat a nakonfigurovat VNC na Debian 9

    2. Jak nainstalovat a nakonfigurovat Redis 6 na Debian 11

    3. Jak nainstalovat a nakonfigurovat Node.js a npm v Ubuntu, Debianu nebo Linux Mintu

    1. Jak nainstalovat a nakonfigurovat Redis na Debian 9

    2. Jak nainstalovat a nakonfigurovat Nagios na Debian 9

    3. Jak nainstalovat a nakonfigurovat Zabbix na Debian 9 Linux