[改进后的中文总结内容]
Ceph RGW Refactoring Meeting 2025-11-12 改进总结
会议主题
本次会议主要讨论了 Ceph RGW(RADOS Gateway)中 SSC KMS(Secret Store Cache Key Management System)密钥缓存的改进方案,重点关注缓存的生命周期管理、运行时配置及代码结构优化。
关键讨论点
- 缓存生命周期管理问题
- 当前缓存使用静态变量形式,与 RGW 其他组件的生命周期管理不一致。
- 讨论是否应在
app_main中初始化和销毁缓存,以及是否允许在rgw-admin中使用缓存。 - 决定优先在
app_main中初始化缓存,并通过req_state传递至 KMS 层,暂不支持rgw-admin。
- 运行时缓存启用的可行性
- 讨论了在 Linux 内核密钥存储配额调整后重新启用缓存的需求场景。
- 提出通过
req_state持有缓存的共享指针,旧请求可继续使用原有缓存实例,并支持通过config observer监听配置变更,动态启停缓存。
- 代码结构优化
- 当前 KMS 逻辑与缓存逻辑耦合度高,难以维护。
- 讨论将缓存相关代码抽离至独立文件,仅保留核心接口,确保
app_main仅依赖缓存模块而非整个 KMS。
- 运维与文档增强
- 文档化默认缓存大小与内核配额的关系,补充监控指南。
- 计划通过 Prometheus 监控密钥存储错误指标,并收集用户实践后提交补充文档。
决议事项
- 代码改进
- 将缓存生命周期绑定至
app_main,通过req_state传递。 - 分离 KMS 与缓存逻辑,提升代码可读性。
- 将缓存生命周期绑定至
- 功能增强
- 支持运行时缓存启用(非强制,后续优化)。
- 文档补充
- 完善内核配额配置说明,后续添加监控最佳实践。
后续行动计划
- 提交代码重构(生命周期管理/结构优化)由 Marcel 负责,下周完成。
- 提供性能基准测试数据由 Marcel 负责,近期完成。
- 补充运维监控文档(Prometheus 集成)由 Marcel 负责,用户测试后完成。
本次会议讨论了 Ceph RGW 中 SSC KMS 密钥缓存的改进方案,包括生命周期管理、运行时配置和代码结构优化等方面,并制定了相应的改进计划和后续行动。