負載均衡器設置中的奇怪節點號
我在這裡遇到了一個奇怪的問題。我設置了 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
配置會帶來“單節點集群”。該條目可能是在您設置名稱之前添加的節點之一的主機名:primary
和secondary
.要清理它,只需刪除該條目:
# crm node delete sh-ps-02
旁注:命名您的節點
primary
並不是secondary
一個好習慣。node-a
並且node-b
會更好,因為集群中的任何一個節點都應該能夠充當“主要”或“次要”。