Tôi đang cố gắng thiết lập một cụm Linux-HA hoạt động / thụ động (2 nút) với corosync và máy tạo nhịp tim để giữ và chạy một cơ sở dữ liệu PostgreQuery. Nó hoạt động thông qua DRBD và một ip dịch vụ. Nếu node1 thất bại, node2 sẽ tiếp quản. Tương tự nếu PG chạy trên nút2 và nó bị lỗi. Tất cả mọi thứ hoạt động tốt, ngoại trừ điều STONITH.
Giữa các nút là một kết nối HA chuyên dụng (10.10.10.X), vì vậy tôi có cấu hình giao diện sau:
eth0 eth1 host
10.10.10.251 172.10.10.1 node1
10.10.10.252 172.10.10.2 node2
Stonith được kích hoạt và tôi đang thử nghiệm với một tác nhân ssh để tiêu diệt các nút.
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
trình diễn:
============
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 ]
Vấn đề là: khi tôi cắt kết nối giữa các giao diện eth0, nó sẽ giết cả hai nút . Tôi nghĩ đó là một vấn đề với đại biểu, vì chỉ có 2 nút. Nhưng tôi không muốn thêm nút thứ 3 chỉ để tính đại biểu đúng.
Có bất kỳ ý tưởng để giải quyết vấn đề này?
crm_mon
trông như thế nào khi cụm của bạn ở trạng thái không thành công?