
He configurado un pequeño grupo de tres nodos. Creé un VIP IPaddr2 (o IPaddr3 de Percona) y funcionó bien. Inicialmente, tengo la siguiente distribución:
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
Luego reinicio el nodo2, el marcapasos lo recoge y asigna el tráfico del nodo2 al nodo1, por lo que la distribución cambia a:
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
Ahora, cuando el nodo2 vuelve a funcionar, no sucede nada debido a la rigidez de recursos = 1 para los recursos clonados. Pero si luego configuro Resource-stickiness=0 para mi ClusterIP, la distribución cambia a esto:
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
Entonces, ahora, en lugar de tener 'nodo1, nodo2, nodo3', tengo 'nodo2, nodo1, nodo3' y esto hace que todos los clientes se desconecten de los servidores subyacentes, ya que ahora el nodo2 no sirve paquetes IP destinados al segundo grupo de clientes, sino que atiende al primer grupo de clientes. Esto hace que TCP se desconecte y luego se vuelva a conectar.
¿Hay alguna manera de especificar que ClusterIP:0 debería preferir el nodo1, ClusterIP:1 debería preferir el nodo2 y ClusterIP:2 debería preferir el nodo 3? Como se trata de un recurso clonado, no he encontrado una manera de lograrlo. Gracias.