Kako ustvariti volumen VDO na pomnilniški napravi na RHEL 8


RedHat, ki ga je uvedel v RHEL 7.5 in novejših različicah, je VDO, kratica za Virtual Date Optimizer, tehnologija za virtualizacijo blokov, ki omogoča vdelano deduplikacijo in stiskanje podatkov na ravni blokovne naprave.

Ideja deduplikacije je zelo preprosta: odstraniti kopije podvojenih podatkov in ostati samo pri eni kopiji. Ko je enaka datoteka dodana v blokovno napravo, je označena kot dvojnik, nanjo pa se sklicuje izvirna datoteka. Pri tem VDO pomaga prihraniti prostor nosilca bloka.

V tej vadnici boste izvedeli, kako ustvariti nosilec VDO na pomnilniški napravi v sistemu RHEL 8.

1. korak: Namestite VDO v RHEL 8

Za začetek se prijavite v strežnik in posodobite svoj RHEL z ukazom dnf.

$ sudo dnf update -y

Ko je posodobitev paketov in jedra končana, z ukazom nadaljujte in namestite module in odvisnosti jedra VDO.

$ sudo dnf install kmod-kvdo vdo

  • vdo - to je nabor orodij za upravljanje navideznega orodja za optimiziranje podatkov.
  • kmod-kvdo - to je skupina jedrnih modulov za navidezni optimizator podatkov.

Po uspešni namestitvi zaženite, omogočite in preverite demon vdo.

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

2. korak: Ustvarite VDO zvezek v RHEL 8

Preden ustvarite glasnost vdo, se prepričajte, da imate v sistemu dodaten trdi disk. V tej vadnici smo priložili dodaten zvezek xvdb . To lahko dokažemo z zagonom spodnjega ukaza lsblk.

$ lsblk

Iz izhoda lahko jasno vidite, da ima drugi disk zmogljivost 100 GB.

Zdaj bomo ustvarili prazen volumen VDO na disku /dev/xvdb .

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

Naleteli boste na prikazano napako.

To je pogosta napaka in rešitev je preprost ponovni zagon strežnika.

$ sudo reboot

Pri drugem preizkusu se bo ukaz izvedel in ustvaril prazen volumen VDO v napravi /dev/xvdb .

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

Razčlenimo ukaz in si oglejmo uporabljeno možnost:

  • Ustvari - S tem se začne ustvarjanje nosilca VDO.
  • –name = vdo1 - S tem se nosilec označi kot vdo1. Prosimo, dodelite poljubno ime po svoji izbiri.
  • –device =/dev/xvdb - Možnost naprave določa disk, na katerem bo ustvarjen nosilec.
  • –vdoLogicSize = 300G - to pomeni dejansko prostornino, ki jo mora uporabiti operacijski sistem, v tem primeru 300G.

3. korak: Preizkusite novo glasnost VDO

Nov nosilec VDO je bil ustvarjen v /dev/mapper/vdo1 glede na izhod, ki smo ga videli v prejšnjem koraku. Kot je prikazano, lahko uporabimo ukaz ls, da raziščemo dovoljenja in lastništvo datotek.

$ ls -l /dev/mapper/vdo1

Če želite pridobiti bolj vpogledne informacije, uporabite ukaz vdostats za pridobivanje statističnih podatkov o velikosti in uporabi nosilca.

$ vdostats --hu

Oznaka --hu prikazuje informacije v človekom berljivi obliki, torej obliki, ki jo je veliko lažje prebrati in razbrati z lahkoto. Atribute, kot so ime naprave, velikost na dodatnem disku, uporabljeni prostor in razpoložljiv prostor, si lahko ogledamo kot % porabo.

Previdno upoštevajte, da je % Shranjevanje označeno kot Ni uporabno (N/A).

Upoštevajte tudi, da že imamo nekaj glasnosti 4,1 G, kar pomeni 4%, vendar na nosilcu nismo zapisali ničesar. Zakaj to? To je zato, ker je bila univerzalna deduplikacija že zapisana na disk in je tista, ki omogoča deduplikacijo.

Ukaz vdostats lahko uporabite z zastavico --verbose za pridobivanje podrobnejših informacij, kot je prikazano:

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

Kar vidite, so v bistvu enaki podatki kot v prejšnjem primeru, vendar v drugačni obliki.

4. korak: Razdelitev nosilca VDO

Potem ko dobimo dovolj vpogledov v zvezek, ga moramo razdeliti in kasneje ustvariti datotečni sistem, da ga lahko uporabimo kot običajni disk.

Ustvarimo fizični volumen in skupino nosilcev, kot je prikazano, zaženite naslednje ukaze.

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

Če želite prikazati statistiko izvajanja skupine zvezkov:

$ sudo vgdisplay vdo1vg

Zdaj bomo ustvarili dva enako velika logična zvezka, vsak s kapaciteto 50G.

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

Statistiko novo ustvarjenih zvezkov si lahko pozneje ogledate z zagonom ukaza.

$ sudo lvs

4. korak: Oblikovanje in namestitev datotečnih sistemov

Običajno se pri ustvarjanju datotečnega sistema na napravi izvede postopek obrezovanja. To je v primeru VDO nezaželeno. Pri formatiranju z ukazom mkfs uporabite ukaz -K , da ukazu naročite, naj med ustvarjanjem datotečnega sistema ne zavrže blokov.

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

Če uporabljate datotečni sistem EXT $, uporabite možnost\"- E nodiscard".

Ustvarite točke za pritrditev nosilcev:

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

Zdaj pritrdite datotečne sisteme na njihove točke pritrditve, kot je prikazano.

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

Zdaj, ko pregledate glasnost VDO, boste opazili, da se je prihranek % spremenil na 99%, kar je precej impresivno. To pomeni, da deduplikacija deluje po pričakovanjih.

$ sudo vdostats --hu

Nadalje lahko raziščete z ukazom df -Th. V spodnjem razdelku boste videli datotečni sistem, nameščen na /data/v01 oziroma /data/v02 .

$ df -hT

V tej vadnici smo pokazali, kako lahko ustvarite nosilec VDO iz dodatne naprave za shranjevanje na RHEL 8. Kasneje smo nadaljevali in pokazali, kako lahko iz teh zvezkov ustvarite več zvezkov in ustvarite datotečne sisteme.