ceph同时提供对象存储、块存储、文件存储三种接口,但本质上其实是对象存储,也就是说一个rbd image实际上包含了多个对象(默认情况下是image_size/4M)。此处以块存储(RBD)为例进行演示,因为三种接口最终存储文件的操作单元都是对象,所以其他接口的方法类似:
前提:在bloc接口下有一个池:pool1,创建另一个volume(rbd image):vol1。
因为这个vol1里其实包含了很多object,我们首先要查找object的位置:
1.查找volume(rbd image)的指纹信息
[root@controller-1 ~]#rbd info pool1/vol1
2.根据指纹找到这个volume的object
rados -p pool1 ls|grep bd85d5ffe883b
3.再根据object查找具体的存储位置
[root@controller-1 ~]# ceph osd map pool1 rbd_data.bd85d5ffe883b.00000000000004a7
进入到如下目录/Ceph/Data/Osd/osd-scsi-35000cca25e48d2e0/current,即可找到最终的存放文件夹5.1f_head