[Sheepdog] qemu-img convert slowness and high availability status

MORITA Kazutaka morita.kazutaka at lab.ntt.co.jp
Tue Jun 14 18:05:14 CEST 2011


At Mon, 13 Jun 2011 23:35:32 +0200,
krimson wrote:
> 
> Hi again :)
> 
> I was converting an LVM based image to sheepdog using:
> 
> # qemu-img convert /dev/vmvg/web sheepdog:web
> 
> and noticed it took 2.5 hours to complete. The image is 8GB in size. The 
> sheepdog/corosync network is a direct Gbit link between two nodes. Any 
> idea as to why this is taking so long ? Small blocksize perhaps ? The 
> cluster is using copies=2. Using sheepdog from git (0.2.3) and qemu-kvm 
> 0.14.

How long does it take when you convert the image to a raw image on
LVM?
 $ time qemu-img convert /dev/vmvg/web /your_store_directory/web.raw

This should show an ideal time for converting to Sheepdog images on
your machine.

> 
> Another question regarding the state of high availability in sheepdog, I 
> noticed it is possible to specify multiple sheepdog hosts in my qemu XML 
> definition, and it defaults to localhost.

Sheepdog accepts only one host in the XML format.  See also
http://libvirt.org/formatdomain.html#elementsDisks

> I would like to avoid 
> specifying multiple sheepdog hosts in the XML definition if possible and 
> was wondering what happens to the VMs when the sheep daemon dies for 
> example. The entire node failing would not be a problem I guess as the 
> remaining node would then startup the VMs that were running on the 
> failed node.

Unfortunately, there is no automatic connection failover support
because Sheepdog assumes that VMs connect to localhost (the failure of
localhost means that VMs cannot survive any more).

We have a plan to remove this restriction in future, but currently
Sheepdog cannot handle the failure.


Thanks,

Kazutaka



More information about the sheepdog mailing list