[libvirt] RFC: btrfs storage pool using subvolumes & snapshots
Daniel P. Berrange
berrange at redhat.com
Fri Aug 30 09:32:42 UTC 2013
On Fri, Aug 30, 2013 at 01:57:52AM +0300, Oskari Saarenmaa wrote:
> I wrote an experimental btrfs storage pool which uses subvolumes (and
> optionally snapshots) as storage volumes in LXC domains. The code is
> available at https://github.com/saaros/libvirt/compare/btrfs-storage but
> it's still missing some features like quotas for the subvolumes
> (currently the capacity definition for volumes is ignored) and doesn't
> have any documentation so far.
>
> Sample usage:
> mkdir /virtual; mkfs.btrfs /dev/vdb; mount -t btrfs /dev/vdb /virtual
> virsh pool-create-as testpool btrfs --target /virtual
> virsh vol-create-as testpool vanilla 0
> echo vanilla > /virtual/vanilla/test
> virsh vol-create-as testpool test 0 --backing-vol vanilla
> cat /virtual/test/test
> btrfs subvolume list /virtual
>
> Does this look like a useful feature and does it make sense to implement
> it as a new storage pool type, or should it be merged into an existing
> one? I looked at the existing ones and couldn't really figure out how
> to make it fit nicely in any of them.
I'd certainly love to see this added in libvirt. I'm really not sure
about the question fo using an existing pool vs a new pool type. I'll
have to play around with your code to understand it a bit better to
make a recommednation.
> As far as I could tell none of the existing storage pools or volumes
> offered a way to create a new copy-on-write volume for easy use in LXC
> domains using the libvirt API. With the new btrfs pool I was able to
> replace KVM domains using qcow2 volumes with LXC + btrfs with very
> little changes to the application code.
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list