Features/Sheepdog: Difference between revisions

From QEMU
 
(6 intermediate revisions by 2 users not shown)
Line 19: Line 19:
'''Easy administration'''
'''Easy administration'''
There is no configuration file that defines the cluster's members or roles. When the `sheep` daemon is run on a new machine, Sheepdog will automatically detect the machine via multicast and will add it as a member of the cluster.
There is no configuration file that defines the cluster's members or roles. When the `sheep` daemon is run on a new machine, Sheepdog will automatically detect the machine via multicast and will add it as a member of the cluster.
== Getting Started ==
* [[Features/Sheepdog/Getting Started|Getting Started]]


== Status ==
== Status ==
Line 29: Line 26:
** git://sheepdog.git.sf.net/gitroot/sheepdog/sheepdog
** git://sheepdog.git.sf.net/gitroot/sheepdog/sheepdog


== TODOs ==
== External documentation ==


=== generic items ===
* [https://github.com/collie/sheepdog/wiki/Corosync-config Corosync configuration]
* add more documentation for users
* [https://github.com/collie/sheepdog/wiki/Getting-Started Getting started]
* add more documentation for developers
* add testing tools to avoid regressions
* output better debug and error messages
* support architectures other than X86_64, i386
* support libvirt
 
=== sheep ===
* update VDI objects atomically
* handle connection timeout
* scalability upto several hundreds nodes
* better data re-balancing
* remove data objects which are no longer used
* provide different redundancy levels for each VDI
* handle total node failure (all nodes in the cluster)
* handle network partition failure
* remove limitation of the number of VMs on the same host
* support VMs running outside the cluster
* better load balancing, performance
 
=== collie ===
* provide a machine parsable format option
* provide a manual recovery command from the total node failure
* show differences between VDIs to backup efficiently
 
=== qemu block driver ===
* support live migration
* support snapshot deletion
* support a variable object size
* support shrinking image size


== Links ==
== Links ==
* [http://www.osrg.net/sheepdog/ Sheepdog Project]
* [http://www.linux-kvm.org/wiki/images/8/8d/2010-forum-sheepdog.pdf KVM Forum 2010 slides]
* [http://www.linux-kvm.org/wiki/images/8/8d/2010-forum-sheepdog.pdf KVM Forum 2010 slides]
[[Category:Completed feature pages]]

Latest revision as of 14:55, 11 October 2016

Summary

A distributed storage system for QEMU

Owner

Detailed Summary

Sheepdog is a distributed storage system for QEMU. It provides highly available block level storage volumes that can be attached to QEMU-based virtual machines. Sheepdog scales to several hundreds nodes, and supports advanced volume management features such as snapshot, cloning, and thin provisioning.

The architecture of Sheepdog is fully symmetric; there is no central node such as a meta-data server. This design enables following features.

Linear scalability in performance and capacity When more performance or capacity is needed, Sheepdog can be grown linearly by simply adding new machines to the cluster.

No single point of failure Even if a machine fails, the data is still accessible through other machines.

Easy administration There is no configuration file that defines the cluster's members or roles. When the `sheep` daemon is run on a new machine, Sheepdog will automatically detect the machine via multicast and will add it as a member of the cluster.

Status

  • QEMU 0.13 provides built-in support for sheepdog block devices.

External documentation

Links