Кардиостимулятор ocf:heartbeat:IPaddr в разных подсетях

Кардиостимулятор ocf:heartbeat:IPaddr в разных подсетях

Я пытаюсь добавить виртуальный IP-адрес Pacemaker; с ним шлюз и две виртуальные машины, которые он обслуживает в разных подсетях. Я делал это только со всеми IP-адресами в одной подсети, и мне нужна помощь.

У меня есть две виртуальные машины на 200.xx.xxx.9 и 200.xx.xxx.10 со следующим в/etc/network/interfaces

auto eth0
iface eth0 inet static
    address 200.xx.xxx.9
    gateway 200.xx.xxx.9
    netmask 255.255.255.255

    post-up route add yy.yyy.yyy.1 dev eth0
    post-up route add default gw yy.yyy.yyy.1

и

auto eth0
iface eth0 inet static
    address 200.xx.xxx.10
    gateway 200.xx.xxx.10
    netmask 255.255.255.255

    post-up route add yy.yyy.yyy.1 dev eth0
    post-up route add default gw yy.yyy.yyy.1

Они оба отображаются в Pacemaker и, по-видимому, взаимодействуют нормально. Параметры bindnetaddr в двух /etc/corosync/corosync.confфайлах следующие:

bindnetaddr: address 200.xx.xxx.9

и

bindnetaddr: address 200.xx.xxx.10

соответственно.

Если бы все было в одной подсети, я бы добавил виртуальный IP-адрес примерно так:

sudo crm configure primitive eth0_virtual ocf:heartbeat:IPaddr params ip="200.zzz.z.162" nic="eth0" cidr_netmask="24" broadcast="200.zzz.z.255" op monitor interval="10s" timeout="20s"

и хотя это отображается как ресурс в crm_mon, это не позволяет мне получить доступ к одной из виртуальных машин через виртуальный IP. Очевидно, что это еще не все, но что?

Редактировать: После предположения в списке рассылки ClusterLabs о том, что это может быть проблема с сетью, вот что я имею в виду:

Я размещаю ESXi с помощью online.net, который предоставляет дополнительные IP-адреса «отказоустойчивости», которые могут быть назначены моим размещенным виртуальным машинам. У меня их три: 200.xx.xxx.9 и 200.xx.xxx.10, которые я использую для двух перечисленных виртуальных машин Ubuntu, и третий, 200.zzz.z.162, который я пытаюсь использовать как ресурсный агент ocf_heartbeat_IPaddr. Что особенно важно, online.net требует, чтобы вы назначали каждому IP-адресу MAC-адрес, который соответствует интерфейсу на виртуальной машине. Я сделал это для первых двух IP-адресов (используя разные MAC-адреса), но не для третьего. Когда я попытался использовать один из существующих MAC-адресов с третьим IP-адресом, я сразу же получил подключение с помощью:

Итак, теперь у меня все три IP и оба интерфейса VM используют один и тот же MAC-адрес. Это кажется мнеочень плохая идея, но, похоже, это действительно работает, не создавая никаких ошибок пакетов или проблем с подключением или кластером HA... по крайней мере, я пока ничего не заметил, кроме регистрации марсианского трафика. Это настройка ocf:heartbeat:IPaddr, которую я использую:

sudo crm configure primitive eth0_virtual ocf:heartbeat:IPaddr params ip="200.zzz.z.162" nic="eth0" cidr_netmask="32" broadcast="200.zzz.z.162" op monitor interval="10s" timeout="20s"

Связанный контент