2019年4月18日,第九届中国开源黑客松活动在深圳鹏城实验室正式开幕。本届黑客松活动由中国开源云联盟指导,中国电子技术标准化研究院、英特尔、华为、腾讯联合主办,深圳鹏程实验室鼎力支持,OpenStack、Linux、CNCF、Apache、Ceph等国际开源基金会共同组织。本次活动共吸引了来自华为、腾讯、英特尔、阿里、浪潮、京东、中国移动、中国联通 、中兴、烽火 、万博智云、Antfin 、OSF、CMSS、PCL 、Ret hat、pingcap等将近20余家活跃在国内外开源界的100余位开源开发者参加本届黑客松活动。

本次Ceph项目邀请了社区核心贡献者来自红帽的柴可夫(Kefu Chai)作为Reviewer全程参与本次项目。

本次活动发起人及组织者包括:
万博智云:孙琦Ray
Intel:朱韦韦(Vivian Zhu)
中铁信:耿航
本次总共报名参与项目Ceph项目的开发者包括(排名不分先后):
Intel: Cheng Yingxin
腾讯:Xiaodong Pan, Kaikai Ge, Wenda Li
中国移动:王升,Kaiwen Jin
京东:刘硕然
深圳大学:Liu Zexiong, Li Kejian
由于部分同学行程临时调整未能全程参与本次活动,但是仍然要感谢各个公司对本次活动的大力支持。

最终经过可夫的推荐,来自英特尔的程盈心获得Ceph组明星组员的称号。

本次是Ceph第二次加入黑客松活动,由于Ceph项目的特殊性,本次并未在短时间内形成PR提交。但是本次活动从组内对Ceph的讨论,以及跨项目合作取得了一定的成果,总结如下:
代码层面
优化下一代OSD中消息处理,利用批处理提高性能(https://github.com/ceph/ceph/pull/27430)
改进下一代OSD消息分发机制的优化手段(https://github.com/ceph/ceph/pull/27690)
讨论问题
在第一天的讨论中,来自腾讯的李文达和柴可夫就Luminous版本中,在Bluestore和Filestore中随着小对象数量增加,性能出现下降进行了深入讨论,下图为李文达对于该问题的测试结果(仅供参考)

测试环境说明:3节点,每个节点 :1系统盘 + 10个数量盘HDD + 1TB NVMe SSD,且元数据都保存在ssd里,业务对象数据保存在HDD上,Gateway的 meta、index等元数据和 osd db、journal 都保存在SSD里
Ceph在Recovery时,如何最大程度保证业务访问的性能问题。目前在Recovery时,会造成集群性能下降比较严重,导致正常的业务I/O收到影响。
Ceph中Qos的机制问题。
如何降低Ceph运维成本?目前Ceph开源版本在运维成本上对于传统运维人员还是有很高的门槛,不经过一到两个月的学习,无法直接上手,这在一定程度上也影响了Ceph开源版本在实际项目中的推广。
与OpenSDS社区进行了深入讨论,未来将加强与OpenSDS社区的合作
Ceph校园推广活动
在本次活动中,我们特别邀请了两位来自深圳大学的研究生同学加入本次活动,尝试指导他们在两天多的时间内完成第一个Ceph社区贡献代码。但是由于前期准备不足,在准备环境和编译过程中浪费了很多时间,最终未能在两天时间内达成目标,但是我们仍然鼓励两位同学在后续坚持完成。虽然未能达到预期,但是这种形式的确给了后续社区运作提供了更多的思考方向。
关于下一届黑客松活动的展望
目前Ceph在国内的发展已经进入了一个成熟和稳定期,目前国内公司投入研发分为两种类型:第一种类型是觉得社区太慢,并且沟通起来成本太高,索性我就基于Ceph某一版本自己搞闭源,快速产品化,这样可以最大程度保证公司的销售利益;第二类是做点Ceph周边的部署、运维、接口开发等,提高Ceph在项目实施中的可用性,也可以保证公司的销售利益。从公司经营角度看,这两种方式都无可厚非,但是会让自己和开源社区越走越远。在本次讨论过程中,开发者在某些问题的解决方案的确受到Kefu的认可,但是这些想法实际上在新版本中确实已经实现了,但在时间上确实要晚一些。这是一个我们值得认真思考的问题:中国地区作为Ceph最大的一个受众群体,如何平衡企业利益与社区研发进度的矛盾?如何提高社区对企业一些核心诉求的响应速度和研发速度?如何为中国企业和社区核心贡献者增加一个更为有效的沟通桥梁呢,来提高企业对于Ceph的投入呢?
Ceph项目相较于OpenStack项目在参与上有一定的难度,对于从事一些核心的代码贡献有一定的门槛要求。但是随着Ceph应用越来越广泛,对于Ceph在实际应用过程中的管理门户、部署、运维、诊断等诸多产品级别的需求越来越高,这实际上也为社区参与者提供了更多的参与机会。同时,国内很多公司在应用Ceph过程中也有这样的诉求,这个开发方向也符合公司的利益。所以在下一次黑客松活动中,应该专门开设针对性的开发项目,吸引更多的开发者。
加强国内社区核心开发者的沟通和交流及跨社区交流,本次黑客松活动已经不仅仅是早期黑客松对于Blueprint或Bug的开发和修复,跨社区之间的交流才是本次会议的重点。Ceph社区也应该更多的与k8s、openSDS等社区增加横向的讨论和合作。
继续加强Ceph在校园中的推广。在下一次黑客松活动中,吸引更多的在校生加入活动,对于绝大多数在校生来说,很难完全了解真实的开源世界。黑客松不仅汇聚了国内顶尖的开源人才,是一个非常难得的学习机会和传播开源精神的集会,能够让学生在进入社会前拥有更多的实践机会。在下一次准备过程中,在前期的规划上要对环境、内容进行充分的准备,让参与者能够更快速的融入到Ceph开发中。
Ceph参与黑客松活动对社区组织者提出了更高的要求,目前Ceph的应用已经趋于普遍,如何将黑客松贡献与公司利益诉求结合是我们要重点了解和改进的地方。无论如何,让Ceph在企业场景中得到更多的应用,是我们不变的目标,期待明年的黑客松有更多社区贡献者加入!
预告:预计Ceph Day活动将在6月份-7月份在上海举行,欢迎来Ceph Day分享你的应用案例干货,报名请联系本公众号!





