环境
SUSE Enterprise Storage 5.5
SUSE Enterprise Storage 6
场景
当 OSDs(对象存储守护进程)被停止或从集群中删除时,或者当新的 OSD 被添加到集群时,可能需要调整 OSD 恢复设置。
另见:
https://docs.ceph.com/docs/master/dev/osd_internals/backfill_reservation/
如果需要集群更快地恢复,可以增加这些值,因为这些值有助于 OSD 更快地执行恢复。
- osd max backfills: 这是允许到/从OSD的最大回填操作数。数字越大,恢复越快,这可能会影响整个集群的性能,直到恢复完成。
- osd recovery max active: 这是活动的恢复请求的最大数量。 数字越大,恢复越快,这可能会影响整个集群性能,直到恢复完成。
- osd recovery op priority: 这是为恢复操作设置的优先级。 数字越小,恢复优先级越高。 较高的恢复优先级可能会导致性能下降,直到恢复完成。
如上所述,再次注意更改这些值可能会影响集群的整体性能,并且客户端可能会看到较低的性能。
上述设置的默认值为:
#ceph-conf --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 tell 'osd.*' injectargs --osd-max-backfills=2 --osd-recovery-max-active=6
或
# ceph tell 'osd.*' injectargs --osd-max-backfills=3 --osd-recovery-max-active=9
注意: 上述命令将返回类似于以下消息的内容,这可能会令人困惑,但在这些特定设置的情况下,可以忽略它们,因为它们实际上已保存并正在使用中:
osd.0: osd_max_backfills = '2' osd_recovery_max_active = '6' (not observed, change may require restart)
重要提示: 将值设置为高可能会导致 OSD 重新启动,从而导致集群变得不稳定,另请参阅下面的“附加信息”部分。
原因
集群处于恢复状态或由于即将发生的计划更改将处于恢复状态,需要加快或减慢恢复速度。
状态
热门问题
附加信息
要查看当前活跃设置,请在正在检查的OSD运行的节点上执行,例如:
# ceph daemon osd.<insert_id> config get osd_max_backfills
要设置回默认值:
# ceph tell 'osd.*' injectargs --osd-max-backfills=1 --osd-recovery-max-active=3
在 SES 6 中,可以选择使用ceph config set
:
# ceph config set osd osd_max_backfills 2
# ceph config set osd osd_recovery_max_active 3
要设置回默认值:
# ceph config rm osd osd_recovery_max_active
# ceph config rm osd osd_max_backfills
查看当前设置:
# ceph config show osd.<insert_id>
可以使用ceph -s
监控恢复。
增加设置后,如果任何 OSD 变得不稳定(重新启动)或客户端受到额外恢复开销的负面影响,则减少值或将它们设置回默认值。
集群完成恢复并返回 HEALTH_OK 状态后,将值设置回默认值。
免责声明
此支持知识库为 SUSE 客户和对我们的产品和解决方案感兴趣的各方提供了一种有价值的工具,以获取信息、想法和相互学习。 材料仅供贵组织内的信息、个人或非商业用途,并按“原样”提供,不提供任何形式的保证。
- Document ID: 000019693
- Creation Date: 06-Apr-2022
- Modified Date: 06-Apr-2022
- SUSE Enterprise Storage