5.11. 放置组自动扩展
PG 调优使用 PG 计算器手动插入 pg_num
的数字。从 Red Hat Ceph Storage 4.1 开始,可以通过启用 pg_autoscaler
Ceph Manager 模块来自动进行 PG 调优。PG 自动缩放器以每个池为基础配置,且以 2 的电源扩展 pg_num
。如果建议的值是实际值的三倍以上,PG 自动缩放器才会提议更改 pg_num
。
PG 自动缩放器具有三种模式:
warn
-
新池和现有池的默认模式。如果建议的
pg_num
值与当前的pg_num
值有太大差别,则会生成健康警告。 on
-
池的
pg_num
会自动调整。 off
-
自动缩放器可以针对任何池进行关闭,但存储管理员需要手动为池设置
pg_num
值。
一旦为池启用了 PG 自动缩放器,您可以通过运行 ceph osd pool autoscale-status
命令来查看值调整。autoscale-status
命令显示池的当前状态。以下是 autoscale-status
列描述:
SIZE
- 报告池中存储的数据总量,以字节为单位。这个大小包括对象数据和 OMAP 数据。
TARGET SIZE
- 报告存储管理员提供的池的预期大小。此值用于计算池的理想 PG 数量。
RATE
- 复制 bucket 的复制因子,或纠删代码池的比例。
RAW CAPACITY
- 池映射到基于 CRUSH 的存储设备的原始存储容量。
RATIO
- 池消耗的存储总数的比率。
TARGET RATIO
- 一个比率,用于指定存储集群总空间中由存储管理员提供的池消耗的占比。
PG_NUM
- 池的当前 PG 数量。
NEW PG_NUM
- 建议的值。可能没有设置这个值。
AUTOSCALE
- 为池设置的 PG 自动缩放器模式。
其它资源
5.11.1. 配置放置组自动扩展
您可以配置 Ceph Ansible,以便为 Red Hat Ceph Storage 集群中的新池启用和配置 PG 自动缩放器。默认情况下,放置组 (PG) 自动缩放器处于 off 状态。
目前,您只能在新的 Red Hat Ceph Storage 部署中配置放置组自动扩展器,而不能在现有 Red Hat Ceph Storage 安装中配置。
先决条件
- 访问 Ansible 管理节点.
- 访问 Ceph 监控节点.
流程
-
在 Ansible 管理节点上,打开
group_vars/all.yml
文件进行编辑。 将
pg_autoscale_mode
选项设置为True
,并为新池或现有池设置target_size_ratio
值:示例
openstack_pools: - {"name": backups, "target_size_ratio": 0.1, "pg_autoscale_mode": True, "application": rbd} - {"name": volumes, "target_size_ratio": 0.5, "pg_autoscale_mode": True, "application": rbd} - {"name": vms, "target_size_ratio": 0.2, "pg_autoscale_mode": True, "application": rbd} - {"name": images, "target_size_ratio": 0.2, "pg_autoscale_mode": True, "application": rbd}
注意target_size_ratio
值是相对于存储集群中其他池的权重百分比。-
保存对
group_vars/all.yml
文件的更改。 运行适当的 Ansible playbook:
裸机部署
[ansible@admin ceph-ansible]$ ansible-playbook site.yml -i hosts
容器部署
[ansible@admin ceph-ansible]$ ansible-playbook site-container.yml -i hosts
Ansible playbook 完成后,从 Ceph 监控节点检查自动扩展状态:
[user@mon ~]$ ceph osd pool autoscale-status