PostgreSQL 데이터베이스를 유지하기 위해 corosync 및 pacemaker를 사용하여 능동 / 수동 (2 노드) Linux-HA 클러스터를 설정하려고합니다. DRBD와 service-ip를 통해 작동합니다. node1이 실패하면 node2가 대신해야합니다. PG가 node2에서 실행되고 실패하면 동일합니다. STONITH를 제외한 모든 것이 잘 작동합니다.
노드 사이에는 전용 HA 연결 (10.10.10.X)이 있으므로 다음과 같은 인터페이스 구성이 있습니다.
eth0 eth1 host
10.10.10.251 172.10.10.1 node1
10.10.10.252 172.10.10.2 node2
Stonith가 활성화되어 있고 노드를 죽이기 위해 ssh-agent로 테스트하고 있습니다.
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
보여줍니다 :
============
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 ]
문제는 eth0 인터페이스 간의 연결을 끊으면 두 노드를 모두 죽 입니다. 노드가 2 개뿐이므로 쿼럼에 문제가 있다고 생각합니다. 그러나 올바른 정족수를 계산하기 위해 세 번째 노드를 추가하고 싶지 않습니다.
이 문제를 해결할 아이디어가 있습니까?
crm_mon
클러스터가 실패한 상태에서 출력 결과는 어떻습니까?