High-Availability

為什麼在具有起搏器和 corosync 的集群中重新啟動主節點後只能看到一個節點?

  • July 24, 2017

我在 CentOS 7 上創建了兩個節點:

  • 節點1:192.168.0.1
  • 節點2:192.168.0.2

安裝了這樣的工具:

# yum install -y pacemaker corosync pcs crmsh

還使用 HAProxy 進行了負載平衡器。

在我把所有的事情都做好之後,我重新啟動 node1 以測試高可用性。node1啟動後,這樣只能看到一個節點:

# pcs status corosync

這樣可以看到兩個節點:

# crm status

但另一個是UNCLEAN

Stack: corosync
Current DC: node1 (version 1.1.15-11.el7_3.5-e174ec8) - partition WITHOUT quorum

2 nodes and 0 resources configured

Node node2: UNCLEAN (offline)
Online: [ node1 ]

No resources

從node2到檢查狀態,另一個也是UNCLEAN

Stack: corosync
Current DC: node2 (version 1.1.15-11.el7_3.5-e174ec8) - partition WITHOUT quorum

2 nodes and 0 resources configured

Node node1: UNCLEAN (offline)
Online: [ node2 ]

No resources

如何處理?


添加

我這樣做了:

# pcs property set stonith-enabled=false

corosync 配置:

totem {
   version: 2
   secauth: off
   cluster_name: lbcluster
   transport: udpu
}

nodelist {
   node {
       ring0_addr: node1
       nodeid: 1
   }

   node {
       ring0_addr: node2
       nodeid: 2
   }
}

quorum {
   provider: corosync_votequorum
   two_node: 1
}

logging {
   to_logfile: yes
   logfile: /var/log/cluster/corosync.log
   to_syslog: yes
}

讓UDP 5404和5405通過防火牆;這些是預設情況下 Corosync 想要用於通信的埠。

引用自:https://serverfault.com/questions/862736