---
title: Ceph调优
description: "- 目的"
url: https://www.hikunpeng.com/document/detail/zh/kunpengsdss/ecosystemEnable/Ceph/kunpengsdss_ceph-storage_0021.html
sourcePath: /source/zh/kunpengsdss/ecosystemEnable/Ceph/kunpengsdss_ceph-storage_0021.html
indexId: fb8b24ddbac4a631643afdb6ea722c587ffe70142c394b0af00b2ade57a7a50f78
---
# Ceph调优

- 目的
  调整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。

**表1 Ceph参数配置**

| 参数名称 | 参数含义 | 优化建议 |
| --- | --- | --- |
| [global] | [global] | [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] | [rgw] |
| rgw\_override\_bucket\_index\_max\_shards | 桶索引对象的分片数量， 0 表示没有分片。 | 默认值：0 修改建议：8 |


#### PG分布调优

- 目的
  调整每个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所示：

**表2 PG分布参数配置**

| 参数名称 | 参数说明 | 优化建议 |
| --- | --- | --- |
| 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 |


  每个OSD上承载的PG数量应相同或非常接近，否则容易出现个别OSD压力较大成为瓶颈，运用balancer插件可以实现PG分布优化，可通过ceph balancer eval或ceph pg dump随时查看当前PG分布情况。 通过ceph balancer mode upmap以及ceph balancer on使Ceph PG自动均衡优化，Ceph每隔60秒会调整少量PG分布。通过ceph balancer eval或ceph pg dump随时查看当前PG分布情况，若PG分布情况不再变化，则说明分布已达到最佳。 上述每个OSD对应的PG分布主要影响写入的负载均衡。除了每个OSD对应的PG数量优化外，主PG的分布情况也需要视情况优化，即尽可能地将主PG均匀分布到各个OSD上。
