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.