Привет, у нас есть 4-узловой кластер с Ceph, установленный на 4 дисках на узел, то есть 16 OSD, и используется только 50%. Все диски NVMe, планировщик настроен с опцией mq-deadline в /sys/block/nvmeXXX/queue/scheduler. У узлов достаточно оперативной памяти и CPU.
Сегодня один из узлов был выключен, и мы ожидали, что оставшиеся 3 узла будут работать "нормально". В итоге 3 доступных узла перегружены с очень высоким serverload и очень высоким IO Delay.
iostat -x 1 показывает, что RDB потребляет много ресурсов
Это кажется странным, поэтому я попробовал отключить некоторые опции:
Тем не менее, iodelay и server load остаются очень высокими. Я даже попробовал снизить приоритет операций чем-то вроде:
Code: ceph tell 'osd.*' injectargs --osd-max-backfills=1 --osd-recovery-max-active=3 --osd_recovery_op_priority=30
Буду признателен за любые советы или рекомендации.
С уважением
Сегодня один из узлов был выключен, и мы ожидали, что оставшиеся 3 узла будут работать "нормально". В итоге 3 доступных узла перегружены с очень высоким serverload и очень высоким IO Delay.
iostat -x 1 показывает, что RDB потребляет много ресурсов
Это кажется странным, поэтому я попробовал отключить некоторые опции:
Тем не менее, iodelay и server load остаются очень высокими. Я даже попробовал снизить приоритет операций чем-то вроде:Code: ceph tell 'osd.*' injectargs --osd-max-backfills=1 --osd-recovery-max-active=3 --osd_recovery_op_priority=30
Буду признателен за любые советы или рекомендации.
С уважением

, но iodelay все равно очень высокий.
Насколько я понимаю, если OSD упал, то есть большая вероятность, что отсутствие OSD будет расценено как аварийная ситуация, и система среагирует, чтобы перераспределить отсутствующие PG. Я правильно понимаю?