rbdwrapper: userland library for transparent access to rbd images

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I would like to contribute source code for an
experimaental pure userland library to provide transparent
client access to rbd images without the use
of the client kernel modules rbd.ko and libceph.ko.

The attached rpm source package basically provides
 - the code for librbdwrapper.so
 - and for the admin command rbdwrapper_adm 

librbdwrapper.so can be utilized by an application
via the LD_PRELOAD mechanism and intercepts some
basic standard library calls like open(), close()
read() or write() to rbd images.

A call to open() is intercepted only if the path
name in the call refers to a rbdwrapper file system
object. These are administered by the rbdwrapper_adm
command, while plays a similar role as the rbd
subcommands
  rbd map <image name>
  rbd showmapped
for rbd images via the rbd.ko and libceph.ko kernel
modules.

The benefit of librdbwrapper is that
 - it utilizes the same userland libraries which are
   used by the ceph daemons
 - allows for a higher degree of parallelism as far
   as the number of communication channels to the
   osd's is concerned: on a single system with multiple
   client applications, each of these applications
   uses its own instance of the ceph messenger
   communication module

The drawback of librbdwrapper compared to real block
devices as provided by the rbd.ko kernel module is that
it does not provide a real block device, i.e. it cannot
utilize linux kernel vfs services like mount() or the
generic block device driver services.


Regards

Andreas Bluemle


-- 
Andreas Bluemle                     mailto:Andreas.Bluemle@xxxxxxxxxxx
ITXperts GmbH                       http://www.itxperts.de
Balanstrasse 73, Geb. 08            Phone: (+49) 89 89044917
D-81541 Muenchen (Germany)          Fax:   (+49) 89 89044910

Company details: http://www.itxperts.de/imprint.htm

Attachment: rbdwrapper-1-0.1.src.rpm
Description: application/rpm


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux