一般情况下可以操作以下3个参数实现速度控制,但是要留意,速度越快对集群性能的影响越大;可以动态的调整参数值,观察集群性能情况,找到合适自己的值,即不会对client请求造成过大影响的同时保障最优的recovery速度。

osd max backfills:这是允许进出 OSD 的最大回填操作数。数字越大,恢复越快,这可能会影响整个集群性能,直到恢复完成。
osd recovery max active:这是活动恢复请求的最大数量。数字越大,恢复越快,这可能会影响整个集群性能,直到恢复完成。
osd recovery op priority:这是为恢复操作设置的优先级。数字越小,恢复优先级越高。较高的恢复优先级可能会导致性能下降,直到恢复完成。

默认值:

ceph-admin:~ # ceph-config --show-config | egrep "osd_recovery_max_active|osd_recovery_op_priority|osd_max_backfills"
osd_max_backfills = 1
osd_recovery_max_active = 3
osd_recovery_op_priority = 3

除了直接修改ceph.conf文件然后重启osd的方式外,还可以动态的去修改这些值,例如在任意节点执行:

ceph tell 'osd.*' injectargs --osd-max-backfills=1 --osd-recovery-max-active=1 

则可以把osd max backfills、osd recovery max active修改为1。

摘录学习自:https://www.suse.com/support/kb/doc/?id=000019693

标签: Ceph

添加新评论