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

maxscale + pacemalker + corosync: не удается сократить время даунтайма

 , ,


0

1

Привет, коллеги!

Есть две ноды c maxscale в pacemaker+corosync кластере.

На нодах настроены два ресурса: виртуальный IP, который переползает в случае падения ноды на другую, и собственно maxscale, который в случает падения процесса перезапускается, а в случае падения ноды - переползает на другую. Ресурсы объединены в группу, чтобы переключение обоих происходило синхронно и не получилось ситуации когда IP «припаркован» на одну ноду, а maxscale запущен на другой.

настройки кластера такие:

node 2887010140: maxscale1
node 2887010141: maxscale2
primitive MaxScale systemd:maxscale \
        op monitor interval=10s timeout=15s \
        op start interval=0 timeout=15s \
        op stop interval=0 timeout=30s
primitive maxscale_vip IPaddr2 \
        params ip=192.168.1.99 \
        op monitor interval=1s
group maxscale_service maxscale_vip
property cib-bootstrap-options: \
        have-watchdog=false \
        dc-version=1.1.16-94ff4df \
        cluster-infrastructure=corosync \
        cluster-name=debian \
        stonith-enabled=false \
        no-quorum-policy=ignore

Всё работает как часы. Но мне хочется уменьшить время дайндайма при падении процесса maxscale! Делаю (на первой ноде, которая сейчас «главная»)

crm resource stop MaxScale
crm configure delete MaxScale
crm configure primitive MaxScale systemd:maxscale op monitor interval="5s" timeout="15s" op start interval="0" timeout="15s" op stop interval="0" timeout="30s"

Сразу же в crm_mon вижу:

2 nodes configured
2 resources configured

Online: [ maxscale1 maxscale2 ]

Active resources:

 Resource Group: maxscale_service
     maxscale_vip       (ocf::heartbeat:IPaddr2):       Started maxscale1
MaxScale        (systemd:maxscale):     Started maxscale1

Failed Actions:
* MaxScale_start_0 on maxscale2 'not running' (7): call=10, status=complete, exitreason='none',
    last-rc-change='Thu Jul  6 11:03:15 2017', queued=0ms, exec=1575ms

Казалось бы, зачем второй ноде пытаться запустить maxcale если он уже работает на первой ноде.

При kill процесса maxscale на первой ноде он успешно перезапускается, быстрее чем раньше (т.к. op monitor interval=5s вместо 10). Но при падении первой ноды на вторую переползает IP, но maxscale не стартует:

* MaxScale_start_0 on maxscale2 'not running' (7): call=10, status=complete, exitreason='none',
    last-rc-change='Thu Jul  6 11:03:15 2017', queued=0ms, exec=1575ms

Где искать виновного? Наверняка значения op monitor interval < 10s допустимы, ведь maxscale_vip IPaddr2 прекрасно работает с op monitor interval=1s.

Как водится, победил уже после публикации сообщения. Если менять настройку op monitor interval не путем удаление и повторного добавления ресурса, а путем редактирования конфигурации через

crm configure edit

все прекрасно работает с op monitor interval=1s.

Вдруг для кого-то эта информация окажется полезной.

dpronyaev
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.