Ricerca nel sito web

Come creare un volume VDO su un dispositivo di archiviazione su RHEL 8


Introdotta da RedHat in RHEL 7.5 e versioni successive, VDO abbreviazione di Virtual Date Optimizer è una tecnologia di virtualizzazione a blocchi che fornisce deduplicazione in linea e compressione dei dati a livello di dispositivo a blocchi.

L'idea della deduplicazione è piuttosto semplice: rimuovere copie di dati duplicati e conservarne solo una copia. Quando un file identico viene aggiunto su un dispositivo a blocchi, viene contrassegnato come duplicato e viene invece fatto riferimento al file originale. In questo modo, VDO aiuta a risparmiare spazio nel volume del blocco.

In questo tutorial imparerai come creare un volume VDO su un dispositivo di archiviazione sul sistema RHEL 8.

Passaggio 1: installare VDO in RHEL 8

Per iniziare, accedi al tuo server e aggiorna il tuo RHEL utilizzando il comando dnf.

sudo dnf update -y

Una volta completato l'aggiornamento dei pacchetti e del kernel, procedere e installare i moduli e le dipendenze del kernel VDO utilizzando il comando.

sudo dnf install kmod-kvdo vdo
  • vdo: un insieme di strumenti di gestione per Virtual Data Optimizer.
  • kmod-kvdo – Questo è un gruppo di moduli kernel per Virtual Data Optimizer.

Al termine dell'installazione, avviare, abilitare e verificare il demone vdo.

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

Passaggio 2: creare un volume VDO in RHEL 8

Prima di creare un volume vdo, assicurati di avere un disco rigido aggiuntivo sul tuo sistema. In questo tutorial, abbiamo allegato un volume aggiuntivo xvdb . Ciò può essere dimostrato eseguendo il comando lsblk riportato di seguito.

lsblk

Dall'output puoi vedere chiaramente che il secondo disco ha una capacità di 100 GB.

Ora creeremo un volume VDO vuoto sul disco /dev/xvdb.

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

Incontrerai l'errore mostrato.

Questo è un bug comune e la soluzione alternativa è semplicemente riavviare il server.

sudo reboot

Alla seconda prova, il comando verrà eseguito, creando un volume VDO vuoto sul dispositivo /dev/xvdb.

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

Analizziamo il comando e diamo un'occhiata all'opzione utilizzata:

  • crea: avvia la creazione del volume VDO.
  • –name=vdo1 – Ciò assegna al volume un'etichetta nota come vdo1. Sentiti libero di assegnare qualsiasi nome di tua scelta.
  • –device=/dev/xvdb – L'opzione del dispositivo specifica il disco su cui verrà creato il volume.
  • –vdoLogicalSize=300G – Indica la capacità effettiva del volume che deve essere utilizzata dal sistema operativo, in questo caso 300G.

Passaggio 3: sondaggio del nuovo volume VDO

Il nuovo volume VDO è stato creato in /dev/mapper/vdo1 seguendo l'output che abbiamo visto nel passaggio precedente. Possiamo usare il comando ls come mostrato per indagare sui permessi e sulla proprietà dei file.

ls -l /dev/mapper/vdo1

Per ottenere informazioni più approfondite utilizzare il comando vdostats per recuperare statistiche sulla dimensione e sull'utilizzo del volume.

vdostats --hu

Il flag --hu mostra le informazioni in un formato leggibile dall'uomo, cioè un formato che è molto più facile da leggere e decifrare con facilità. Possiamo visualizzare attributi come il nome del dispositivo, la dimensione sul disco aggiuntivo, lo spazio utilizzato e disponibile come utilizzo di %.

Osservare attentamente che il % risparmio è indicato come Non applicabile (N/A).

Inoltre, tieni presente che abbiamo già un utilizzo del volume 4.1G che si traduce in 4% ma non abbiamo scritto nulla sul volume. Perché? Questo perché la deduplicazione universale è già stata scritta sul disco ed è ciò che rende possibile la deduplicazione.

Il comando vdostats può essere utilizzato con il flag --verbose per recuperare informazioni più dettagliate come mostrato:

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

Ciò che puoi vedere sono fondamentalmente gli stessi dati dell'esempio precedente ma in un formato diverso.

Passaggio 4: partizionamento del volume VDO

Dopo aver ottenuto informazioni sufficienti dal volume, dobbiamo partizionarlo e successivamente creare un filesystem in modo che possa essere utilizzato come un normale disco.

Creiamo un volume fisico e un gruppo di volumi come mostrato, eseguiamo i seguenti comandi.

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

Per visualizzare le statistiche dell'esecuzione del gruppo di volumi:

sudo vgdisplay vdo1vg

Ora creeremo 2 volumi logici di uguali dimensioni, ciascuno con una capacità di 50G.

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

Successivamente sarà possibile visualizzare le statistiche dei volumi appena creati eseguendo il comando.

sudo lvs

Passaggio 4: formattazione e montaggio dei file system

Di solito, quando viene creato un filesystem, viene eseguita un'operazione di trim sul dispositivo. Nel caso della VDO ciò non è auspicabile. Quando si formatta utilizzando il comando mkfs, utilizzare l'opzione -K per istruire il comando a non scartare blocchi durante la creazione del filesystem.

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

Se stai utilizzando il filesystem EXT$, usa l'opzione “-E nodiscard”.

Creare i punti di montaggio per montare i volumi:

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

Ora monta i filesystem sui loro punti di montaggio come mostrato.

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

Ora, quando controlli il volume VDO, noterai che il risparmio del % è cambiato al 99%, il che è piuttosto impressionante. Ciò implica che la deduplica funziona come previsto.

sudo vdostats --hu

Puoi indagare ulteriormente utilizzando il comando df -Th. Nella sezione in basso, vedrai i filesystem montati rispettivamente su /data/v01 e /data/v02.

df -hT

In questo tutorial, abbiamo dimostrato come creare un volume VDO da un dispositivo di archiviazione aggiuntivo su RHEL 8. Successivamente siamo andati avanti e abbiamo dimostrato come è possibile creare più volumi e creare file system da tali volumi.