Sådan oprettes et VDO-volumen på en lagerenhed på RHEL 8


Introduceret af RedHat i RHEL 7.5 og senere, er VDO-forkortelse for Virtual Date Optimizer en blokvirtualiseringsteknologi, der giver inline deduplikering og komprimering af data på blokniveau.

Ideen om deduplikering er ret enkel: at fjerne kopier af duplikatdata og kun forblive med en kopi. Når en identisk fil tilføjes på en blokenhed, markeres den som en duplikat, og den originale fil henvises i stedet. Dermed hjælper VDO med at spare blokvolumen plads.

I denne vejledning lærer du, hvordan du opretter en VDO-lydstyrke på en lagerenhed på RHEL 8-systemet.

Trin 1: Installer VDO i RHEL 8

For at komme i gang skal du logge på din server og opdatere din RHEL ved hjælp af dnf-kommandoen.

$ sudo dnf update -y

Når opdateringen af pakkerne & kernen er afsluttet, skal du fortsætte og installere VDO-kernemodulerne og afhængigheder ved hjælp af kommandoen.

$ sudo dnf install kmod-kvdo vdo

  • vdo - Dette er et sæt styringsværktøjer til Virtual Data Optimizer.
  • kmod-kvdo - Dette er en gruppe kernemoduler til Virtual Data Optimizer.

Efter vellykket installation skal du starte, aktivere og kontrollere vdo-dæmonen.

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

Trin 2: Opret en VDO-volumen i RHEL 8

Før du opretter en vdo-lydstyrke, skal du sikre dig, at du har en ekstra harddisk på dit system. I denne vejledning har vi knyttet et ekstra volumen xvdb . Dette kan demonstreres ved at køre kommandoen lsblk nedenfor.

$ lsblk

Fra output kan du tydeligt se, at den anden disk har en kapacitet på 100 GB.

Nu opretter vi en tom VDO-volumen på /dev/xvdb disk.

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

Du vil støde på den viste fejl.

Dette er en almindelig fejl, og løsningen er simpelthen at genstarte din server.

$ sudo reboot

I det andet forsøg udføres kommandoen og opretter en tom VDO-lydstyrke på enheden /dev/xvdb .

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

Lad os nedbryde kommandoen og se på den anvendte mulighed:

  • Opret - Dette starter oprettelsen af VDO-diskenheden.
  • –navn = vdo1 - Dette giver lydstyrken en etiket kendt som vdo1. Du er velkommen til at tildele ethvert navn efter eget valg.
  • –enhed =/dev/xvdb - Enhedsindstillingen specificerer den disk, som lydstyrken oprettes på.
  • –vdoLogicalSize = 300G - Dette angiver den effektive volumenkapacitet, der skal bruges af operativsystemet, i dette tilfælde 300G.

Trin 3: Undersøgelse af den nye VDO-volumen

Den nye VDO-lydstyrke er oprettet ved /dev/mapper/vdo1 ved at gå efter den output, vi så i det forrige trin. Vi kan bruge kommandoen ls som vist til at undersøge filtilladelser og ejerskab.

$ ls -l /dev/mapper/vdo1

For at få mere indsigtsfuld information skal du bruge kommandoen vdostats til at hente statistikker om størrelsen og brugen af lydstyrken.

$ vdostats --hu

Flagget --hu viser oplysningerne i et menneskeligt læsbart format, dvs. et format, der er meget lettere at læse og dechifrere med lethed. Vi kan se attributter som enhedsnavnet, størrelsen på den ekstra disk, brugt og ledig plads som % -forbruget.

Vær nøje opmærksom på, at % Saving er angivet som ikke relevant (N/A).

Bemærk også, at vi allerede har en vis volumenforbrug 4.1G, som oversættes til 4%, men vi har ikke skrevet noget om lydstyrken. Hvorfor det? Dette skyldes, at den universelle deduplisering allerede er skrevet på disken, og det er det, der gør deduplicering mulig.

Kommandoen vdostats kan bruges med --verbose -flaget for at hente mere detaljerede oplysninger som vist:

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

Hvad du kan se, er dybest set de samme data som det foregående eksempel, men i et andet format.

Trin 4: Partitionering af VDO-lydstyrken

Efter at have fået tilstrækkelig indsigt fra lydstyrken skal vi partitionere det og senere oprette et filsystem, så det kan bruges som en normal disk.

Lad os oprette en fysisk lydstyrke og lydgruppe som vist, kør følgende kommandoer.

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

Sådan vises statistikken for volumengruppekøringen:

$ sudo vgdisplay vdo1vg

Nu opretter vi 2 lige store logiske diskenheder, hver med en kapacitet på 50G.

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

Du kan senere se statistikken for de nyoprettede diskenheder ved at køre kommandoen.

$ sudo lvs

Trin 4: Formatering og montering af filsystemer

Når der oprettes et filsystem, udføres der normalt en trimoperation på enheden. Dette er uønsket i tilfælde af VDO. Når du formaterer ved hjælp af kommandoen mkfs, skal du bruge indstillingen -K til at instruere kommandoen om ikke at kassere blokke under oprettelsen til filsystemet.

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

Hvis du bruger EXT $ filsystem, skal du bruge indstillingen “-E nodiscard”.

Opret monteringspunkterne til montering af lydstyrken:

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

Monter nu filsystemerne på deres monteringspunkter som vist.

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

Nu når du inspicerer VDO-lydstyrken, bemærker du, at besparelsen % er ændret til 99%, hvilket er ret imponerende. Dette indebærer, at deduplicering fungerer som forventet.

$ sudo vdostats --hu

Du kan undersøge yderligere ved hjælp af kommandoen df -Th. Nederst vises filsystemerne monteret på henholdsvis /data/v01 og /data/v02 .

$ df -hT

I denne vejledning demonstrerede vi, hvordan du kan oprette en VDO-volumen fra en ekstra lagerenhed på RHEL 8. Vi fortsatte senere og demonstrerede, hvordan du kan oprette flere diskenheder og oprette filsystemer fra disse diskenheder.