Hvordan lage et VDO-volum på en lagringsenhet på RHEL 8


Introdusert av RedHat i RHEL 7.5 og senere, VDO forkortelse for Virtual Date Optimizer er en blokkvirtualiseringsteknologi som gir inline deduplisering og komprimering av data på blokkenhetsnivå.

Ideen med deduplisering er ganske enkel: å fjerne kopier av dupliserte data og bare forbli med én kopi. Når en identisk fil legges til på en blokkenhet, merkes den som en duplikat og den opprinnelige filen refereres i stedet. Ved å gjøre det hjelper VDO med å spare plass på blokkvolumet.

I denne opplæringen lærer du hvordan du lager et VDO-volum på en lagringsenhet på RHEL 8-systemet.

Trinn 1: Installer VDO i RHEL 8

For å komme i gang, logg på serveren din og oppdater RHEL ved å bruke dnf-kommandoen.

sudo dnf update -y

Etter at oppdateringen av pakkene og kjernen er fullført, fortsett og installer VDO-kjernemodulene og avhengighetene ved å bruke kommandoen.

sudo dnf install kmod-kvdo vdo
  • vdo – Dette er et sett med administrasjonsverktøy for Virtual Data Optimizer.
  • kmod-kvdo – Dette er en gruppe kjernemoduler for Virtual Data Optimizer.

Etter vellykket installasjon, start, aktiver og verifiser vdo-demonen.

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

Trinn 2: Lag et VDO-volum i RHEL 8

Før du oppretter et vdo-volum, sørg for at du har en ekstra harddisk på systemet. I denne opplæringen har vi lagt ved et ekstra volum xvdb . Dette kan demonstreres ved å kjøre lsblk-kommandoen nedenfor.

lsblk

Fra utgangen kan du tydelig se at den andre disken har en kapasitet på 100 GB.

Nå skal vi lage et tomt VDO-volum på /dev/xvdb-disken.

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

Du vil støte på feilen som vises.

Dette er en vanlig feil, og løsningen er å starte serveren på nytt.

sudo reboot

På den andre prøveversjonen vil kommandoen bli utført, og opprette et tomt VDO-volum på enheten /dev/xvdb.

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

La oss bryte ned kommandoen og ta en titt på alternativet som brukes:

  • opprett – Dette starter opprettelsen av VDO-volumet.
  • –name=vdo1 – Dette gir volumet en etikett kjent som vdo1. Tilordne gjerne et hvilket som helst navn du ønsker.
  • –device=/dev/xvdb – Enhetsalternativet spesifiserer disken som volumet skal opprettes på.
  • –vdoLogicalSize=300G – Dette indikerer den effektive volumkapasiteten som skal brukes av operativsystemet, i dette tilfellet 300G.

Trinn 3: Undersøk det nye VDO-volumet

Det nye VDO-volumet er opprettet på /dev/mapper/vdo1 ved å følge utdataene vi så i forrige trinn. Vi kan bruke ls-kommandoen som vist for å undersøke filtillatelser og eierskap.

ls -l /dev/mapper/vdo1

For å få mer innsiktsfull informasjon, bruk vdostats-kommandoen for å hente statistikk over størrelsen og bruken av volumet.

vdostats --hu

--hu-flagget viser informasjonen i et format som kan leses av mennesker, det vil si et format som er mye lettere å lese og tyde med letthet. Vi kan se attributter som enhetsnavnet, størrelsen på den ekstra disken, brukt og tilgjengelig plass som % bruk.

Vær nøye med at %-sparingen er angitt som Ikke relevant (N/A).

Vær også oppmerksom på at vi allerede har en viss volumbruk 4.1G som kan oversettes til 4 %, men vi har ikke skrevet noe på volumet. Hvorfor det? Dette er fordi den universelle dedupliseringen allerede er skrevet inn på disken, og det er det som gjør deduplisering mulig.

Kommandoen vdostats kan brukes med flagget --verbose for å hente mer detaljert informasjon som vist:

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

Det du kan se er i utgangspunktet de samme dataene som i forrige eksempel, men i et annet format.

Trinn 4: Partisjonering av VDO-volumet

Etter å ha fått nok innsikt fra volumet, må vi partisjonere det og senere lage et filsystem slik at det kan brukes som en vanlig disk.

La oss lage en fysisk volum- og volumgruppe som vist, kjør følgende kommandoer.

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

Slik viser du statistikken for volumgruppekjøringen:

sudo vgdisplay vdo1vg

Nå skal vi lage 2 like store logiske volumer hver med en kapasitet på 50G.

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

Du kan senere se statistikken for de nyopprettede volumene ved å kjøre kommandoen.

sudo lvs

Trinn 4: Formatering og montering av filsystemer

Vanligvis, når et filsystem opprettes, utføres en trimoperasjon på enheten. Dette er uønsket i tilfelle VDO. Når du formaterer med mkfs-kommandoen, bruk -K-alternativet for å instruere kommandoen om ikke å forkaste blokker under opprettelsen av filsystemet.

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

Hvis du bruker EXT$ filsystem, bruk "-E nodiscard "-alternativet.

Lag monteringspunktene for montering av volumene:

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

Monter nå filsystemene på deres monteringspunkter som vist.

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

Nå når du inspiserer VDO-volumet, vil du legge merke til at %-besparelsen har endret seg til 99%, noe som er ganske imponerende. Dette innebærer at deduplisering fungerer som forventet.

sudo vdostats --hu

Du kan undersøke videre ved å bruke kommandoen df -Th. I den nederste delen vil du se filsystemene montert på henholdsvis /data/v01 og /data/v02.

df -hT

I denne opplæringen demonstrerte vi hvordan du kan lage et VDO-volum fra en ekstra lagringsenhet på RHEL 8. Vi gikk senere videre og demonstrerte hvordan du kan lage flere volumer og lage filsystemer fra disse volumene.