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 dispoziciVrá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 2Můž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 1Jak 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/pictProces 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žka5Poté, 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/pictKoneč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 datfond: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 chybyVytvoř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žka5Je č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žka5Datový 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/backupHotovo.
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