GNU/Linux >> Linux Esercitazione >  >> Linux

Come creare volumi logici con thin provisioning in Linux

LVM (Logical Volume Management) è un buon modo per utilizzare lo spazio su disco sul server in modo più efficiente. Uno dei vantaggi di LVM è che possiamo acquisire snapshot di partizioni basate su lvm e creare volumi logici con thin provisioning.

Il thin provisioning ci consente di creare volumi logici più grandi dello spazio disponibile su disco. Per utilizzare il thin provisioning dobbiamo creare un thin pool da un gruppo di volumi e quindi possiamo creare volumi logici da quel thin pool.

In questo articolo dimostreremo passo dopo passo come creare volumi logici con thin provisioning in Linux.

Supponiamo di avere un server Linux (CentOS 7.x / RHEL 7.x) e di aver assegnato un nuovo disco da 10 GB. Creeremo un thin pool di 10 GB, da questo thin pool inizialmente creeremo due volumi logici di ogni 4 GB e un volume logico di dimensioni 1 GB.

Fai riferimento ai seguenti passaggi per creare volumi logici con thin provisioning

Fase 1) Crea il volume fisico usando il comando pvcreate

Supponiamo che il nuovo disco venga rilevato come /dev/sdb. Esegui sotto il comando pvcreate per creare un volume fisico sul disco.

[[email protected] ~]# pvcreate /dev/sdb
 Physical volume "/dev/sdb" successfully created
[[email protected] ~]#

Passaggio 2) Crea un gruppo di volumi usando il comando vgcreate

Esegui il comando vgcreate per creare un volume con il nome 'volgrp'

[[email protected] ~]# vgcreate volgrp /dev/sdb
 Volume group "volgrp" successfully created
[[email protected] ~]#

Passaggio 3) Crea un pool sottile dal gruppo di volumi

Il thin pool è come un volume logico che viene creato utilizzando il comando lvcreate

Sintassi :

# lvcreate –L -T /

Dove -L viene utilizzato per specificare la dimensione del pool e -T specifica il pool sottile

[[email protected] ~]# lvcreate -L 9.90G -T volgrp/lvpool
 Rounding up size to full physical extent 9.90 GiB
 Logical volume "lvpool" created.
[[email protected] ~]#

Verifica la dimensione della piscina sottile

[[email protected] ~]# lvs /dev/volgrp/lvpool
  LV     VG     Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lvpool volgrp twi-a-tz-- 9.90g             0.00   0.59
[[email protected] ~]#

Passaggio 4) Crea volumi logici da thin pool

Creiamo due volumi logici di ciascuna dimensione di 4 GB

Sintassi :

# lvcreate -V -T / -n

[[email protected] ~]# lvcreate -V 4G -T volgrp/lvpool -n node1
Logical volume "node1" created.
[[email protected] ~]# lvcreate -V 4G -T volgrp/lvpool -n node2
Logical volume "node2" created.
[[email protected] ~]#

Verifica lo stato del thin pool e dei volumi logici utilizzando il comando lvs di seguito,

[[email protected] ~]# lvs /dev/volgrp/lvpool && lvs /dev/volgrp/node{1..2}
  LV     VG     Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lvpool volgrp twi-aotz-- 9.90g             0.00   0.65
  LV    VG     Attr       LSize Pool   Origin Data%  Meta%  Move Log Cpy%Sync Convert
  node1 volgrp Vwi-a-tz-- 4.00g lvpool        0.00
  node2 volgrp Vwi-a-tz-- 4.00g lvpool        0.00
[[email protected] ~]#

Passaggio 5) Formatta i volumi logici thin provisioning

Usa il comando mkfs per creare il file system(ext4) sui volumi logici sopra creati.

[[email protected] ~]# mkfs.ext4 /dev/volgrp/node1
[[email protected] ~]# mkfs.ext4 /dev/volgrp/node2
[[email protected] ~]# mkdir /opt/vol1 && mkdir /opt/vol2
[[email protected] ~]# mount /dev/volgrp/node1 /opt/vol1/ && mount /dev/volgrp/node2 /opt/vol2/
[[email protected] ~]#

Controlla i punti di montaggio usando il 'comando df'

[[email protected] ~]# df -Th /opt/vol1/ /opt/vol2/
Filesystem               Type  Size  Used Avail Use% Mounted on
/dev/mapper/volgrp-node1 ext4 3.9G   16M  3.6G   1% /opt/vol1
/dev/mapper/volgrp-node2 ext4 3.9G   16M  3.6G   1% /opt/vol2
[[email protected] ~]#

Scrivi alcuni dati nel file system sopra creato usando il comando dd

[[email protected] ~]# dd if=/dev/zero of=/opt/vol1/file.txt bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 3.26031 s, 329 MB/s
[[email protected] ~]# dd if=/dev/zero of=/opt/vol2/file.txt bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 2.70821 s, 396 MB/s
[[email protected] ~]#

Ora verifica la dimensione dei volumi logici con thin provisioning utilizzando il comando lvs.

Come possiamo vedere, entrambi i volumi logici consumano il 29% di dati.

Ora prova a creare il terzo volume logico dal thin pool.

[[email protected] ~]# lvcreate -V 1G -T volgrp/lvpool -n node3
  Logical volume "node3" created.
[[email protected] ~]#

Scenario:

Bene, fino ad ora abbiamo consumato l'intero spazio del pool sottile in volumi logici. Se qualcuno mi chiede di creare un altro volume logico di dimensione 2G.

Posso creare un nuovo volume logico dal thin pool...?

Cosa accadrà ? Supporta l'eccessivo impegno... ?

La risposta è Sì, possiamo creare un volume logico poiché supporta l'overcommit o l'over-provisioning, ma durante la creazione del volume logico verrà generato un messaggio di avviso. L'esempio è mostrato di seguito:

[[email protected] ~]# lvcreate -V 2G -T volgrp/lvpool -n node4
  WARNING: Sum of all thin volume sizes (11.00 GiB) exceeds the size of thin pool volgrp/lvpool and the size of whole volume group (10.00 GiB)!
  For thin pool auto extension activation/thin_pool_autoextend_threshold should be below 100.
  Logical volume "node4" created.
[[email protected] ~]#

Ora verifica di nuovo lo stato del volume logico

Fase 6) Estendi la dimensione del pool sottile usando il comando lvextend

Supponiamo che un altro disco di 5G sia assegnato al server (/dev/sdc), useremo questo disco per estendere il thin pool.

Fare riferimento ai seguenti passaggi

Crea il volume fisico ed estendi il gruppo di volumi (volgrp)

[[email protected] ~]# pvcreate /dev/sdc
Physical volume "/dev/sdc" successfully created
[[email protected] ~]# vgextend volgrp /dev/sdc
Volume group "volgrp" successfully extended
[[email protected] ~]#

Poiché il thin pool è un volume logico, quindi possiamo estenderne le dimensioni con il comando lvextend

[[email protected] ~]# lvextend -L+5G volgrp/lvpool

Ora verifica la dimensione del pool sottile, dovrebbe essere di circa 15 GB.

Nota:non è possibile ridurre o ridurre il pool sottile, è supportata solo l'estensione

Questo è tutto da questa guida, spero che tu l'abbia trovato informativo. Si prega di condividere feedback e commenti.

Leggi anche :I 5 migliori strumenti per monitorare l'utilizzo del disco e le partizioni di Linux


Linux
  1. Come creare un filesystem su una partizione Linux o un volume logico

  2. Come creare uno script di un comando Linux

  3. Come creare uno scambio in Linux

  4. Come creare un servizio Systemd in Linux

  5. Come creare un file di scambio in Linux

Come creare un file in Linux

Come creare collegamenti su desktop Linux

Come creare un montaggio da immagini in Linux

Come creare alias SSH in Linux

Come creare un alias in Linux

Come creare una passphrase chiave SSH in Linux