Re: [libvirt-users] libvirt, lvm thin provisioning

Michael Mol
Tue, 03 Dec 2013 19:37:35 -0000

On Tue, 03 Dec 2013 18:13:08 +0100
Oliver Brakmann <oliver.brakmann@posteo.de> wrote:

> Hello,
>
> On 2013-11-22 21:46, Michael Mol wrote:
> > I know that lvm supports thin provisioning, and I think I have a
> > pretty good grasp on how that works. Does libvirt support lvm thin
> > provisioning and thin snapshots?
>
> libvirt does not support storage pools containing thin pools.  Since
> commit 4132dede0652b7f0cc83868fd454423310bc1a9c
>
(http://libvirt.org/git/?p=libvirt.git;a=commit;h=4132dede0652b7f0cc83868fd454423310bc1a9c)
> at least the thick provisioned volumes in such a pool can still be
> used. Previously, libvirt would just refuse to start the pool.
>
> However, you can assign any thin provisioned volume to a VM manually
> and it will work.  On the hardware/software combination that I tried
> it on (desktop SATA drives in RAID1 on Ubuntu 13.10) it was abysmally
> slow though.

I would expect that. My setup would be:

RAID6 | PV | VG | thin pool

Where the RAID6 is provided by a hardware RAID controller with a
battery-backed write cache.

>
> Proper support for LVM thin provisioning would probably need a new
> storage pool type, and I haven't found any hints that anybody was
> working on that.

A pity. Thin provisioning would be (as I see it) the first step to
whole-VM snapshots as found in systems like VMWare ESX. I'd love to be
able to pull that off using Linux/QEMU/KVM. Or at least be able to
snapshot a running VM's disk to be able to pull backups off the
snapshot without interrupting service in the VM guests.