[Sheepdog] [RFC PATCH 0/2] Sheepdog: distributed storage system for QEMU
MORITA Kazutaka
morita.kazutaka at lab.ntt.co.jp
Wed May 12 12:46:51 CEST 2010
Hi all,
This patch adds a block driver for Sheepdog distributed storage
system. Please consider for inclusion.
Sheepdog is a distributed storage system for QEMU. It provides highly
available block level storage volumes to VMs like Amazon EBS.
Sheepdog features are:
- No node in the cluster is special (no metadata node, no control
node, etc)
- Linear scalability in performance and capacity
- No single point of failure
- Autonomous management (zero configuration)
- Useful volume management support such as snapshot and cloning
- Thin provisioning
- Autonomous load balancing
The more details are available at the project site [1] and my previous
post about sheepdog [2].
We have implemented the essential part of sheepdog features, and
believe the API between Sheepdog and QEMU is finalized.
Any comments or suggestions would be greatly appreciated.
Here are examples:
$ qemu-img create -f sheepdog vol1 256G # create images
$ qemu --drive format=sheepdog,file=vol1 # start up a VM
$ qemu-img snapshot -c name sheepdog:vol1 # create a snapshot
$ qemu-img snapshot -l sheepdog:vol1 # list snapshots
ID TAG VM SIZE DATE VM CLOCK
1 0 2010-05-06 02:29:29 00:00:00.000
2 0 2010-05-06 02:29:55 00:00:00.000
$ qemu --drive format=sheepdog,file=vol1:1 # start up from a snapshot
$ qemu-img create -b sheepdog:vol1:1 -f sheepdog vol2 # clone images
Thanks,
Kazutaka
[1] http://www.osrg.net/sheepdog/
[2] http://lists.nongnu.org/archive/html/qemu-devel/2009-10/msg01773.html
MORITA Kazutaka (2):
close all the block drivers before the qemu process exits
block: add sheepdog driver for distributed storage support
Makefile | 2 +-
block.c | 14 +-
block.h | 1 +
block/sheepdog.c | 1828 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
monitor.c | 1 +
vl.c | 1 +
6 files changed, 1845 insertions(+), 2 deletions(-)
create mode 100644 block/sheepdog.c
More information about the sheepdog
mailing list