using LVM thin pool LVs as a storage for libvirt guest

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,
as usual, I'm few years behind trends so I have learned about LVM thin
volumes recently and I especially like that your volumes can be "sparse"
- that you can have 1TB thin volume on 250GB VG/thin pool.

Is it somehow possible to use that with libvirt?

I have found this post from 2014:

   https://www.redhat.com/archives/libvirt-users/2014-August/msg00010.html

which says you should be able to create "sparse" volume with `virsh
vol-create ...` or that libvirt should be able to see thin volumes you
create yourself, but neither of that works for me
(libvirt-3.2.1-6.fc26.x86_64).

This way I try to create new:

   # vgs storage
     VG      #PV #LV #SN Attr   VSize   VFree
storage 1 1 0 wz--n- 267.93g 0 # lvs storage -a
     LV              VG      Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
[lvol0_pmspare] storage ewi------- 68.00m lvol1 storage twi-aotz-- 267.80g 0.00 0.44 [lvol1_tdata] storage Twi-ao---- 267.80g [lvol1_tmeta] storage ewi-ao---- 68.00m
   # virsh pool-dumpxml storage
   <pool type='logical'>
     <name>storage</name>
     <uuid>f523aed2-a7e4-4dc2-88db-0193a7337704</uuid>
     <capacity unit='bytes'>287687311360</capacity>
     <allocation unit='bytes'>287687311360</allocation>
     <available unit='bytes'>0</available>
     <source>
       <device path='/dev/nvme0n1p3'/>
       <name>storage</name>
       <format type='lvm2'/>
     </source>
     <target>
       <path>/dev/storage</path>
     </target>
   </pool>
   # cat /tmp/big.xml
   <volume>
     <name>big</name>
     <capacity>1073741824</capacity>
     <allocation>1048576</allocation>
     <target>
       <path>/dev/storage/big</path>
     </target>
   </volume>
# virsh vol-create storage /tmp/big.xml error: Failed to create vol from /tmp/big.xml
   error: internal error: Child process (/usr/sbin/lvcreate --name big -L 1024K --type snapshot --virtualsize 1048576K storage) unexpected exit status 5:   Volume group "storage" has insufficient free space (0 extents): 1 required.

When I create thin volume manually, I do not see it:

   # lvcreate -n big -V 500G --thinpool storage/lvol1
     Using default stripesize 64.00 KiB.
     WARNING: Sum of all thin volume sizes (500.00 GiB) exceeds the size of thin pool storage/lvol1 and the size of whole volume group (267.93 GiB)!
     For thin pool auto extension activation/thin_pool_autoextend_threshold should be below 100.
     Logical volume "big" created.
   # lvs storage -a
     LV              VG      Attr       LSize   Pool  Origin Data%  Meta%  Move Log Cpy%Sync Convert
big storage Vwi-a-tz-- 500.00g lvol1 0.00 [lvol0_pmspare] storage ewi------- 68.00m lvol1 storage twi-aotz-- 267.80g 0.00 0.45 [lvol1_tdata] storage Twi-ao---- 267.80g [lvol1_tmeta] storage ewi-ao---- 68.00m # virsh vol-list storage Name Path ------------------------------------------------------------------------------


Do I understand the concept incorrectly, or is there something else to
configure?

At the end I want to get max IO performance with possibility to
"overcommit disk space". I know I can use storage "dir", but thought
there might be something faster?

Thank you very much for a response,
Jan



--
Jan Hutar     Systems Management QA
jhutar@xxxxxxxxxx     Red Hat, Inc.

_______________________________________________
libvirt-users mailing list
libvirt-users@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvirt-users



[Index of Archives]     [Virt Tools]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]

  Powered by Linux