Sheepdog Project

This post has already been read 34558 times!

Still not for production purposes, but very interesting is the sheepdog project
Sheepdog is a distributed storage system for KVM. It provides highly available block level storage volumes that can be attached to KVM virtual machines. Sheepdog scales to several hundreds nodes, and supports advanced volume management features such as snapshot, cloning, and thin provisioning.
In the future they will hopefully add VMware and XEN support. for now it’s only KVM supported.

figure of sheepdog overview


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 config file about cluster’s role. When administrators launch Sheepdog programs at the newly added machine, Sheepdog automatically detects the added machine and begins to configure it as a member of the cluster