Cluster

負載均衡器設置中的奇怪節點號

  • April 16, 2018

我在這裡遇到了一個奇怪的問題。我設置了 Corosync 和 Pacemaker,我使用本指南作為參考,但我第一次安裝它時即興發揮了一點,因為我這樣做是為了學習,而不是像奴隸一樣遵循指令。但是當我遇到這個奇怪的錯誤時,我啟動了一個新的 VPS 再試一次,這次像奴隸一樣按照說明進行操作。

這是我遵循的指南,Mitchell Anicas 在 Digital Ocean 上的設置非常好:如何在 Ubuntu 14.04 上使用 Corosync、Pacemaker 和浮動 IP 創建高可用性 HAProxy 設置 | digitalocean.com

我得到的錯誤與集群中的節點數有關。在我的設置中,我已經明確指定做兩節點集群。

作業系統:Ubuntu Xenial Xursus (16.04.4)

totem {
 version: 2
 cluster_name: lbcluster
 transport: udpu
 interface {
   ringnumber: 0
   bindnetaddr: primary's-privateIP
   broadcast: yes
   mcastport: 5405
 }
}

quorum {
 provider: corosync_votequorum
 two_node: 1
}

nodelist {
 node {
   ring0_addr: primary's-privateIP
   name: primary
   nodeid: 1
 }
 node {
   ring0_addr: secondary's-privateIP
   name: secondary
   nodeid: 2
 }
}

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

如果我執行sudo crm status,我得到的輸出如下所示。

Last updated: Fri Apr 13 15:31:47 2018          Last change: Fri Apr 13 14:08:42 2018 by root via cibadmin on secondary<br>
Stack: corosync<br>
Current DC: secondary (version 1.1.14-70404b0) - partition with quorum<br>
3 nodes and 0 resources configured

Online: [ primary secondary ]
OFFLINE: [ sh-ps-02 ]

我還執行sudo crm configure show以顯示配置:

node 1: primary<br>
node 2: secondary<br>
node 2130706433: sh-ps-02<br>
property cib-bootstrap-options: \<br>
have-watchdog=false \<br>
dc-version=1.1.14-70404b0 \<br>
cluster-infrastructure=corosync \<br>
cluster-name=debian \<br>
stonith-enabled=false \<br>
no-quorum-policy=ignore

為什麼有一個看起來很奇怪的節點,輔助節點的節點名稱在執行,但即使明確表示它是一個雙節點集群,也離線?

補充16. 2018年4月:我跑去sudo corosync-cmapctl | grep members獲取集群的成員,沒有發現那個奇怪的集群成員下線的痕跡。

runtime.totem.pg.mrp.srp.members.1.config_version (u64) = 0
runtime.totem.pg.mrp.srp.members.1.ip (str) = r(0) ip(x.x.82.204)
runtime.totem.pg.mrp.srp.members.1.join_count (u32) = 3
runtime.totem.pg.mrp.srp.members.1.status (str) = joined
runtime.totem.pg.mrp.srp.members.2.config_version (u64) = 0
runtime.totem.pg.mrp.srp.members.2.ip (str) = r(0) ip(x.x.82.167)
runtime.totem.pg.mrp.srp.members.2.join_count (u32) = 1
runtime.totem.pg.mrp.srp.members.2.status (str) = joined

我相信 Xenial 正在傳遞 Corosync 和 Pacemaker,並在 systemd 中啟動和啟用,其corosync.conf配置會帶來“單節點集群”。該條目可能是在您設置名稱之前添加的節點之一的主機名:primarysecondary.

要清理它,只需刪除該條目:

# crm node delete sh-ps-02

旁注:命名您的節點primary並不是secondary一個好習慣。node-a並且node-b會更好,因為集群中的任何一個節點都應該能夠充當“主要”或“次要”。

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