Estou tentando adicionar um endereço IP virtual do Pacemaker; com ele, o gateway e as duas VMs que ele atende em sub-redes diferentes. Só fiz isso antes com todos os IPs na mesma sub-rede e preciso de ajuda.
Eu tenho duas VMs em 200.xx.xxx.9 e 200.xx.xxx.10 com o seguinte em/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
e
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
Ambos estão aparecendo no Pacemaker e aparentemente se comunicando bem. Os parâmetros bindnetaddr nos dois /etc/corosync/corosync.conf
arquivos são:
bindnetaddr: address 200.xx.xxx.9
e
bindnetaddr: address 200.xx.xxx.10
respectivamente.
Se tudo estivesse na mesma sub-rede, esperaria adicionar o IP virtual com algo como:
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"
e embora isso apareça como recurso em crm_mon, não me permite acessar uma das VMs por meio do IP virtual. Claramente há mais do que isso, mas o quê?
Editar: após uma sugestão na lista de discussão do ClusterLabs de que isso pode ser um problema de rede subjacente, é aqui que estou:
Estou hospedando o ESXi com o online.net, que fornece IPs de 'failover' adicionais que podem ser atribuídos às minhas VMs hospedadas. Eu tenho três; 200.xx.xxx.9 e 200.xx.xxx.10 que estou usando para as duas VMs Ubuntu listadas e a terceira, 200.zzz.z.162, que estou tentando usar como um recurso ocf_heartbeat_IPaddr agente. Criticamente, online.net exige que você atribua a cada IP um endereço MAC que corresponda a uma interface em uma VM. Fiz isso para os dois primeiros IPs (usando endereços MAC diferentes), mas não para o terceiro. Quando tentei usar um dos endereços MAC existentes com o terceiro IP, obtive imediatamente conectividade com:
Agora, tenho todos os três IPs e ambas as interfaces de VM compartilhando o mesmo endereço MAC. Isto me parece umpéssima ideia, mas na verdade parece estar funcionando, sem criar erros de pacote ou problemas de conectividade ou cluster HA... pelo menos nenhum que eu tenha visto até agora, exceto o tráfego marciano sendo registrado. Esta é a configuração ocf:heartbeat:IPaddr que estou usando:
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"