Обслуживание серверов в кластере на базе Pacemaker
Jan 18, 2016 17:26 · 260 words · 2 minute read
Порой возникает необходимость внести изменения в конфигурационные файлы или обновить пакеты на отдельных серверах-нодах, входящих в состав кластера на базе Pacemaker
и Corosync
.
В таких ситуациях встроенные компоненты мониторинга и миграции кластера могут привести к неожиданным побочным эффектам — давайте разберемся, как этого избежать!
Специально для таких моментов разработчики Pacemaker
предусмотрели специальный режим для кластера — «режим обслуживания» (maintenance mode). В режиме обслуживания компоненты мониторинга и миграции убирают «руки прочь» от кластерных ресурсов и не предпринимают попыток переключения на другие ноды.
Включить режим обслуживания в кластере на базе Pacemaker
и Corosync
можно следующей командой:
crm configure property maintenance-mode=true
При этом, возле ресурсов кластера в скобках появится надпись unmanaged
:
...
Master/Slave Set: ms_drbd_mysql [drbd_mysql] (unmanaged)
drbd_mysql:0 (ocf::linbit:drbd): Master db1 (unmanaged)
drbd_mysql:1 (ocf::linbit:drbd): Started db2 (unmanaged)
Master/Slave Set: ms_drbd_www [drbd_www] (unmanaged)
drbd_www:0 (ocf::linbit:drbd): Master db1 (unmanaged)
drbd_www:1 (ocf::linbit:drbd): Started db2 (unmanaged)
...
В таком состоянии можно останавливать/перезапускать любые кластерные ресурсы — Pacemaker
не будет пытаться запустить их.
Отключить режим обслуживания можно так:
crm configure property maintenance-mode=false
В случаях, когда изменения конфигурации могут занимать несколько часов (на такое время опасно оставлять кластер «без присмотра»), можно отключить мониторинг и восстановление только для одного ресурса — остальные ресурсы будут по прежнему под управлением кластера.
Для этого открываем на редактирование настройки нужного ресурса кластера (например, отказоустойчивый ip-адрес):
crm configure edit failover_ip
и добавляем/изменяем следующие meta-атрибуты:
meta is-managed=false
op monitor interval=60 enabled=false
Эти значения переведут ресурс кластера failover_ip
в режим обслуживания:
failover_ip (ocf::heartbeat:IPaddr2): Started db1 (unmanaged)
Включить мониторинг и передать ресурс под управление кластера можно так:
crm configure edit failover_ip
и
meta is-managed=true
op monitor interval=60 enabled=true