librbd库的使用




qemu、rbd-nbd等客户端都是使用librbd进行ceph rbd卷的IO访问,如果要深入理解librbd,那么尝试自己写一个client来访问rbd卷(控制操作、IO操作),肯定是一个不错的途径。

写了个C的(异步IO模式),C++的可以参考:https://blog.csdn.net/JDPlus/article/details/76522298

 

编译:gcc -g3 -O0 librbdtest.c -o librbdtest -lrados -lrbd

执行(需要先创建”rbd” pool和”sotest”卷):

 

官方example:https://github.com/ceph/ceph/blob/master/examples/librbd/hello_world.cc