Ceph开发每周谈 Vol 54|Ceph 去重进展

2016年12月 · 麦子迈

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

  • 一句话消息

Ceph support coming to REX-Ray (https://blog.codedellemc.com/2016/12/08/cephrexray/?cmp=soc-cor-glbl-us-sprinklr-TWITTER–codeDellEMC-735940581)

 

  • New Dedup Design From SK

image2016-12-21 1

SK 最近要继续从事 Ceph 去重的大任务,核心是采用 hash 值作为去重的 key 来利用好已有的基础设施,避免引入额外的指纹元数据。

核心是在以下几点:
“double CRUSH”,将数据的 hash 结果作为一个新的 oid 写入到去重后的数据池。
OID : DATA –>(hash)–> FP_OID : DATA

“cache tier”,将 cache tier 作为新数据缓存池,然后 hash 后存成一个新的 oid 对象,将 hash 值作为 oid。

image2016-12-21 2

同时 SK 也在实现在线的去重功能,实现一个 lookup table 和 metadata cache 来作为 cache pool 写入时的指纹查询。

  • Ceph 一周一问题

Q: AsyncMessenger 在 Hammer,Jewel,Kraken 的使用情况?

A: Ceph Hammer 版本完全不能启用 AsyncMessenger,会出现丢消息的情况。在 Jewel 有极大改善,但是 Jewel 仍然存在几个情况下的 Bug,10.2.4 以上版本会基本都修复,不过由于 Jewel 仍然为非默认,因此无法确定 Jewel 是否真的修复了所有已知问题。在 Kraken AsyncMessenger 已经是默认选项,因此目前没有已知问题。