mrb's blog

Sheepdog: QEMU/KVM Nirvana?

Keywords: performance qemu virtualization

Traditional virtualization infrastructures with a need of some type of shared storage are expensive to deploy and hard to scale up. Imagine an infrastructure built on a cluster of hosts running guest systems where each host contributes a fraction of its inexpensive local storage space to establish a distributed storage system used across the entire cluster. This storage layer provides advanced features such as snapshotting, cloning, thin provisioning. Guest disk images are stored on this system and are therefore accessible to any host part of the cluster. Imagine also that this infrastructure has built-in fault tolerance and automatically replicates data to handle hosts added to or removed from the cluster (as it can happen in case of hardware failure). Such a system would provide:

  • Good performance scalibility at all levels: CPU, RAM, and storage all scale linearly because a host contributes each of these resources to the cluster. Whereas traditional virtualization infrastructures are hard to scale up due to the inherent throughput and latency bottlenecks of a centralized SAN/NAS.
  • Excellent reliability due to the fault tolerance and lack of a single point of failure such as a SAN/NAS.
  • Convenient ability to live migrate any guest from any host to any other host without the need of centralized storage.
  • Ability to replace/upgrade 100% of the parts of a cluster, over time, with zero downtime.

A project to accomplish all the above exists! MORITA Kazutaka, FUJITA Tomonori, and MORIAI Satoshi, all working for NTT Cyber Space Laboratories —I am trying to imagine what NTT might be doing—, started the Sheepdog project for QEMU/KVM. Their backgrounds reveal these guys are kernel developers, Xen hackers, and storage experts. They have worked on the kernel block layer, Xen Kemari (Virtual Machine Synchronization for Fault Tolerance), the SCSI layer, and much more.

I am very excited to hear about this project. A Sheepdog block driver for QEMU/KVM has already gone through multiple iterations of reviews. The latest patch posted to the qemu-dev@ mailing list was v6 on June 6, 2010. Hopefully it will soon make it to an official release.

This whole project is very innovative. As far as I know, no other virtualization vendor offers anything remotely similar to Sheepdog.

Comments

Joel Merrick wrote: "As far as I know, no other virtualization vendor offers anything remotely similar to Sheepdog."

Ceph with the rbd device for example? It's in mainline 2.6.34 now.. Both projects look very promising though
07 Jul 2010 12:02 UTC

mrb wrote: Oh, interesting. I had never heard of Ceph before. Very interesting indeed... 08 Jul 2010 08:05 UTC

Tom Boyd wrote: Dear Marc,

Please don't be offended... I'm just trying to save you some marketing hassles...

I hope your project gains traction, but you should know:

"Sheepdog Software" is a US registered trademark. As much as I love Border collies, hence my name for my enterprise!, and as good as your name is for your product, I have to tell you that using it for your product could lead to confusion...

Yours, Tom
07 Sep 2010 12:05 UTC

mrb wrote: Tom, you should contact the Sheepdog developers to notify them of this trademark (Sheepdog is not my project). 08 Sep 2010 04:20 UTC