[libvirt] Questions on libvirt storage internals

Shehjar Tikoo shehjart at gluster.com
Tue Jul 12 08:27:24 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?

Thanks
-Shehjar




More information about the libvir-list mailing list