One virtual machine for some unknown reason is utilizing thin provisioned logical volumes. This one virtual machine is the only one in a series of virtual machines. In any case, I didn’t understand what it meant to have a system running thin provisioned logical volumes until it crashed and I couldn’t revive it. Fortunately, there was a snapshot that the system was reverted to so that the remediation could begin.
What are thin provisioned logical volumes?
This allows you to create logical volumes that are larger than the available extents. Using thin provisioning, you can manage a storage pool of free space, known as a thin pool, which can be allocated to an arbitrary number of devices when needed by applications. You can then create devices that can be bound to the thin pool for later allocation when an application actually writes to the logical volume. The thin pool can be expanded dynamically when needed for cost-effective allocation of storage space. – RedHat
How to determine if the system without thin provisioned logical volumes
Using the lvs command , a typical system will look like this.
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos -wi-ao---- <6.67g swap centos -wi-ao---- 820.00m lv_app vg_app -wi-ao---- <8.00g
A system with a thin provisioned logical volume. Not that there is a t attribute and that here is a pool
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert home centos Vwi-aotz-- 1.00g pool00 1.04 opt centos -wi-ao---- 2.48g pool00 centos twi-aotz-- 12.00g 60.40 0.49 root centos Vwi-aotz-- 13.00g pool00 42.13 swap centos -wi-ao---- 1.00g tmp centos -wi-ao---- 492.00m var centos Vwi-aotz-- 4.00g pool00 42.94 var_log centos Vwi-aotz-- 1.00g pool00 2.01 var_log_audit centos Vwi-aotz-- 1.00g pool00 1.54
Whenever a logical volume is resized the following warnings appear.
WARNING: Sum of all thin volume sizes (19.00 GiB) exceeds the size of thin pools (10.00 GiB). WARNING: You have not turned on protection against thin pools running out of space. WARNING: Set activation/thin_pool_autoextend_threshold below 100 to trigger automatic extension of thin pools before they get full
This can be remediated by typing a command to manually resize it. The value I selected +2G was a value I pulled out of a hat as I didn’t know of an appropriate value. And yet, the WARNING messages continued.
lvm lvresize --poolmetadatasize +2G centos/pool00
Enable Thin LVM Automatic Extension
Edit the /etc/lvm/lvm.conf and adjust the thin_pool_autoextend_threshold valued from 100 (which disables automatic extension) to 70. I didn’t restart any service or computer and the value took immediately. A quick test of adding an additional 1G to / resulted in no WARNING only SUCCESS.