ceph存储pg、object、pool、osd、image对应存储位置查询

本文详细介绍如何在Ceph分布式存储系统中,通过pg、osd、pool等组件定位特定对象的位置,包括从pg到osd、从pool到pg、从object到osd的查找方法,以及具体实例演示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pg, osd, pool 之间的一些查找方法

1. pg --> osd: 通过 pg 查找 osd

ceph pg map {pgid}

2. osd --> pg: 通过 osd 查找 pg

ceph pg ls-by-osd osd.{osdid}

3. pg --> pool: 通过 pg 查找 pool

ceph pg dump | grep "^{poolid}\."

4. pool --> pg: 通过 pool 查找 pg

ceph pg ls-by-pool {poolname}
ceph pg ls {poolid}

5. object --> osd: 通过 object 查找 osd

ceph osd map {poolname} {objectname}

image对象存储位置

1、首先查看一个pool中的image的指纹信息,目的是该image的所有的object文件都是以这个指纹命名的。比如我这里创建了一个pool rbd,该pool下有一个image dbd image : 

$rados -p rbd ls 
rbd_data.ff3fceeb8376.0000000000000e12
rbd_data.ff3fceeb8376.0000000000001d04
rbd_data.ff33b491db6b9.0000000000000f26


这里ff3fceeb8376就是这个image的指纹。所有这个image相关的object 4M对象都会以这个指纹命名来当文件存放在filestore后端文件系统上,比如XFS文件系统上。

2、查看这个pool下该image所有对象信息 

rados -p rbd ls |grep ff3fceeb8376
rbd_data.ff3fceeb8376.0000000000000055
rbd_data.ff3fceeb8376.0000000000000554


如这里都是以指纹ff3fceeb8376对应的4M文件。

3、比如我们这里以rbd_data.ff3fceeb8376.0000000000000055这个4M对象文件为例来查找这个文件的位置。首先找到这个文件对应的pg和OSD集合。 

 ceph osd map rbd  rbd_data.ff3fceeb8376.0000000000000055
osdmap e223 pool 'rbd' (2) object 'rbd_data.ff3fceeb8376.0000000000000055' -> pg 
2.afdb9000 (2.0) -> up ([0,5], p0) acting ([0,5], p0)


从而指导这个对象对应的pg是2.f,osd集合是[2,0],其中osd.2是主OSD。

3、在查看这个主OSD在那台OSD节点上,比如查看180主OSD在那台节点上。此时需要执行ceph osd tree查看整个map,从而得到该OSD归属那个节点 
$ceph osd tree

0.36386             osd.2          up  1.00000 1.00000
0.36386             osd.3          up  1.00000 1.00000
4、从而得到OSD.2是在主机名:xxx上,因此这里需要登录着台机器.xxx.然后查看OSD目录: 
$sudo ls -l /var/lib/ceph/osd 

5、发现ceph-180目录。该目录下存放和这个OSD所对应的pg,因此也存放这个这些pg对应的image的对象文件。在current目录下查看上面pg id对应的文件: 
$sudo ls -l /var/lib/ceph/osd/ceph2/current |grep 2.f
。。。

6、在/var/lib/ceph/osd/ceph-180/current/2.f_head目录下存放着文件

 


 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值