ceph中对象和osd的匹配

1 首先建立一个测试文件。

#echo "Hello Ceph, You are Awesome like MJ" > /tmp/helloceph

#ceph osd pool create HPC_Pool 128 128

2 将生成的测试文件存入该池中并确认文件在池中:

#rados -p HPC_Pool put object1 /tmp/helloceph

#rados -p HPC_Pool ls

object1

3 在ceph中,数据都是以对象的形式存储的,这些对象属于一个PG,这些PG又对应多个OSD。现在我们来直观地感受一下这个概念:

# ceph osd map HPC_Pool object1

osdmap e221395 pool 'HPC_Pool' (14) object 'object1' -> pg 14.bac5debc (14.3c) -> up ([6,4,7], p6) acting ([6,4,7], p6)

我们来探讨一下这个命令的输出。

osdmap e221395: 这个是OSD map的版本号。

pool 'HPC_Pool' (14) : 这是池名字和ID

object 'object1': 这个是对象名称。

pg 14.bac5debc (14.3c):这是PG编号,这表示对象oject1属于PG 14.3c。

up ([6,4,7] :这是osd的up集合,这里包含osd.6、osd.4、osd.7。由于副本级是3,因此每一个PG将会存放到三个OSD上。这同时表明存放PG 14.3c的三个OSD的状态都是up。这是每一个特定crush map规则集中的一个特点osd map版本的所有相关osd的有序列表。正常情况下,这个和acting集合是一样的。

acting ([6,4,7]:这表明osd.6、osd.4、osd.7都在集合中,其中osd.6是主osd, osd.4是第二个、osd.7是第三个。acting集合是负责一个特定osd map的osd有序列表

4 检查这些osd的物理位置。你会发现osd.6、osd.4、osd.7彼此是物理隔开的,他们分别在三个节点上。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值