Ceph PG 自动调优¶
在 Nautilus 版本中,Ceph 引入了放置组 (PG) 自动调优。Charm 应该支持此模块,从而允许 Ceph 集群自然增长或缩小。
问题描述¶
如果现有集群在部署时尺寸不正确,操作员很难解决这种不平衡。PG 自动调优旨在消除 PG 调优的黑魔法。
提议的变更¶
将引入一个新的配置选项 (pg-autotune) 以启用新的 pg_autoscaler 模块。此配置选项对于 Ceph Nautilus 之前的版本无效,并且没有默认值。
在 Ceph 新部署中,版本高于 Nautilus,‘pg-autotune’ 的空值将导致 autoscaler 模块在所有池上启用并配置,并且全局默认值也配置为 ON。在升级到 Nautilus 时,空值不会导致加载 autoscaler 模块,也不会更改池元数据。
要为现有部署启用 autoscaler,管理员应将配置值更改为 ‘True’,之后 charm 将处理新的选项,并根据需要更新现有的池。
ceph-mon charm 已经处理通过预期比例调整默认放置组的大小,因此所需的数据已经存在。
备选方案¶
只要在部署时对池大小的期望正确,当前解决方案是一种可行的替代方案。其他替代方案包括手动操作员干预以解决尺寸不正确的池。
实现¶
负责人¶
- 主要负责人
chris.macnaughton
Gerrit Topic¶
对于与此规范相关的所有补丁,请使用 Gerrit 主题 “pg-autotune”。
git-review -t pg-autotune
工作项¶
如果 Ceph 版本是 Nautilus 或更高版本,则启用 pg_autoscaler 管理器模块
默认情况下禁用 autoscaler
通过配置切换时启用 autoscaler 并配置池
仓库¶
不需要创建新的仓库。
charm.ceph 和 charm-ceph-mon 仓库将是此开发的主要重点。
文档¶
将添加一个新的配置选项来切换 Ceph 集群的 autoscaler。此配置选项还应在 ceph-mon charm 的 README 中突出显示。
安全性¶
此更改没有预期的安全风险。
测试¶
将添加一个额外的测试用例来启用此配置选项,以确保功能按预期工作。此外,还将通过检查 Ceph 的自动调优建议来验证功能。
依赖项¶
没有新的依赖项。