GNU/Linux >> Znalost Linux >  >> Linux

Jak používat snímky, klony a replikace v ZFS na Linuxu

V předchozím tutoriálu jsme se naučili, jak vytvořit zpool a souborový systém ZFS nebo datovou sadu. V tomto tutoriálu vám krok za krokem ukážu, jak pracovat se snímky ZFS, klony a replikacemi. Snímek, klon. a replikace jsou nejvýkonnější funkce souborového systému ZFS.

Snímky ZFS – přehled

Snapshot je jednou z nejvýkonnějších funkcí ZFS. Snímek poskytuje kopii souborového systému nebo svazku pouze pro čtení v určitém okamžiku, která nezabírá místo navíc ve fondu ZFS. Snímek využívá pouze prostor, když se změní odkazy na blok. Snímky zachovávají místo na disku tím, že zaznamenávají pouze rozdíly mezi aktuální datovou sadou a předchozí verzí.

Typickým příkladem použití snímku je rychlý způsob zálohování aktuálního stavu systému souborů, když se provádí riskantní akce, jako je instalace softwaru nebo aktualizace systému.

Vytvoření a zničení snímku ZFS

Ke snímkům svazků nelze přistupovat přímo, ale lze je naklonovat, zálohovat a vrátit se zpět. Vytvoření a zničení snímku ZFS je velmi snadné, můžeme k tomu použít příkazy zfs snapshot a zfs cancel.

Vytvořte fond s názvem datapool.

# zpool vytvořit zrcadlo datového fondu /dev/sdb /dev/sdc 
# seznam zpool
NÁZEV       VELIKOST        VELIKOST  PŘIDĚLENÍ   ZDARMA  ROZŠÍŘENÍ    FRAG    CAP  DEDUP  HEALTH  ALTROOT   ALTROOT   98 G            %         % 0 %  1,00x  ONLINE  ​​-

Nyní máme fond nazvaný datapool, dále musíme vytvořit jeden souborový systém ZFS pro simulaci funkce snímku.

# zfs vytvořit datový fond/docs -o mountpoint=/docs
# zfs list -r datový fond
NÁZEV             POUŽITÉ  DOSTUPNÉ  REFEROVAT  MOUNTPOINT
datapool       93,5 kB  1,92 G /  19 K datapool/docs    19 000  1,92 G    19 000  /docs

K vytvoření snímku systému souborů můžeme použít příkaz zfs snapshot zadáním fondu a názvu snímku. Pokud chceme vytvořit snímek rekurzivně, můžeme použít možnost -r. Název snímku musí splňovat následující požadavky na pojmenování:

[chráněno e-mailem][chráněno e-mailem]
# zfs snapshot datapool/[e-mail chráněný]
# zfs list -t snapshot
NAME                               POUŽITÉ  DOSTUPNÉ  REFEROVAT  MOUNTPOINT
datapool/[chráněno e-mailem] K       0    5 - 5.

Vytvoří se snímek datového fondu/dokumentů.

Ke zničení snímku můžeme jako obvykle použít příkaz zfs zničit.

# zfs zničit datový fond/[e-mail chráněno]
# zfs list -t snímek
žádné datové sady nejsou k dispozici

Vrácení snímku zpět

Pro simulaci musíme vytvořit testovací soubor v adresáři /docs.

# echo "verze 1"> /docs/data.txt
# cat /docs/data.txt
verze 1
# zfs snapshot datapool/[e-mail chráněný]
# zfs list -t snapshot
NAME                               POUŽITÉ  DOSTUPNÉ  REFEROVAT  MOUNTPOINT
datapool/[chráněno e-mailem] K      9K   9 -> > 5 před.

Nyní změníme obsah /docs/data.txt

# echo "verze 2"> /docs/data.txt
# cat /docs/data.txt
verze 2

Můžeme se úplně vrátit ke staršímu snímku, který nám poskytne časovou kopii v době, kdy byl snímek pořízen.

# zfs list -t snímek
NAME                      POUŽITÉ  DOSTUPNÉ  REFERENČNÍ  MOUNTPOINT
datapool/[chráněné e-maily]  9,50 000       -  19,5 000  -
#/zfs rollback data ># cat /docs/data.txt
verze 1

Jak vidíme, obsah souboru data.txt je zpět k předchozímu obsahu.

Pokud chceme snímek přejmenovat, můžeme použít příkaz zfs rename.

# zfs rename datapool/[email protected] datapool/[email protected]
# zfs list -t snapshot
NAME                      POUŽITÉ  DOSTUPNÉ  REFERENCI MOUNTPOINT
datapool/[e-mail chráněno -    9.       19,5 000  -

Poznámka:datovou sadu nelze zničit, pokud existují snímky této datové sady, ale můžeme to přepsat pomocí volby -r.

# zfs zničit datapool/docs
nelze zničit 'datapool/docs':souborový systém má děti
použijte '-r' ke zničení následujících datových sad:
datapool/[email protected]
# zfs zničit -r datapool/docs
# zfs list -t snímek
žádné datové sady nejsou k dispozici

Přehled klonů ZFS

Klon je zapisovatelný svazek nebo souborový systém, jehož počáteční obsah je stejný jako datová sada, ze které byl vytvořen.

Vytvoření a zničení klonu ZFS

Klony lze vytvořit pouze ze snímku a snímek nelze odstranit, dokud neodstraníte klon, který je založen na tomto snímku. Chcete-li vytvořit klon, použijte příkaz zfs clone.

# zfs vytvořit datový fond/docs -o mountpoint=/docs
# zfs list -r datový fond
NÁZEV             POUŽITÉ  DOSTUPNÉ  REFEROVAT  MOUNTPOINT
datapool       93,5 kB  1,92 G /  19 K datapool/docs    19 000  1,92 G    19 000  /docs
# mkdir /docs/folder{1..5}
# ls /docs/
složka1  složka2  složka3  složka4  složka5
# zfs snapshot datapool/[e-mail protected]
# zfs list -t snapshot
NAME                   POUŽITÉ  DOSTUPNÉ  REFEROVAT  MOUNTPOINT
datapool/[chráněno e-mailem]       0        -   

Nyní vytvoříme klon z datového fondu snímku/[email protected]

# zfs klon datapool/[e-mail chráněný] datapool/pict
# seznam zfs
NÁZEV            POUŽITÉ  DOSTUPNÝ  REFERENČNÍ MOUNTPOINT
datapool        166 000  1,92 G    19 kB datový fond/19 K s / 1,92 G    19 000  /docs
datapool/pict     1 000  1,92 G    19 000  /datapool/pict

Proces klonování je dokončen, datový fond snímku/[email protected] byl naklonován do /datapool/pict. Když kontrolujeme obsah adresáře /datapool/pict, obsah by měl být stejný než obsah /datapool/docs.

# ls /datapool/pict
složka1  složka2  složka3  složka4  složka5

Poté, co jsme naklonovali snímek, snímek nelze smazat, dokud nevymažete datovou sadu.

# zfs zničit datový fond/[chráněno e-mailem]
nelze zničit 'datapool/[chráněn e-mailem]':snímek má závislé klony
použijte '-R' ke zničení následujících datových sad:
datapool/pict
# zfs zničit datapool/pict

Konečně můžeme snímek zničit.

# zfs zničit datový fond/[e-mail chráněno]
# zfs list -t snímek
žádné datové sady nejsou k dispozici

Přehled replikace ZFS

Základem této replikace ZFS je snímek, snímek můžeme vytvořit kdykoli a můžeme vytvořit libovolný počet snímků. Neustálým vytvářením, přenosem a obnovováním snímků můžete zajistit synchronizaci mezi jedním nebo více počítači. ZFS poskytuje vestavěnou funkci serializace, která může odeslat proudovou reprezentaci dat na standardní výstup.

Konfigurace replikace ZFS

V této části vám chci ukázat, jak replikovat datovou sadu z datového fondu do fondu zálohování, ale je možné nejen uložit data do jiného fondu připojeného k místnímu systému, ale také je odeslat přes síť do jiného systému. Příkazy používané pro replikaci dat jsou zfs send a zfs receiver.

Vytvořte další fond s názvem backuppool.

# zpool vytvořit backuppool mirror sde sdf
# zpool list
NÁZEV         VELIKOST  ALLOC   ZDARMA  ROZŠÍŘIT    CAP  DEDUP  HEALTH  ALTROOT 
záložní fond  1,98 G     0                                                                               .
datapool    1,98G   568K  1,98G         -     0 %     0 %  1,00 x  ONLINE  ​​-

Zkontrolujte stav bazénu:

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

        JMÉNO        STAV     PŘEČTĚTE ZÁPIS CKSUM
Datapool online 0 0 0
Mirror-0 online 0 0 0
SDB online 0 0 0
SDC online 0 0 0

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

fond:záložní fond
 stav:ONLINE
  skenování:není požadováno
config:

        JMÉNO         STAV     ČTĚTE ZÁPIS CKSUM
        zálohovací fond    ONLINE          0      0 mirror-0  ONLINE       0     0     0
            sde     ONLINE       0     0     0
             chyba sdf        Chyba sdf:žádná br ONLINE 0      chyby

Vytvořte datovou sadu, kterou budeme replikovat.

# zfs snapshot datapool/[e-mail chráněný]
# zfs list -t snapshot
NAME                   POUŽITÉ  DOSTUPNÉ  REFER  MOUNTPOINT
datapool/[e-mail chráněno]   <   0       -    ># ls /docs/
složka1  složka2  složka3  složka4  složka5

Je čas provést replikaci.

# zfs send datapool/[email protected] | zfs obdrží zálohovací fond/zálohu
# seznam zfs
NAME                 POUŽITÉ  AVAIL  REFER  MOUNTPOINT
záložní fond            83 000  1,92 G    19 000 /záloha  1 záloha/9 G  záloha   1 k záloha 
datapool            527 000  1,92 G    19 000  /datapool
datapool/docs        19 000  1,92 G    19 000  /docs
# ls /backuppool/backup
složka1  složka2  složka3  složka4  složka5

Datový fond datové sady/[e-mail chráněný] byl úspěšně replikován do fondu záloh/zálohy.

K replikaci datové sady na jiný počítač můžeme použít následující příkaz:

# zfs send datapool/[email protected] | ssh otherserver zfs recv backuppool/backup

Hotovo.

Závěr

Snímek, klonování a replikace jsou nejvýkonnější funkce ZFS. Snímky se používají k vytváření kopií systémů souborů nebo svazků v určitém okamžiku, klonování se používá k vytvoření duplicitní datové sady a replikace se používá k replikaci datové sady z jednoho datového fondu do jiného datového fondu na stejném počítači nebo k replikaci datového fondu mezi různými stroje.


Linux
  1. Co je příkaz Chown v Linuxu a jak jej používat

  2. Jak nainstalovat a používat Flatpak v Linuxu

  3. Jak nainstalovat a používat Traceroute v Linuxu

  1. Jak nainstalovat a používat telnet na Kali Linux

  2. Jak používat TimeShift k zálohování a obnovení Ubuntu Linux

  3. Jak nainstalovat a používat Linux Screen?

  1. Linux Tail Command:Co to je a jak jej používat

  2. Jak nainstalovat a používat SSHFS na Linuxu

  3. Jak nainstalovat a používat Slack v Linuxu