Introducerad av Röd hatt i RHEL 7.5 och senare, VDO Förkortning av Virtual Date Optimizer är en blockvirtualiseringsteknik som tillhandahåller inbyggd deduplicering och komprimering av data på en blockenhetsnivå.
Tanken med deduplicering är ganska enkel: att ta bort kopior av dubblettdata och bara finnas kvar med en kopia. När en identisk fil läggs till på en blockenhet markeras den som en duplikat och den ursprungliga filen refereras istället. Därvid, VDO hjälper till att spara blockvolymens utrymme.
I denna handledning lär du dig hur du skapar en VDO volym på en lagringsenhet på RHEL 8 systemet.
För att komma igång, logga in på din server och uppdatera din RHEL använda dnf -kommando.
$ sudo dnf uppdatering -y.
När uppdateringen av paketen och kärnan är klar fortsätter du och installerar VDO kärnmoduler och beroenden med kommandot.
$ sudo dnf installera kmod-kvdo vdo.
Efter lyckad installation, starta, aktivera och verifiera vdo demon.
$ sudo systemctl start vdo. $ sudo systemctl aktivera vdo. $ sudo systemctl status vdo.
Innan du skapar en vdo se till att du har en extra hårddisk på ditt system. I denna handledning har vi bifogat en extra volym xvdb
. Detta kan demonstreras genom att köra lsblk -kommando Nedan.
$ lsblk.
Från utgången kan du tydligt se att den andra disken har en kapacitet på 100 GB.
Nu ska vi skapa en tom VDO volym på /dev/xvdb
disk.
$ sudo vdo create --name = vdo1 --device =/dev/xvdb --vdoLogicalSize = 300G.
Du kommer att stöta på det fel som visas.
Detta är en vanlig bugg och lösningen är att helt enkelt starta om din server.
$ sudo starta om.
Vid den andra rättegången kommer kommandot att köras, vilket skapar ett tomt VDO volymen på enheten /dev/xvdb
.
$ sudo vdo create --name = vdo1 --device =/dev/xvdb --vdoLogicalSize = 300G.
Låt oss bryta ner kommandot och titta på det alternativ som används:
Den nya VDO volym har skapats på /dev/mapper/vdo1
går efter utgången vi såg i föregående steg. Vi kan använda ls kommando som visas för att undersöka filbehörigheter och äganderätt.
$ ls -l/dev/mapper/vdo1.
För att få mer insiktsfull information, använd vdostats kommando för att hämta statistik om storleken och användningen av volymen.
$ vdostats --hu.
De --hu
flagga visar informationen i ett mänskligt läsbart format, dvs. ett format som är mycket lättare att läsa och dechiffrera med lätthet. Vi kan se attribut som enhetsnamn, storleken på den extra disken, använt och tillgängligt utrymme som %
användande.
Observera noga att %
Spara indikeras som Ej tillämpligt (N/A).
Observera också att vi redan har viss volymanvändning 4.1G som översätter till 4% men vi har inte skrivit något om volymen. Varför är det så? Detta beror på att den universella dedupliceringen redan har skrivits på disken och det är det som gör deduplicering möjlig.
De vdostats kommandot kan användas med --mångordig
flagga för att hämta mer detaljerad information enligt bilden:
$ sudo vdostats --verbose/dev/mapper/vdo1 | grep -B6 "spara procent"
Det du kan se är i princip samma data som föregående exempel men i ett annat format.
Efter att ha fått tillräckligt med insikter från volymen måste vi partitionera den och senare skapa ett filsystem så att det kan användas som en vanlig disk.
Låt oss skapa en fysisk volym- och volymgrupp som visas, kör följande kommandon.
$ sudo pvcreate/dev/mapper/vdo1. $ sudo vgcreate vdo1vg/dev/mapper/vdo1.
Så här visar du statistiken för volymgruppskörningen:
$ sudo vgdisplay vdo1vg.
Nu kommer vi att skapa två lika stora logiska volymer var och en med en kapacitet på 50G.
$ sudo lvcreate -n vdo1v01 -L 50G vdo1vg. $ sudo lvcreate -n vdo1v02 -L 50G vdo1vg.
Du kan senare se statistiken för de nyskapade volymerna genom att köra kommandot.
$ sudo lvs.
Vanligtvis, när ett filsystem skapas, utförs en trimoperation på enheten. Detta är oönskat i fallet med VDO. Vid formatering med mkfs kommando, använd -K
alternativ för att instruera kommandot att inte kasta block under skapandet av filsystemet.
$ sudo mkfs.xfs -K/dev/vdo1vg/vdo1v01. $ sudo mkfs.xfs -K/dev/vdo1vg/vdo1v02.
Om du använder EXT $ filsystem, använd "-E nikkort”Alternativ.
Skapa fästpunkter för montering av volymerna:
$ sudo mkdir /data /v01. $ sudo mkdir /data /v02.
Montera nu filsystemen på deras monteringspunkter som visas.
$ sudo mount -o discard/dev/vdo1vg/vdo1v01/data/v01. $ sudo mount -o discard/dev/vdo1vg/vdo1v02/data/v02.
Nu när du inspekterar VDO volym kommer du att märka att %
sparandet har ändrats till 99% vilket är ganska imponerande. Detta innebär att deduplicering fungerar som förväntat.
$ sudo vdostats --hu.
Du kan undersöka vidare med df -Th kommando. I det nedre avsnittet ser du filsystemen monterade på /data/v01
och /data/v02
respektive.
$ df -hT.
I den här självstudien demonstrerade vi hur du kan skapa en VDO -volym från en extra lagringsenhet RHEL 8. Vi fortsatte senare och demonstrerade hur du kan skapa fler volymer och skapa filsystem från dessa volymer.