J'essaie de configurer un cluster Linux-HA actif / passif (2 nœuds) avec corosync et pacemaker pour maintenir une base de données PostgreSQL opérationnelle. Il fonctionne via DRBD et un service-ip. Si node1 échoue, node2 devrait prendre le relais. De même si PG s'exécute sur node2 et qu'il échoue. Tout fonctionne bien sauf la chose STONITH.
Entre les nœuds se trouve une connexion HA dédiée (10.10.10.X), j'ai donc la configuration d'interface suivante:
eth0 eth1 host
10.10.10.251 172.10.10.1 node1
10.10.10.252 172.10.10.2 node2
Stonith est activé et je teste avec un agent ssh pour tuer les nœuds.
crm configure property stonith-enabled=true
crm configure property stonith-action=poweroff
crm configure rsc_defaults resource-stickiness=100
crm configure property no-quorum-policy=ignore
crm configure primitive stonith_postgres stonith:external/ssh \
params hostlist="node1 node2"
crm configure clone fencing_postgres stonith_postgres
crm_mon -1
spectacles:
============
Last updated: Mon Mar 19 15:21:11 2012
Stack: openais
Current DC: node2 - partition with quorum
Version: 1.0.9-74392a28b7f31d7ddc86689598bd23114f58978b
2 Nodes configured, 2 expected votes
4 Resources configured.
============
Online: [ node2 node1 ]
Full list of resources:
Master/Slave Set: ms_drbd_postgres
Masters: [ node1 ]
Slaves: [ node2 ]
Resource Group: postgres
fs_postgres (ocf::heartbeat:Filesystem): Started node1
virtual_ip_postgres (ocf::heartbeat:IPaddr2): Started node1
postgresql (ocf::heartbeat:pgsql): Started node1
Clone Set: fencing_postgres
Started: [ node2 node1 ]
Le problème est: lorsque je coupe la connexion entre les interfaces eth0, cela tue les deux nœuds . Je pense que c'est un problème avec le quorum, car il n'y a que 2 nœuds. Mais je ne veux pas ajouter un 3ème nœud juste pour le calcul du bon quorum.
Y a-t-il des idées pour résoudre ce problème?
crm_mon
lorsque votre cluster est en échec?