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
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
[[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