qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Liu Yuan <namei.unix@gmail.com>
To: sheepdog <sheepdog@lists.wpkg.org>,
	sheepdog <sheepdog-users@lists.wpkg.org>
Cc: qemu-devel@nongnu.org
Subject: [Qemu-devel] [Sheepdog Announcement] erasure coding is fully functional, please try test
Date: Sat, 19 Oct 2013 13:34:09 +0800	[thread overview]
Message-ID: <20131019053409.GA30506@ubuntu-precise> (raw)

Hello all,

Sheepdog is a distributed storage system that QEMU VM and RESTful services (in progress).

Erasure coding is now seamlessly functional with all other features such as
snapshot/clone/cluster-wide/multi-disk/auto-healing e.c with following characteristics:

1 Data is erasure coded automatically while being written to sheepdog storage, no extra operations.
2 Support random read/write, in-place-update, misaligned read/write
3 Support to run any type VM images or attach as a vdisk of a VM
4 User-defined coding scheme on a VDI basis
5 Better read/write performance compared to fully replication scheme
6 A single cluster can both support replicated VDI or erasure-coded VDI

You can get more info at

https://github.com/sheepdog/sheepdog/wiki for a general wiki
https://github.com/sheepdog/sheepdog/wiki/Erasure-Code-Support for erasure coding

Anyone who is interested can

git clone https://github.com/sheepdog/sheepdog.git

For a 10 minutes quick start with a single machine, you can try:
(Assume you are debian based system)

# Compile from the source

 $ sudo apt-get install liburcu-dev
 $ git clone git://github.com/sheepdog/sheepdog.git
 $ cd sheepdog
 $ ./autogen.sh; ./configure --disable-corosync
 $ make; sudo make install

# Create a 6 node cluster with local driver
 $ for i in `seq 0 5`; do sheep /tmp/store$i -n -c local -z $i -p 700$i;done
 $ dog cluster format

# Create a replicated thin-provisioned 20G volume with 3 copies
 $ dog vdi create -c 3 replica 20G
 $ dog vdi list # show vdi list
 $ dog node info # show node information
 $ dog cluster info # show cluster infomation

# Create a erasure-coded (4 data strips and 2 parity strips) 20G volume
 $ dog vdi create -c 4:2 erasure 20G

# Now you should have 2 vdi created
 $ dog vdi list

# You can install OS on these volumes with upstream QEMU
 $ qemu-system-x86_64 -m 1024 --enable-kvm \
   -drive file=sheepdog:erasure,if=virtio -cdrom path_to_your_iso

# or attach the volumes with existant VM
 $ qemu-system-x86_64 -m 1024 --enable-kvm \
   -drive file=your_image,if=virtio -drive file=sheepdog:erasure,if=virtio

# Take a live disk-only snapshot of running VM
 $ dog vdi snapshot -s tag erasure

# Mount the volume(vdi) to local storage file system
 $ sheepfs dir
 $ echo erasure > dir/vdi/mount
# then you can do whatever with the mounted file at dir/vdi/volume/erasure

Have fun

And feedbacks are always welcome.

Thanks
Yuan

                 reply	other threads:[~2013-10-19  5:34 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20131019053409.GA30506@ubuntu-precise \
    --to=namei.unix@gmail.com \
    --cc=qemu-devel@nongnu.org \
    --cc=sheepdog-users@lists.wpkg.org \
    --cc=sheepdog@lists.wpkg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).