У меня кластер из 3 узлов, я заменил 3 диска на 8ТБ, и восстановление/пересбалансировка займёт больше 20 дней, при этом скорость не превышает 10MiB, что кажется крайне медленным. Я поменял все релевантные параметры, но установка их на глобальном уровне не имеет эффекта. Изменение работает, когда параметр задаётся на уровне OSD. Тем не менее, удаётся выполнять не более 3 бэкалла одновременно. Сеть 100GBe, так что сетевая скорость точно не является ограничивающим фактором.
root@host3:~# ceph-conf --show-config | egrep "osd_recovery_max_active|osd_recovery_op_priority|osd_max_backfills|osd_mclock_override_recovery_settings"
osd_max_backfills = 1
osd_mclock_override_recovery_settings = false
osd_recovery_max_active = 0
osd_recovery_max_active_hdd = 3
osd_recovery_max_active_ssd = 10
osd_recovery_op_priority = 3
Все OSD установлены одинаково.
root@host3:~# ceph daemon osd.5 config get osd_recovery_max_active
{ "osd_recovery_max_active": "10" }
root@host3:~# ceph daemon osd.5 config get osd_recovery_op_priority
{ "osd_recovery_op_priority": "3" }
root@host3:~# ceph daemon osd.5 config get osd_max_backfills
{ "osd_max_backfills": "10" }
root@host3:~# ceph daemon osd.5 config get osd_mclock_override_recovery_settings
{ "osd_mclock_override_recovery_settings": "true" }
root@host3:~# ceph daemon osd.5 config get osd_recovery_max_active_hdd
{ "osd_recovery_max_active_hdd": "10" }
root@host3:~# ceph-conf --show-config | egrep "osd_recovery_max_active|osd_recovery_op_priority|osd_max_backfills|osd_mclock_override_recovery_settings"
osd_max_backfills = 1
osd_mclock_override_recovery_settings = false
osd_recovery_max_active = 0
osd_recovery_max_active_hdd = 3
osd_recovery_max_active_ssd = 10
osd_recovery_op_priority = 3
Все OSD установлены одинаково.
root@host3:~# ceph daemon osd.5 config get osd_recovery_max_active
{ "osd_recovery_max_active": "10" }
root@host3:~# ceph daemon osd.5 config get osd_recovery_op_priority
{ "osd_recovery_op_priority": "3" }
root@host3:~# ceph daemon osd.5 config get osd_max_backfills
{ "osd_max_backfills": "10" }
root@host3:~# ceph daemon osd.5 config get osd_mclock_override_recovery_settings
{ "osd_mclock_override_recovery_settings": "true" }
root@host3:~# ceph daemon osd.5 config get osd_recovery_max_active_hdd
{ "osd_recovery_max_active_hdd": "10" }
