LINUX.ORG.RU
решено ФорумAdmin

Pacemaker - тупит

 


0

1

Есть pacemaker в простейшей конфигурации (специально упростил максимально для отладки) - https://pastebin.com/5bEA35MU Грубо говоря - 11 клонов-пингов.

Проблема в том, что оно тупит при запуске и отработке событий, когда их много. Возникает ошибка типо такой

Transition aborted by status-1-FC83_SRC442_ping doing create FC83_SRC442_ping=0: Transient attribute change
В нижеприведенном логе показан процесс запуска вышеуказанной конфигурации (в данном случае - на одном хосте, но с двумя та же петрушка). Мы видим, как запускается примерно 4 ресурса, после этого Transition aborted, потом кластер ждет 20-30 секунд и запускает следующие 4 ресурса. И так далее. https://pastebin.com/rTFswGsr

Когда у тебя 500 ресурсов - это дело получается весьма медитативным. В данном случае пингуем несуществующие адреса. Если указать отвечающие - то все будет то же самое, разве что количество обработанных ресурсов до сбоя будет больше.

Подскажите, куда копать.

★★

Ответ на: комментарий от Davyd

Подниму завтра две виртуалки гляну. По логам хз что это, не сталкивался

cib=1.10.13 source=abort_unless_down:331 path=/cib/status/node_state[@id='1']/transient_attributes[@id='1']/instance_attributes[@id='status-1'] complete=false

Соединение между нодами стабильное?

upcFrost ★★★★★ ()
Ответ на: комментарий от upcFrost

нода вообще одна, вторая выключена, чтоб не мешалась. пингуем также выключенные приборы. Посмотрел код - похоже это by design. В Debug логе (не привожу его тут) видно, что он определяет производительность компа и задает concurent jobs = 4. Собственно эти 4 он выполняет, после этого пишет изменения в transient_attributes и обрывает transition. Через некоторое время рассчитывается новый transition и обрабатывает еще 4 задачи. Условием не обрыва является состояние «завершение работы» узла...

Вобщем все тут... https://github.com/ClusterLabs/pacemaker/blob/master/crmd/te_callbacks.c#L336

Почему задумано именно так - вопрос

Davyd ★★ ()
Ответ на: комментарий от Davyd
9 [18892] clustermodel1       crmd:    debug: throttle_io_load:   Current IO load is 0.000000
9 [18892] clustermodel1       crmd:     info: throttle_send_command:      New throttle mode: 0000 (was ffffffff)
9 [18892] clustermodel1       crmd:    debug: throttle_update:    Host clustermodel1.local supports a maximum of 4 jobs and throttle mode 0000.  New job limit is 4

И как я понял - это только автоматически может настраиваться (на основании кол-ва ядер), руками не задать ((

Davyd ★★ ()
Последнее исправление: Davyd (всего исправлений: 1)
Ответ на: комментарий от Davyd

Там еще есть у пинга параметр dampen, это сколько секунд тупить прежде чем сказать «труба рулю» и дальше идти, дефолт 5 сек что по логу похоже на правду. А с concurrent jobs чую это опция node-action-limit, дефолт число ядер х2

P.s. читать простыню pcmk с телефона феерично

upcFrost ★★★★★ ()
Последнее исправление: upcFrost (всего исправлений: 3)
Ответ на: комментарий от Davyd

Гугл-фу. Она раньше migration-limit называлась, в чейнджлоге на версию 1.10 новое название. Упоминалась в мэйл-листе в одном из вопросов.

А вообще она есть в мане к crmd

upcFrost ★★★★★ ()
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от upcFrost

Ясно. Видимо твое гугл-фу круче моего. Dampen пока не применял, как будто бы и с 5 секундами приемлемо стало. Спасибо за уделенное время!

Davyd ★★ ()
Последнее исправление: Davyd (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.