调整Ceph配置选项,充分发挥系统硬件性能。
所有的ceph配置参数都是通过修改“/etc/ceph/ceph.conf”实现的。
比方说要修改默认副本数为4,则在“/etc/ceph/ceph.conf”文件中添加“osd_pool_default_size = 4”这一行字段,然后systemctl restart ceph.target重启Ceph守护进程使之生效。
以上操作只是对当前Ceph节点生效,需要修改所有Ceph节点的“ceph.conf”文件并重启Ceph守护进程才对整个Ceph集群生效。
具体优化项详见表1。
参数名称 |
参数含义 |
优化建议 |
---|---|---|
[global] |
||
osd_pool_default_min_size |
PG处于degraded状态不影响其IO能力,min_size是一个PG能接受IO的最小副本数。 |
默认值:0 修改建议:1 |
cluster_network |
配置一层不同于public network的网段,用于OSD间副本复制/数据均衡,缓解public network网络压力。 |
默认值:/ 修改建议:192.168.4.0/24 |
osd_pool_default_size |
副本数设置。 |
默认值:3 修改建议:3 |
mon_max_pg_per_osd |
阈值项:调大PG告警阈值。 |
默认值:250 修改建议:3000 |
[rgw] |
||
rgw_override_bucket_index_max_shards |
桶索引对象的分片数量, 0 表示没有分片。 |
默认值:0 修改建议:8 |
调整每个OSD上承载的PG数量,使每个OSD的负载更加均衡。
Ceph默认为每个存储池分配8个“pg/pgp”,在创建存储池的时候使用ceph osd pool create {pool-name} {pg-num} {pgp-num}指定“pg/pgp”数量,或者使用ceph osd pool set {pool_name} pg_num {pg-num}和ceph osd pool set {pool_name} pgp_num {pgp-num}修改已创建好的存储池的“pg/pgp”数量。修改完成后使用ceph osd pool get {pool_name} pg_num/pgp_num查看存储池的“pg/pgp”数量。
“ceph balancer mode”默认为“none”,用ceph balancer mode upmap命令调整为“upmap”。“ceph balancer”功能默认不打开,ceph balancer on/off用来打开/关闭“ceph balancer”功能。
PG分布参数配置如表2所示:
参数名称 |
参数说明 |
优化建议 |
---|---|---|
pg_num |
Total PGs = (Total_number_of_OSD * 100) / max_replication_count,得出的结果向上取到最近的2的整数次幂。 |
默认值:8 现象:pg数量太少的话会有warning提示 修改建议:根据计算公式具体计算得到的值 |
pgp_num |
pgp数量设置为与pg相同。 |
默认值:8 现象:pgp数量建议与pg数量相同 修改建议:根据计算公式具体计算得到的值 |
ceph_balancer_mode |
使能balancer均衡器插件,并设置均衡器插件模式为“upmap”。 |
默认值:none 现象:若PG数量不均衡会出现个别OSD负载较大而成为瓶颈 修改建议:upmap |