Ceph 社区 2018Q3 季度总结报告

1. 本季度 Ceph 社区的主要活动和重点议题

1.1 Ceph 性能会议

  • 主题: Ceph 分布式存储系统性能优化
  • 重点议题: bufferless 的使用和优化,包括内存碎片化、迭代器失效、缓存行争用等问题。
  • 行动计划: 清理 bufferless 接口,优化 small vector,探索使用 vector 进行优化的可能性。

1.2 新开发者代码走查

  • 主题: Ceph 源代码组织结构及关键组件介绍
  • 重点议题: Ceph 源代码目录组织结构、消息传递机制、对象存储机制、守护进程、librados 库等。
  • 行动计划: 发布会议内容文档,持续举办类似的技术分享会。

1.3 Ceph 性能周会

  • 主题: Ceph 性能优化、监控系统改进、内存管理优化、Ceph 与 SeaStar 的兼容性等
  • 重点议题: 缓存平衡、内存分配器、PGs 限制、日志优化、性能测试等。
  • 行动计划: 继续优化性能,关注内存管理问题,优化 Messenger 协议。

1.4 Ceph 测试周会

  • 主题: Ceph 在容器化环境下的测试策略和框架
  • 重点议题: 测试框架选择、测试环境、测试策略等。
  • 行动计划: 使用 Tautology 测试框架,创建通用接口,实现测试隔离性。

1.5 Ceph 开发者月会

  • 主题: Ceph 分布式存储系统中的多个功能改进和优化方案
  • 重点议题: Ceph 存储池权限控制、Ceph 容器存储接口(CSI)、Ceph 文件系统、Ceph MDS 工作负载分析、Ceph OSD 同步问题等。
  • 行动计划: 设计新的角色和权限模型,开发新的命令行工具和 REST API,优化文件系统性能和可扩展性,改进 Ceph MDS 的缓存机制,设计新的 PG 锁机制。

2. 技术发展和创新亮点

  • bufferless 优化: 通过清理接口、优化 small vector、探索使用 vector 进行优化等方式,提高了 bufferless 的性能和稳定性。
  • Ceph 容器存储接口(CSI): 将 Ceph CSI 客户端模块迁移到 Ceph Manager 模块,统一存储管理,开发新的命令行工具和 REST API,支持更灵活的存储管理。
  • Ceph 文件系统: 将文件系统称为“卷”,将子文件系统称为“子卷”,允许多个文件系统共享相同的数据池,改进了 Ceph 文件系统的性能和可扩展性。
  • Ceph MDS 工作负载分析: 收集更多 MDS 性能指标,开发新的工具,分析 MDS 工作负载并生成模拟工作负载,改进 Ceph MDS 的缓存机制。

3. 重要的决策和里程碑

  • bufferless 接口清理: 由 Braddock 负责,整理出不必要的功能,并尝试使用 small vector 进行优化。
  • SeaStar 优化: 由 Casey、Radek 和 key foo 负责,尝试将 SeaStar 特定缓冲区的原子引用计数改为非原子引用计数。
  • Ceph CI Ansible 优化: 由 Nathan 负责,改进工作流程、实现版本控制和集成测试等。
  • Ceph 容器存储接口(CSI)开发: 将 Ceph CSI 客户端模块迁移到 Ceph Manager 模块,开发新的命令行工具和 REST API。

4. 社区贡献和合作情况

  • 社区贡献: 本季度 Ceph 社区活跃度高,众多开发者参与贡献代码和文档。
  • 合作情况: 与 OpenSUSE、Red Hat、Intel 等公司合作,共同推动 Ceph 的发展和优化。

5. 下一季度展望和计划

  • 继续优化 Ceph 性能: 关注内存管理、日志优化、缓存平衡等问题,提高 Ceph 的性能和稳定性。
  • 改进 Ceph 文件系统: 优化文件系统性能和可扩展性,支持更多存储场景。
  • 推动 Ceph 容器存储接口(CSI)发展: 完善 Ceph CSI 功能,提高 Ceph 在容器化环境下的可用性。
  • 加强社区建设: 持续举办技术分享会、代码审查等活动,吸引更多开发者参与 Ceph 社区。