Com crear un volum VDO en un dispositiu d'emmagatzematge a RHEL 8


Introduït per RedHat a RHEL 7.5 i posteriors, VDO abreviatura de Virtual Date Optimizer és una tecnologia de virtualització de blocs que proporciona desduplicació i compressió en línia de dades a nivell de dispositiu de bloc.

La idea de la desduplicació és bastant senzilla: eliminar còpies de dades duplicades i quedar-ne només amb una còpia. Quan s'afegeix un fitxer idèntic en un dispositiu de bloc, es marca com a duplicat i es fa referència al fitxer original. En fer-ho, VDO ajuda a estalviar l'espai del volum del bloc.

En aquest tutorial, aprendràs a crear un volum VDO en un dispositiu d'emmagatzematge del sistema RHEL 8.

Pas 1: instal·leu el VDO a RHEL 8

Per començar, inicieu sessió al vostre servidor i actualitzeu el vostre RHEL mitjançant l'ordre dnf.

$ sudo dnf update -y

Quan s'hagi completat l'actualització dels paquets i del nucli, procediu i instal·leu els mòduls i dependències del nucli VDO mitjançant l'ordre.

$ sudo dnf install kmod-kvdo vdo

  • vdo: aquest és un conjunt d'eines de gestió per a l'optimitzador de dades virtual.
  • kmod-kvdo: aquest és un grup de mòduls del nucli per a l'optimitzador de dades virtuals.

Després d'una instal·lació correcta, inicieu, activeu i verifiqueu el dimoni vdo.

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

Pas 2: creeu un volum VDO a RHEL 8

Abans de crear un volum vdo, assegureu-vos que teniu un disc dur addicional al vostre sistema. En aquest tutorial, hem adjuntat un volum addicional xvdb . Això es pot demostrar executant l'ordre lsblk a continuació.

$ lsblk

A la sortida, podeu veure clarament que el segon disc té una capacitat de 100 GB.

Ara, crearem un volum VDO buit al disc /dev/xvdb.

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

Trobareu l'error mostrat.

Aquest és un error comú i la solució és simplement reiniciar el servidor.

$ sudo reboot

A la segona prova, s'executarà l'ordre, creant un volum VDO buit al dispositiu /dev/xvdb.

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

Desglossem l'ordre i mirem l'opció utilitzada:

  • crear: s'inicia la creació del volum VDO.
  • –name=vdo1 – Això dóna al volum una etiqueta coneguda com a vdo1. No dubteu a assignar el nom que vulgueu.
  • –device=/dev/xvdb: l'opció del dispositiu especifica el disc on es crearà el volum.
  • –vdoLogicalSize=300G: indica la capacitat de volum efectiva que utilitzarà el sistema operatiu, en aquest cas, 300G.

Pas 3: sondeig del nou volum de VDO

El nou volum VDO s'ha creat a /dev/mapper/vdo1 passant per la sortida que vam veure al pas anterior. Podem utilitzar l'ordre ls tal com es mostra per investigar els permisos i la propietat dels fitxers.

$ ls -l /dev/mapper/vdo1

Per obtenir informació més detallada, utilitzeu l'ordre vdostats per recuperar estadístiques sobre la mida i l'ús del volum.

$ vdostats --hu

El senyalador --hu mostra la informació en un format llegible per l'home, és a dir, un format que és molt més fàcil de llegir i desxifrar amb facilitat. Podem veure atributs com ara el nom del dispositiu, la mida del disc addicional, l'espai utilitzat i disponible com a % d'ús.

Observeu acuradament que el % desat s'indica com a No aplicable (N/A).

A més, tingueu en compte que ja tenim un ús de volum 4.1G que es tradueix en un 4%, però no hem escrit res al volum. Per què això? Això es deu al fet que la deduplicació universal ja s'ha escrit al disc i és el que fa possible la deduplicació.

L'ordre vdostats es pot utilitzar amb el senyalador --verbose per recuperar informació més detallada tal com es mostra:

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

El que podeu veure són bàsicament les mateixes dades que l'exemple anterior però en un format diferent.

Pas 4: partició del volum VDO

Després d'obtenir informació suficient del volum, hem de particionar-lo i després crear un sistema de fitxers perquè es pugui utilitzar com a disc normal.

Creem un volum físic i un grup de volums com es mostra, executeu les ordres següents.

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

Per mostrar les estadístiques de l'execució del grup de volums:

$ sudo vgdisplay vdo1vg

Ara, crearem 2 volums lògics de la mateixa mida cadascun amb una capacitat de 50G.

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

Més tard podeu veure les estadístiques dels volums de nova creació executant l'ordre.

$ sudo lvs

Pas 4: formatar i muntar sistemes de fitxers

Normalment, quan es crea un sistema de fitxers, es realitza una operació de retall al dispositiu. Això no és desitjable en el cas del VDO. Quan feu servir l'ordre mkfs, utilitzeu l'opció -K per indicar a l'ordre que no descarti blocs durant la creació del sistema de fitxers.

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

Si utilitzeu el sistema de fitxers EXT$, utilitzeu l'opció \-E nodiscard.

Creeu els punts de muntatge per muntar els volums:

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

Ara munteu els sistemes de fitxers als seus punts de muntatge tal com es mostra.

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

Ara, quan inspeccioneu el volum del VDO, notareu que l'estalvi de % ha canviat al 99%, cosa que és força impressionant. Això implica que la deduplicació funciona com s'esperava.

$ sudo vdostats --hu

Podeu investigar més amb l'ordre df -Th. A la secció inferior, veureu els sistemes de fitxers muntats a /data/v01 i /data/v02 respectivament.

$ df -hT

En aquest tutorial, vam demostrar com podeu crear un volum VDO des d'un dispositiu d'emmagatzematge addicional a RHEL 8. Més tard vam avançar i vam demostrar com podeu crear més volums i crear sistemes de fitxers a partir d'aquests volums.