Кардиостимулятор - кластер не переходит на другой узел после отключения интерфейса

У меня следующий сценарий в Corosync + Pacemaker

Node1:

eth0: 10.143.0.21/24

eth1: 10.10.10.1/30 (Corosync Comunication)

eth2: 192.168.5.2/24

Node2:

eth0: 10.143.0.22/24

eth1: 10.10.10.2/30 (Corosync Comunication)

eth2: 192.168.5.3/24

Плавающие IP

eth0: 10.143.0.23/24

eth2: 192.168.5.1/24

Интерфейс eth1 используется только для связи с помощью Corosync.

Например, я отключил сетевой кабель от интерфейса eth0, но ничего не происходит, в другом примере я отключил сетевой кабель от интерфейса eth2, и у меня был тот же результат, но я отключил сетевой кабель от интерфейса eth1 (соединение corosync) и передачу данных с плавающего IP на другой узел.

Как сделать, чтобы при отключении любого интерфейса ресурсы передавались другому узлу?

С уважением

ОБНОВИТЬ

Я тестировал со следующими настройками

crm configure primitive PING-WAN ocf:pacemaker:ping params host_list="10.143.0.1" multiplier="1000" dampen="1s" op monitor interval="1s"
crm configure primitive Failover-WAN ocf:heartbeat:IPaddr2 params ip=10.143.0.23 nic=eth0 op monitor interval=10s meta is-managed=true
crm configure primitive Failover-LAN ocf:heartbeat:IPaddr2 params ip=192.168.5.1 nic=eth2 op monitor interval=10s meta is-managed=true
crm configure group Cluster Failover-WAN Failover-LAN
crm configure location Best_Connectivity Cluster rule pingd: defined pingd

Это работает для меня, когда отключается сетевой кабель от eth0 и теряется пинг до пункта назначения. Ресурсы 10.143.0.1 (шлюз) были перенесены на другой узел, но мой сценарий - это 3 интерфейса, поэтому я решил добавить тест пинга больше

crm configure primitive PING-LAN ocf:pacemaker:ping params host_list="192.168.5.4" multiplier="1000" dampen="1s" op monitor interval="1s"

Но теперь необходимо потерять соединение с двумя хостами (10.143.0.1 и 192.168.5.4), чтобы ресурсы были перемещены на другой узел.

Я ищу информацию, но не могу заставить работать следующий сценарий:

Если узел теряет связь с любым хостом, который добавляет к тесту ping, другие ресурсы передаются другому узлу без необходимости терять связь всех тестов ping одновременно.

2 ответа

Решение

Вы должны сообщить Pacemaker, что вы заботитесь о сбое интерфейсов. Посмотрите на ocf:pacemaker:ping ресурс. Вы можете использовать этот ресурс-агент для проверки связи с другими списками хостов в сетях различных интерфейсов, и Pacemaker среагирует, если эти проверки не пройдут.

Если вы группируете ocf:pacemaker:ping ресурсы, или используйте ограничения, чтобы связать их с тем, чем вы еще управляете в Pacemaker, и все они будут двигаться вместе.

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

На этом замечании вам определенно следует настроить второе избыточное кольцо в конфигурации Corosync, как предлагается в другом ответе, но это не даст того эффекта, который вы искали.

ОБНОВЛЕНИЕ 0: Вы должны добавить оба IP к одному ping примитива host_list вместо добавления дополнительного ping примитивно, и установить failure_score на этом примитивном к тому, что приемлемо.

От ocf:pacemaker:ping ресурсный агент (# crm ra info ocf:pacemaker:ping):

...
failure_score (integer):
Resource is failed if the score is less than failure_score.
Default never fails.

host_list* (string): Host list
A space separated list of ping nodes to count.
...

Что-то вроде: # crm configure primitive PING-O-DOOM ocf:pacemaker:ping params host_list="10.143.0.1 192.168.5.4" failure_score="2" op monitor interval="10s"

Вам необходимо настроить оба интерфейса в кольце синхронизации.

Пример:

pcs cluster auth node1 node2
pcs cluster setup --start --name zfs-cluster zfs-node1,zfs-node1-ext zfs-node2,zfs-node2-ext

Куда:

# Management addresses of both nodes
172.16.40.15    zfs-node1.ewwhite.net zfs-node1
172.16.40.16    zfs-node2.ewwhite.net zfs-node2

# Cluster ring address for heartbeat
192.168.91.1    zfs-node1-ext
192.168.91.2    zfs-node2-ext
Другие вопросы по тегам