From: Christian Brunner <chb@muc.de>
To: kvm@vger.kernel.org, qemu-devel@nongnu.org
Cc: ceph-devel@vger.kernel.org
Subject: [Qemu-devel] [RFC PATCH 0/1] ceph/rbd block driver for qemu-kvm
Date: Wed, 19 May 2010 21:20:53 +0200 [thread overview]
Message-ID: <20100519192053.GC61706@ncolin.muc.de> (raw)
Hi,
this patch is a block driver for the distributed file system Ceph
(http://ceph.newdream.net/). Ceph was included in the Linux v2.6.34
kernel. However, this driver uses librados (which is part of the Ceph
server) for direct access to the Ceph object store and is running entirely
in userspace. Therefore it is called "rbd" - rados block device.
The basic idea is to stripe a VM block device over (by default) 4MB objects
stored in the Ceph distributed object store. This is very similar to what
the sheepdog project is doing, but uses the ceph server as a storage backend.
If you don't plan on using the entire ceph filesystem you may leave out the
metadata service of ceph.
Yehuda Sadeh helped me with the implementation and put some additional
usage information on the Ceph-Wiki (http://ceph.newdream.net/wiki/Kvm-rbd).
He has also written a Linux kernel driver to make an rbd image accessible as
a block device.
To compile the driver a recent version of ceph (>= 0.20.1) is needed and
you have to "--enable-rbd" when running configure.
Since our tests where quite promising, I would like to have feedback from
other qemu-kvm developers/users. If someone could check the AIO handling
of the driver I would be glad, too.
Thanks,
Christian
PS: The patch is based on git://repo.or.cz/qemu/kevin.git block
---
Makefile | 3 +
Makefile.objs | 1 +
block/rados.h | 376 ++++++++++++++++++++++++++++++++++
block/rbd.c | 585 +++++++++++++++++++++++++++++++++++++++++++++++++++++
block/rbd_types.h | 48 +++++
configure | 27 +++
6 files changed, 1040 insertions(+), 0 deletions(-)
create mode 100644 block/rados.h
create mode 100644 block/rbd.c
create mode 100644 block/rbd_types.h
reply other threads:[~2010-05-19 19:29 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=20100519192053.GC61706@ncolin.muc.de \
--to=chb@muc.de \
--cc=ceph-devel@vger.kernel.org \
--cc=kvm@vger.kernel.org \
--cc=qemu-devel@nongnu.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).