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 supports advanced volume management features such as snapshot, cloning, and thin provisioning.

figure of sheepdog architecture

Figure 1: Sheepdog architecture

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.

Documentations

  • TODO list (Soon move to SourceForge.net)

    • tolerance against network failure
    • autonomous load balancing
    • online snapshot from qemu-monitor
    • Amazon EBS API support (to use from a Eucalyptus instance)
    • VM image deletion support
    • support architectures other than X86_64
    • data recovery
    • free space management
    • guarantee reliability and availability under heavy load
    • performance improvement
    • reclaim unused blocks
    • more documentation

Source Code

Sheepdog is an Open Source software, released under the terms of the GNU General Public License, version 2.

  • Sheepdog server: git://sheepdog.git.sourceforge.net/gitroot/sheepdog/sheepdog [browse]
  • Sheepdog client: git://sheepdog.git.sourceforge.net/gitroot/sheepdog/qemu-kvm [browse]

Disclaimer

This software is experimental and developing software. Therefore, this software is provided without support and without any obligation on the part of NTT Laboratories to assist in its use, correction, modification or enhancement. There is no guarantee that this software will be included in future software releases, and it probably will not be included.

THIS SOFTWARE IS PROVIDED “AS IS” WITH NO WARRANTIES OF ANY KIND INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.

Mailing list

Project Members

  • MORITA Kazutaka <morita.kazutaka at lab.ntt.co.jp>
  • FUJITA Tomonori <fujita.tomonori at lab.ntt.co.jp>
  • MORIAI Satoshi <moriai.satoshi at lab.ntt.co.jp>

Table Of Contents

Next topic

Design and Implementation

Questions? Suggestions?

Join Sheepdog Mailing List