Кардиостимулятор - как отслеживать и останавливать службу на неправильном узле (без зависимых служб)
У меня есть четыре узла 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