Ceph开发每周谈Vol 22 | 全球最大Ceph集群到底有多大?

2016年05月 · 麦子迈

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

上周综述

On The Wire Encryption

为了实现在 Messenger 层面的加密,避免嗅探和中间人攻击,在 K 版会在 AsyncMessenger 实现网络消息加密。目前 Ceph 在消息保护上已经有 CephX,提供了消息签名来避免串改,但是在对数据安全有要求的企业对加密有着强烈需要,目前 Ceph 支持 dm-encry 的 OSD 部署,使得数据写入盘可以加密保存。但是网络通讯仍然是原文传输。

为了实现严格的加密保护,会在 MON 端建立基于 OSD 或者 Host 的 Key 仓库,每个客户端和 OSD 通讯时根据目的地获取相应的 Key 进行连接。但目前的 Messenger 通讯协议并不能很好的保护 Handshake,使得仍存在握手入侵问题。因此,在基于新的地址类型下实现 Messenger V2 协议,增加对于加密的支持。同时,正好 Ceph MON 获得 IAIN 的端口授予 3300 这个正式端口,计划在新的端口使用 V2 协议,而旧的端口使用 V1 兼容。

5687 个 OSD

上月 Sage Weil 在 OpenStack Summit 讲述全球目前潜在的最大 Ceph 集群已经达到 5687 个 OSD,容量已经达到 30531 TB,最近该集群正好切换到 AsyncMessenger 来解决之前 Simple 的过多连接和线程资源问题,发现了一些可能的不稳定。因此正好一观情况:

osdmap e34448: 5687 osds: 5660 up, 5612 in; 7 remapped pgs

flags sortbitwise

pgmap v563055: 266608 pgs, 3 pools, 639 TB data, 3700 Mobjects

2093 TB used, 28438 TB / 30531 TB avail