Ceph开发每周谈 Vol 94 | Dovecot 存储使用 RADOS

2017年10月 · 麦子迈

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

  • 一句话消息

12.1.2 已经发布

  • Dovecot 的后端存储 RADOS

Dovecot 是一个著名的开源 IMAP/POP3 邮箱服务器端实现,在邮箱服务器市场占据重要的份额(在开源领域占据72%)。Dovecot 企业版本本身支持 S3/Swift 协议,但并不开源。最近德国电信基于 CephFS(作为索引) 和 librados 实现了 Dovecot 的后端存储。

Dovecot 通常使用文件系统存储,也使用 SQL 作为索引,以下是 Dovecot Pro 的架构,利用对象存储作为邮件存储实现。但是元数据以及换存储仍然利用本地存储。

目前主要利用 CephFS 存储索引,librados 存储邮件实体,未来期望完全用 librados 来进行。感兴趣可以通过(https://github.com/ceph-dovecot/dovecot-ceph-plugin)进行了解,该插件支持 Dovecot 2.3 以上版本。

rbox format 版本,GUID,接收和保存时间,POP3 UIDL,order,邮箱 GUID,物理和虚拟空间,邮件 UID 都作为 RADOS 对象的 XATTR 存储。

未来期望直接 librados 存储所有元数据,而不需要 CephFS。