Кардиостимулятор - как отслеживать и останавливать службу на неправильном узле (без зависимых служб)

У меня есть четыре узла AD с клоном service1 (clone-max 3) и с 3 виртуальными IP-адресами. У меня есть ограничения - clone-ip1, clone-ip2, clone-ip3 - это хорошо работает, когда только кардиостимулятор обслуживает службы.

Я бы хотел, чтобы Pacemaker автоматически "проверял" узлы, поэтому, когда служба запускается без ограничений, кардиостимулятор останавливает ее. Кажется, что когда узлы A, B, C работают в активном состоянии, кардиостимулятор не заботится о том, что происходит на узле D. crm_resource -P - останавливает ненужную службу на узле D. Можно ли заставить кардиостимулятор проверять все узлы? (несколько активных не похоже...)

1 ответ

В кластере Pacemaker Pacemaker ожидает управления всеми сервисами.

В вашем примере у Pacemaker нет записей о запуске clone-ip* на Node-D, поэтому он также не будет запускать там операции монитора.

crm_resource -P говорит кластеру проверить все узлы для всех сервисов, определенных в кластере, и затем реагировать соответствующим образом; Вот почему ваш IP удален.

Вы могли бы достичь своей цели, увеличив clone-max=4и поместив отрицательное ограничение местоположения бесконечности в CIB, чтобы служба не работала на Node-D:

clone clone-ip1 p_ip1 \
    meta clone-max=4 clone-node-max=1
location l_clone-ip1_never_on_node-d clone-ip1 -inf: node-d
Другие вопросы по тегам