[Sheepdog] libvirt integration

Wido den Hollander wido at pcextreme.nl
Mon Aug 16 10:11:34 CEST 2010


Hi Kazutaka,


On Mon, 2010-08-16 at 02:34 +0000, MORITA Kazutaka wrote:
> At Sat, 14 Aug 2010 18:04:25 +0200,
> Wido den Hollander wrote:
> > 
> > Hi,
> > 
> > On the "TODO" list i saw a libvirt todo, but this doesn't have to be so
> > hard.
> > 
> > The "Ceph" guys made a patch where you can specify a "virtual" disk,
> > see:
> > http://ceph.newdream.net/git/?p=libvirt.git;a=commit;h=84d6dd3687d291f19653b47570f35c005ced189f
> > 
> > When applying that patch to libvirt, you can specify a Sheepdog disk:
> > 
> > <disk type='virtual' device='disk'>
> >   <source path='sheepdog:Alice'/>
> >   <driver type='sheepdog'/>
> >   <target dev='vda' bus='virtio'/>
> > </disk>
> > 
> > It's just a small patch, but it works for Ceph, might also work for Sheepdog (haven't tested it).
> 
> Indeed, it works for Sheepdog.  I've succeeded in attaching a
> sheepdog image to a virtual machine.  Thanks for the information.
> 
> My another concern is using Sheepdog as a libvirt storage pool.
> For example:
> 
>   - create a sheepdog volume pool 'sd_pool'
> 
>   $ virsh pool-create-as sd_pool sheepdog [other options]
> 
>   - create a 4GB volume 'sd_vol' in the sheepdog pool
> 
>   $ virsh vol-create-as sd_pool sd_vol 4G [other options]
> 
> 
> To support these features, we need to implement a storage backend
> driver for libvirt, I think.

I've tried to do so with Ceph's RADOS Block Device, but there were some
limitations to it.

My intention was to support RADOS pools, but i soon found out, that you
would have to hack a lot inside libvirt to get it working.

I also hoped that virt-manager would detect which capabilities libvirt
would have, but that does not seem to be the case.

> 
> Thanks,
> 
> Kazutaka

-- 
Met vriendelijke groet,

Wido den Hollander
CTO
Contact: http://www.pcextreme.nl/contact




More information about the sheepdog mailing list