[改进后的中文总结内容]

Ceph RGW Refactoring Meeting 2025-11-12 改进总结

会议主题

本次会议主要讨论了 Ceph RGW(RADOS Gateway)中 SSC KMS(Secret Store Cache Key Management System)密钥缓存的改进方案,重点关注缓存的生命周期管理、运行时配置及代码结构优化。

关键讨论点

  1. 缓存生命周期管理问题
    • 当前缓存使用静态变量形式,与 RGW 其他组件的生命周期管理不一致。
    • 讨论是否应在 app_main 中初始化和销毁缓存,以及是否允许在 rgw-admin 中使用缓存。
    • 决定优先在 app_main 中初始化缓存,并通过 req_state 传递至 KMS 层,暂不支持 rgw-admin
  2. 运行时缓存启用的可行性
    • 讨论了在 Linux 内核密钥存储配额调整后重新启用缓存的需求场景。
    • 提出通过 req_state 持有缓存的共享指针,旧请求可继续使用原有缓存实例,并支持通过 config observer 监听配置变更,动态启停缓存。
  3. 代码结构优化
    • 当前 KMS 逻辑与缓存逻辑耦合度高,难以维护。
    • 讨论将缓存相关代码抽离至独立文件,仅保留核心接口,确保 app_main 仅依赖缓存模块而非整个 KMS。
  4. 运维与文档增强
    • 文档化默认缓存大小与内核配额的关系,补充监控指南。
    • 计划通过 Prometheus 监控密钥存储错误指标,并收集用户实践后提交补充文档。

决议事项

  1. 代码改进
    • 将缓存生命周期绑定至 app_main,通过 req_state 传递。
    • 分离 KMS 与缓存逻辑,提升代码可读性。
  2. 功能增强
    • 支持运行时缓存启用(非强制,后续优化)。
  3. 文档补充
    • 完善内核配额配置说明,后续添加监控最佳实践。

后续行动计划

  • 提交代码重构(生命周期管理/结构优化)由 Marcel 负责,下周完成。
  • 提供性能基准测试数据由 Marcel 负责,近期完成。
  • 补充运维监控文档(Prometheus 集成)由 Marcel 负责,用户测试后完成。

本次会议讨论了 Ceph RGW 中 SSC KMS 密钥缓存的改进方案,包括生命周期管理、运行时配置和代码结构优化等方面,并制定了相应的改进计划和后续行动。