Il thin provisioning LVM consente di sovraccaricare lo storage fisico. È possibile creare file system più grandi della memoria fisica disponibile. Il thin provisioning LVM consente di creare dischi virtuali all'interno di un thin pool. La dimensione del disco virtuale può essere maggiore dello spazio disponibile nel thin pool. È importante monitorare il thin pool e aggiungere più capacità quando inizia a riempirsi.
Crea pool Thin
I thin pool vengono creati utilizzando il comando lvcreate e, in quanto tali, sono essenzialmente volumi logici. Utilizzare l'opzione –T, o l'opzione –thin o l'opzione –thinpool quando si crea un pool sottile. L'esempio seguente crea una piscina sottile denominata mytinpool dal gruppo di volumi centos con una dimensione di 100 m:
# lvcreate -v -L 100m -T centos/mythinpool ... Logical volume “mythinpool” created
# lvs LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert mythinpool centos twi-a-tz-- 100.00m 0.00
La colonna "Dati%" mostra i dati del pool allocato. L'esempio mostra 0,00% perché i volumi thin virtuali non sono ancora stati creati in questo thin pool.
Crea volume sottile
Utilizzare il comando lvcreate con l'opzione –V per creare un volume sottile (un disco virtuale) da un pool sottile. L'esempio seguente crea un volume thin da 1 GB denominato mythinvol nel thin pool centos/mythinpool. Nota che la dimensione del volume sottile è maggiore della dimensione del pool sottile che lo contiene.
# lvcreate -V 1g -T centos/mythinpool -n mythinvol Logical volume "mythinvol" created
# lvs LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert mythinpool centos twi-a-tz-- 100.00m 0.00 mythinvol centos Vwi-a-tz-- 1.00g mythinpool 0.00
Nota la differenza negli attributi. Il volume sottile ha una V attributo per il disco virtuale. La colonna Data% mostra 0,00 finché non crei un file system sul volume thin.
Crea file system
Creiamo un filesystem ext4 sul volume sottile che abbiamo appena creato.
# mkfs.ext4 /dev/centos/mythinvol # mkdir /myvol # mount /dev/centos/mythinvol /myvol
Controlla la dimensione del punto di montaggio nell'output del comando df -hP.
# df -hP | grep myvol /dev/mapper/centos-mythinvol 976M 2.6M 907M 1% /myvol
Crea un file di dimensioni 100 MB usando fallocate nella directory /myvol.
# cd /myvol # fallocate -l 100m test_file
# df -hP | grep my /dev/mapper/centos-mythinvol 976M 103M 807M 12% /myvol
# lvs LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert mythinpool centos twi-a-tz-- 100.00m 49.00 mythinvol centos Vwi-aotz-- 1.00g mythinpool 4.79
Questo mostra che hai utilizzato il 49% dei dati del pool allocato. Ciò mostra anche che il volume sottile ha utilizzato il 4,79% di 1 GB.
Estensione del pool sottile
È possibile utilizzare il comando lvextend per aggiungere spazio a un volume logico di un pool sottile.
# lvextend -L 500m centos/mythinpool Extending logical volume mythinpool_tdata to 500.00 MiB Logical volume mythinpool successfully resized
Tieni presente che la dimensione del thin pool è ora di 500 MB e la percentuale utilizzata è del 9,81%.
# lvs LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert mythinpool centos twi-a-tz-- 500.00m 9.81 mythinvol centos Vwi-aotz-- 1.00g mythinpool 4.79