[libvirt] Questions on libvirt storage internals

Shehjar Tikoo shehjart at gluster.com
Tue Jul 12 08:27:39 UTC 2011

Eric Blake wrote:
> On 06/30/2011 04:23 AM, Shehjar Tikoo wrote:
>> Hi All
>> I am working on integrating GlusterFS with OpenStack so that VM volumes
>> can be placed on shared GlusterFS volumes. I would highly appreciate if
>> you please help me find the answers to some questions:
>> 1. Whats the difference between a storage driver and a storage backend
>> driver?
> A storage driver implements the callbacks used by the public API, as
> called from src/libvirt.c.  Most hypervisors can use the generic storage
> driver in src/storage/, but some use their own (such as
> src/esx/esx_storage_driver.c).
> A storage backend driver implements additional callbacks, so that the
> generic storage driver can target several types of storage devices.  It
> sounds like your work on GlusterFS would be a storage callback driver,
> and that all hypervisors that defer to the generic storage driver (such
> as qemu and lxc) will then automatically know how to do operations on
> images stored in GlusterFS.

What I find is that virStorageBackendFileSystemMount already implements
support for GlusterFS and I know that the GlusterFS support currently is
for the volume which is going to store VM images/running state and not
EBS style attachable volumes. This seems to suggest that a different
code path is where the change will be needed to support EBS-style
volumes over GlusterFS. Do I understand this right?


More information about the libvir-list mailing list