
Eu configurei um pequeno cluster de três nós. Criei um VIP IPaddr2 (ou IPaddr3 da Percona) e deu certo. Inicialmente, tenho a seguinte distribuição:
Full List of Resources:
* Clone Set: ClusterIP-clone [ClusterIP] (unique):
* ClusterIP:0 (ocf::percona:IPaddr3): Started node1
* ClusterIP:1 (ocf::percona:IPaddr3): Started node2
* ClusterIP:2 (ocf::percona:IPaddr3): Started node3
Então eu reinicio o nó2, o pacemaker pega isso e atribui o tráfego do nó2 ao nó1, então a distribuição muda para:
Full List of Resources:
* Clone Set: ClusterIP-clone [ClusterIP] (unique):
* ClusterIP:0 (ocf::percona:IPaddr3): Started node1
* ClusterIP:1 (ocf::percona:IPaddr3): Started node1
* ClusterIP:2 (ocf::percona:IPaddr3): Started node3
Agora, quando o node2 volta, nada acontece devido a resource-stickiness=1 para recursos clonados. Mas se eu definir resource-stickiness=0 para meu ClusterIP, a distribuição mudará para isto:
Full List of Resources:
* Clone Set: ClusterIP-clone [ClusterIP] (unique):
* ClusterIP:0 (ocf::percona:IPaddr3): Started node2
* ClusterIP:1 (ocf::percona:IPaddr3): Started node1
* ClusterIP:2 (ocf::percona:IPaddr3): Started node3
Então agora, em vez de ter 'node1, node2, node3', eu tenho 'node2, node1, node3' e isso faz com que todos os clientes se desconectem dos servidores subjacentes, pois agora o node2 não está servindo pacotes IP destinados ao segundo grupo de clientes, mas em vez disso, atende o primeiro grupo de clientes. Isso faz com que o TCP desconecte e depois reconecte.
Existe uma maneira de especificar que ClusterIP:0 deve preferir o nó1, ClusterIP:1 deve preferir o nó2, ClusterIP:2 deve preferir o nó 3? Como este é um recurso clonado, não encontrei uma maneira de conseguir isso. Obrigado.