负载均衡器设置中的奇怪节点号

负载均衡器设置中的奇怪节点号

我在这里遇到了一个奇怪的问题。我设置了 Corosync 和 Pacemaker,我使用本指南作为参考,但第一次安装时我做了一些即兴发挥,因为我这样做是为了学习,而不是像奴隶一样遵循说明。但当我遇到这个奇怪的错误时,我启动了一个新的 VPS 再次尝试,这次像奴隶一样遵循说明。

这是我遵循的指南,由 Digital Ocean 的 Mitchell Anicas 提供的非常好的设置:如何在 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

为什么有一个看起来很奇怪的节点,其节点名是辅助节点,正在运行,但却处于离线状态,即使明确说它是一个双节点集群?

补充 2018年4月16日:我跑去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

答案1

我相信 Xenial 附带了在 systemd 中启动和启用的 Corosync 和 Pacemaker,其corosync.conf配置将启动“单节点集群”。该条目可能是您在设置名称之前添加的某个节点的主机名:primarysecondary

要清理它,只需删除该条目:

# crm node delete sh-ps-02

旁注:命名您的节点primary并不是secondary一个很好的做法。node-a并且node-b会更好,因为集群中的任何一个节点都应该能够充当“主”或“次”。

相关内容