Назад | Перейти на главную страницу

Pacemaker 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-адреса и оба интерфейса виртуальных машин с одним и тем же MAC-адресом. Мне это кажется действительно плохая идея, но на самом деле, похоже, он работает, без каких-либо ошибок пакетов или проблем с подключением или кластером высокой доступности ... по крайней мере, ни одного из того, что я заметил до сих пор, кроме регистрируемого марсианского трафика. Это параметр 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"