技术文章

BLOG

Ceph开发每周谈Vol82 | Pool 支持打 tag

2017-07-13 · 麦子迈

这是Ceph开发每周谈的第八十二篇文章,记录从17年7月4号到17年7月12号的社区开发情况。笔者从前年开始做Ceph的技术模块分析到今年中告一段落,想必有挺多人期待下一篇Ceph技术分析。考虑到Ceph的发展已经从前年的一穷二白到现在的如火如荼,但对于社区的方向和实况仍有所脱节,笔者考虑开始Ceph开发每周谈这个系列。每篇文章都会综述上周技术更新,围绕几个热点进行深度解析,如果正好有产业届新闻的话就进行解读,最后有读者反馈问题的话并且值得一聊的话,就附上答疑部分。

 

在6月份的 CDM 中讨论的给 Pool 引入 metadata 能力,用于提高 Pool 对于用户的可见性,比如说某个池是被 rbd,或者是 rgw 使用。这样的好处是当 rbd 命令操纵某个池时,必须先验证为 rbd 池才能继续。

– ceph osd pool application enable $poolname $application

– ceph osd pool application disable $poolname $application

– ceph osd pool application set $poolname $application $key $value

– ceph osd pool application rm $poolname $application $key

ceph 会增加以上接口来显式的启用 pool 用途,以及给 pool 增加 key/value 对用于特定场景的解释。这样,在通过 ceph osd pool ls 就可以获得每个池的相关信息。

目前 Jason 已经在 (https://github.com/ceph/ceph/pull/15763/files) 中实现了大部分逻辑,所有老池在升级到 L 时也会自动打上相关 tag,未来在 ceph old ls pool 的输出就可以看到增加了一个新的字端 “application”,比如:

pool 1 ‘rbd’ replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 192 pgp_num 192 last_change 0 flags hashpspool stripe_width 0 application rbd