我是靠谱客的博主 仁爱小白菜,最近开发中收集的这篇文章主要介绍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彼此是物理隔开的,他们分别在三个节点上。

最后

以上就是仁爱小白菜为你收集整理的ceph中对象和osd的匹配的全部内容,希望文章能够帮你解决ceph中对象和osd的匹配所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部