Zoeken op website

Een VDO-volume maken op een opslagapparaat op RHEL 8


Geïntroduceerd door RedHat in RHEL 7.5 en later, VDO, een afkorting van Virtual Date Optimizer, is een blokvirtualisatietechnologie die inline deduplicatie en compressie van gegevens op blokapparaatniveau.

Het idee van deduplicatie is vrij eenvoudig: kopieën van dubbele gegevens verwijderen en slechts één kopie overhouden. Wanneer een identiek bestand wordt toegevoegd aan een blokapparaat, wordt het gemarkeerd als duplicaat en wordt in plaats daarvan naar het originele bestand verwezen. Door dit te doen helpt VDO bij het besparen van ruimte op het blokvolume.

In deze zelfstudie leert u hoe u een VDO-volume maakt op een opslagapparaat op het RHEL 8-systeem.

Stap 1: Installeer de VDO in RHEL 8

Om te beginnen logt u in op uw server en werkt u uw RHEL bij met de opdracht dnf.

sudo dnf update -y

Nadat de update van de pakketten en kernel is voltooid, gaat u verder en installeert u de VDO kernelmodules en afhankelijkheden met behulp van de opdracht.

sudo dnf install kmod-kvdo vdo
  • vdo – Dit is een set beheertools voor Virtual Data Optimizer.
  • kmod-kvdo – Dit is een groep kernelmodules voor Virtual Data Optimizer.

Na een succesvolle installatie start, activeert en verifieert u de vdo daemon.

sudo systemctl start vdo
sudo systemctl enable vdo
sudo systemctl status vdo

Stap 2: Maak een VDO-volume in RHEL 8

Voordat u een vdo-volume aanmaakt, moet u ervoor zorgen dat er een extra harde schijf op uw systeem aanwezig is. In deze tutorial hebben we een extra volume xvdb bijgevoegd. Dit kan worden gedemonstreerd door de onderstaande opdracht lsblk uit te voeren.

lsblk

Uit de uitvoer kun je duidelijk zien dat de tweede schijf een capaciteit heeft van 100 GB.

Nu gaan we een leeg VDO volume aanmaken op de /dev/xvdb schijf.

sudo vdo create --name=vdo1 --device=/dev/xvdb --vdoLogicalSize=300G

U zult de weergegeven fout tegenkomen.

Dit is een veel voorkomende bug en de oplossing is om eenvoudigweg uw server opnieuw op te starten.

sudo reboot

Bij de tweede proefperiode wordt de opdracht uitgevoerd, waardoor een leeg VDO-volume wordt aangemaakt op het apparaat /dev/xvdb.

sudo vdo create --name=vdo1 --device=/dev/xvdb --vdoLogicalSize=300G

Laten we de opdracht opsplitsen en eens kijken naar de gebruikte optie:

  • create – Dit initieert de creatie van het VDO-volume.
  • –name=vdo1 – Dit geeft het volume een label dat bekend staat als vdo1. Voel je vrij om een naam naar keuze toe te wijzen.
  • –device=/dev/xvdb – De apparaatoptie specificeert de schijf waarop het volume wordt aangemaakt.
  • –vdoLogicalSize=300G – Dit geeft de effectieve volumecapaciteit aan die door het besturingssysteem moet worden gebruikt, in dit geval 300G.

Stap 3: Het nieuwe VDO-volume onderzoeken

Het nieuwe VDO volume is aangemaakt op /dev/mapper/vdo1 op basis van de uitvoer die we in de vorige stap zagen. We kunnen de opdracht ls gebruiken, zoals weergegeven, om bestandsrechten en eigendom te onderzoeken.

ls -l /dev/mapper/vdo1

Om meer inzichtelijke informatie te verkrijgen, gebruikt u de opdracht vdostats om statistieken op te halen over de grootte en het gebruik van het volume.

vdostats --hu

De vlag --hu geeft de informatie weer in een voor mensen leesbaar formaat, d.w.z. een formaat dat veel gemakkelijker te lezen en te ontcijferen is. We kunnen attributen zoals de apparaatnaam, de grootte op de extra schijf, gebruikte en beschikbare ruimte bekijken als het % gebruik.

Let er goed op dat de % besparing wordt aangegeven als Niet van toepassing (N.v.t.).

Houd er ook rekening mee dat we al enig volumegebruik 4.1G hebben, wat zich vertaalt naar 4%, maar dat we nog niets over het volume hebben geschreven. Waarom is dat? Dit komt omdat de universele deduplicatie al op de schijf is geschreven en dit is wat deduplicatie mogelijk maakt.

De opdracht vdostats kan worden gebruikt met de vlag --verbose om meer gedetailleerde informatie op te halen, zoals weergegeven:

sudo vdostats --verbose /dev/mapper/vdo1 | grep -B6 ‘saving percent’

Wat u kunt zien, zijn in principe dezelfde gegevens als het vorige voorbeeld, maar in een ander formaat.

Stap 4: Het VDO-volume partitioneren

Nadat we voldoende inzichten uit het volume hebben verkregen, moeten we het partitioneren en later een bestandssysteem maken zodat het als een normale schijf kan worden gebruikt.

Laten we een fysiek volume en een volumegroep maken zoals weergegeven, en voer de volgende opdrachten uit.

sudo pvcreate /dev/mapper/vdo1
sudo vgcreate vdo1vg /dev/mapper/vdo1

Om de statistieken van de volumegroeprun weer te geven:

sudo vgdisplay vdo1vg

Nu gaan we twee logische volumes van gelijke grootte creëren, elk met een capaciteit van 50G.

sudo lvcreate -n vdo1v01 -L 50G vdo1vg
sudo lvcreate -n vdo1v02 -L 50G vdo1vg

U kunt later de statistieken van de nieuw gemaakte volumes bekijken door de opdracht uit te voeren.

sudo lvs

Stap 4: Bestandssystemen formatteren en mounten

Wanneer een bestandssysteem wordt aangemaakt, wordt doorgaans een trimbewerking op het apparaat uitgevoerd. Bij de VDO is dit ongewenst. Wanneer u formatteert met de opdracht mkfs, gebruikt u de optie -K om de opdracht te instrueren blokken niet te verwijderen tijdens het maken van het bestandssysteem.

sudo mkfs.xfs  -K /dev/vdo1vg/vdo1v01
sudo mkfs.xfs  -K /dev/vdo1vg/vdo1v02

Als u het EXT$ bestandssysteem gebruikt, gebruik dan de “-E nodiscard ” optie.

Maak de koppelpunten voor het koppelen van de volumes:

sudo mkdir /data/v01
sudo mkdir /data/v02

Mount nu de bestandssystemen op hun mountpunten, zoals weergegeven.

sudo mount -o discard /dev/vdo1vg/vdo1v01  /data/v01
sudo mount -o discard /dev/vdo1vg/vdo1v02  /data/v02

Wanneer u nu het VDO-volume inspecteert, zult u merken dat de besparing van % is veranderd naar 99%, wat behoorlijk indrukwekkend is. Dit impliceert dat deduplicatie werkt zoals verwacht.

sudo vdostats --hu

U kunt verder onderzoek doen met de opdracht df -Th. In het onderste gedeelte zie je de bestandssystemen die respectievelijk op /data/v01 en /data/v02 zijn gemount.

df -hT

In deze tutorial hebben we gedemonstreerd hoe u een VDO-volume kunt maken vanaf een extra opslagapparaat op RHEL 8. We gingen later verder en lieten zien hoe je meer volumes kunt maken en bestandssystemen kunt maken van die volumes.