ceph如何确定文件存储的最终位置(OSD)

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

rbd image 'vol1':
    size 10240 MB in 2560 objects
    order 22 (4096 kB objects)
    block_name_prefix: rbd_data.bd85d5ffe883b
    format: 2
    features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
    flags:

其中:bd85d5ffe883b就是指纹信息

2.根据指纹找到这个volume的object

rados -p pool1 ls|grep bd85d5ffe883b

rbd_data.bd85d5ffe883b.0000000000000261
rbd_data.bd85d5ffe883b.00000000000001a7
rbd_data.bd85d5ffe883b.000000000000017c
rbd_data.bd85d5ffe883b.0000000000000596
rbd_data.bd85d5ffe883b.00000000000006eb
rbd_data.bd85d5ffe883b.000000000000026c
rbd_data.bd85d5ffe883b.00000000000004cb
rbd_data.bd85d5ffe883b.0000000000000673
rbd_data.bd85d5ffe883b.00000000000000a7
rbd_data.bd85d5ffe883b.00000000000007e2
rbd_data.bd85d5ffe883b.000000000000021c
rbd_data.bd85d5ffe883b.0000000000000181
rbd_data.bd85d5ffe883b.000000000000040f
rbd_data.bd85d5ffe883b.0000000000000853
rbd_data.bd85d5ffe883b.0000000000000408
rbd_data.bd85d5ffe883b.0000000000000689
rbd_data.bd85d5ffe883b.00000000000004a7
rbd_data.bd85d5ffe883b.000000000000046a

..............还有很多,以上就是这个volume里所包含的object

3.再根据object查找具体的存储位置

[root@controller-1 ~]# ceph osd map pool1 rbd_data.bd85d5ffe883b.00000000000004a7

osdmap e273 pool 'pool1' (5) object 'rbd_data.bd85d5ffe883b.00000000000004a7' -> pg 5.b3f96d7f (5.1f) -> up ([2,1,0], p2) acting ([2,1,0], p2)

根据输出得知,pool1 vol1里的某一个对象存放在5.1f这个pg中,这个pg真是的存放位置位于osd2/1/0三个osd上面(三副本)

acting ([2,1,0], p2 ) 代表活跃的osd集合,中括号里第一个编号即主osd。

4.进入到如下目录/Ceph/Data/Osd/osd-scsi-35000cca25e48d2e0/current,即可找到最终的存放文件夹5.1f_head

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值