Jak vytvořit svazek VDO na úložném zařízení na RHEL 8
VDO, zkratka pro Virtual Date Optimizer, zavedený RedHat ve verzi RHEL 7.5 a novějších inline deduplikace a komprese dat na úrovni blokového zařízení.
Myšlenka deduplikace je poměrně jednoduchá: odstranit kopie duplicitních dat a zůstat pouze u jedné kopie. Když je na blokové zařízení přidán identický soubor, je označen jako duplikát a místo toho se odkazuje na původní soubor. Při tom pomáhá VDO šetřit místo ve svazku bloku.
V tomto tutoriálu se naučíte, jak vytvořit svazek VDO na úložném zařízení v systému RHEL 8.
Krok 1: Nainstalujte VDO do RHEL 8
Chcete-li začít, přihlaste se na svůj server a aktualizujte RHEL pomocí příkazu dnf.
sudo dnf update -y
Po dokončení aktualizace balíčků a jádra pokračujte a nainstalujte moduly a závislosti jádra VDO pomocí příkazu.
sudo dnf install kmod-kvdo vdo
- vdo – Toto je sada nástrojů pro správu pro Virtual Data Optimizer.
- kmod-kvdo – Toto je skupina modulů jádra pro Virtual Data Optimizer.
Po úspěšné instalaci spusťte, povolte a ověřte démona vdo.
sudo systemctl start vdo
sudo systemctl enable vdo
sudo systemctl status vdo
Krok 2: Vytvořte svazek VDO v RHEL 8
Před vytvořením svazku vdo se ujistěte, že máte v systému další pevný disk. V tomto tutoriálu jsme připojili další svazek xvdb
. To lze demonstrovat spuštěním příkazu lsblk níže.
lsblk
Z výstupu je jasně vidět, že druhý disk má kapacitu 100GB.
Nyní vytvoříme prázdný svazek VDO na disku /dev/xvdb
.
sudo vdo create --name=vdo1 --device=/dev/xvdb --vdoLogicalSize=300G
Narazíte na zobrazenou chybu.
Toto je běžná chyba a řešením je jednoduše restartovat server.
sudo reboot
Při druhém pokusu se příkaz provede a vytvoří se prázdný svazek VDO na zařízení /dev/xvdb
.
sudo vdo create --name=vdo1 --device=/dev/xvdb --vdoLogicalSize=300G
Pojďme si příkaz rozebrat a podívat se na použitou možnost:
- vytvořit – Toto zahájí vytvoření svazku VDO.
- –name=vdo1 – Přidělí svazku štítek známý jako vdo1. Neváhejte přiřadit libovolné jméno podle svého výběru.
- –device=/dev/xvdb – Možnost zařízení určuje disk, na kterém bude svazek vytvořen.
- –vdoLogicalSize=300G – Označuje efektivní kapacitu svazku, kterou má operační systém využít, v tomto případě 300G.
Krok 3: Zkoumání nového svazku VDO
Nový svazek VDO byl vytvořen na /dev/mapper/vdo1
na základě výstupu, který jsme viděli v předchozím kroku. Můžeme použít příkaz ls, jak je znázorněno, k prozkoumání oprávnění a vlastnictví souboru.
ls -l /dev/mapper/vdo1
Chcete-li získat podrobnější informace, použijte příkaz vdostats k načtení statistik o velikosti a využití svazku.
vdostats --hu
Příznak --hu
zobrazuje informace ve formátu čitelném pro člověka, tj. ve formátu, který je mnohem snadněji čitelný a snadno dešifrovatelný. Atributy, jako je název zařízení, velikost na dalším disku, použité a dostupné místo, můžeme zobrazit jako %
využití.
Pečlivě sledujte, že úspora %
je označena jako Nepoužije se (N/A).
Všimněte si také, že již máme určité využití objemu 4,1G, což znamená 4 %, ale o objemu jsme nic nepsali. proč tomu tak je? Je to proto, že univerzální deduplikace již byla zapsána na disk a právě ona umožňuje deduplikaci.
Příkaz vdostats lze použít s příznakem --verbose
k získání podrobnějších informací, jak je znázorněno:
sudo vdostats --verbose /dev/mapper/vdo1 | grep -B6 ‘saving percent’
To, co můžete vidět, jsou v podstatě stejná data jako v předchozím příkladu, ale v jiném formátu.
Krok 4: Rozdělení svazku VDO
Po získání dostatečného množství informací o svazku jej musíme rozdělit na oddíly a později vytvořit souborový systém, aby jej bylo možné použít jako běžný disk.
Vytvořme fyzický svazek a skupinu svazků, jak je znázorněno, spusťte následující příkazy.
sudo pvcreate /dev/mapper/vdo1
sudo vgcreate vdo1vg /dev/mapper/vdo1
Chcete-li zobrazit statistiku běhu skupiny svazků:
sudo vgdisplay vdo1vg
Nyní vytvoříme 2 stejně velké logické svazky, každý s kapacitou 50G.
sudo lvcreate -n vdo1v01 -L 50G vdo1vg
sudo lvcreate -n vdo1v02 -L 50G vdo1vg
Později můžete zobrazit statistiky nově vytvořených svazků spuštěním příkazu.
sudo lvs
Krok 4: Formátování a připojení systémů souborů
Obvykle, když je vytvořen souborový systém, je na zařízení provedena operace trimování. To je v případě VDO nežádoucí. Při formátování pomocí příkazu mkfs použijte volbu -K
, která příkazu dá pokyn, aby během vytváření systému souborů nezahazoval bloky.
sudo mkfs.xfs -K /dev/vdo1vg/vdo1v01
sudo mkfs.xfs -K /dev/vdo1vg/vdo1v02
Pokud používáte souborový systém EXT$, použijte možnost „-E nodiscard “.
Vytvořte přípojné body pro připojení svazků:
sudo mkdir /data/v01
sudo mkdir /data/v02
Nyní připojte souborové systémy na jejich přípojné body, jak je znázorněno.
sudo mount -o discard /dev/vdo1vg/vdo1v01 /data/v01
sudo mount -o discard /dev/vdo1vg/vdo1v02 /data/v02
Nyní, když si prohlédnete objem VDO, zjistíte, že úspora %
se změnila na 99 %, což je docela působivé. To znamená, že deduplikace funguje podle očekávání.
sudo vdostats --hu
Můžete dále zkoumat pomocí příkazu df -Th. Ve spodní části uvidíte souborové systémy připojené k /data/v01
a /data/v02
.
df -hT
V tomto tutoriálu jsme si ukázali, jak můžete vytvořit svazek VDO z dalšího úložného zařízení na RHEL 8. Později jsme pokračovali a ukázali, jak můžete vytvořit více svazků a vytvořit z těchto svazků souborové systémy.