授权时无法与起搏器主机通信

授权时无法与起搏器主机通信

我正在尝试使用两个主机配置 Pacemaker 集群,我使用两个 centos 7(CentOS Linux 版本 7.2.1511(核心))虚拟机。

我目前所做的是:我安装了软件包:

yum 安装 pacemaker corosync haproxy pcs fence-agents-all

在两台服务器上为用户 hacluster 设置密码。在两台机器上编辑 /etc/hosts

10.0.0.14 vm_haproxy1
10.0.0.15 vm_haproxy2

之后在两台服务器上启用服务

systemctl 启用 pcsd.service pacemaker.service corosync.service haproxy.service

并启动 pcsd(在两台服务器上)

systemctl 启动 pcsd.service

两个服务都在运行,我可以通过端口 2224 从一个服务远程登录到另一个服务

远程登录 vm_haproxy1 2224
尝试 10.0.0.14...
已连接到 vm_haproxy1。
转义字符是‘^]’。

netstat 的输出:

[root@vm_haproxy2 ~]# netstat -tulpn
活动互联网连接(仅限服务器)
Proto Recv-Q Send-Q 本地地址 外部地址 状态 PID/程序名称    
tcp 0 0 0.0.0.0:22 0.0.0.0:* 监听 849/sshd            
tcp 0 0 127.0.0.1:25 0.0.0.0:* 监听 946/主服务器          
tcp6 0 0 :::2224 :::* 侦听 1949/ruby           
tcp6 0 0 :::22 :::* 侦听 849/sshd            
tcp6 0 0 ::1:25 :::* 侦听 946/主控          
udp 0 0 127.0.0.1:323 0.0.0.0:* 619/chronyd         
udp6 0 0 ::1:323 :::* 619/chronyd

Pcsd 绑定到 ipv6,但就像我已经说过的,telnet 可以工作,Selinux 和firewalld 已被禁用。

然后我尝试授权主机

pcs 集群身份验证 vm_haproxy1 vm_haproxy2

但我收到一个错误:

 
pcs 集群身份验证 vm_haproxy1 vm_haproxy2
用户名:hacluster
密码:
错误:无法与 vm_haproxy1 通信
错误:无法与 vm_haproxy2 通信

我在 Google 上没有找到任何帮助。也许有人已经用 pcs 授权解决了这个问题。

答案1

我通常不会在我的集群中使用 pcsd,但是有时候,我记得在我拥有一个可以正常工作的集群之后设置身份验证;先实现功能,然后再考虑装饰。

在设置身份验证之前,我会尝试从两个节点使用以下命令来创建 corosync 配置并启动集群:

# pcs cluster setup --local --name haproxy-cluster0 vm_haproxy1 vm_haproxy2
# systemctl start corosync
# systemctl start pacemaker

一旦您在输出中看到您的节点在线crm_mon,请尝试设置节点身份验证的步骤。

答案2

我遇到了这个问题。就我而言,我将其追溯到正在设置的代理的环境变量。

要检查这一点:首先运行启用的命令--debug

pcs --debug cluster auth clua club cluc

在调试输出中我可以看到:

Sending HTTP Request to: https://club:2224/remote/check_auth
Data: None
Response Reason: Tunnel connection failed: 404 Not Found
...
"I, [2017-04-05T10:54:21.333320 #6755]  INFO -- : No response from: cluc request: /auth, exception: 404 \"Not Found\"\n",
"I, [2017-04-05T10:54:21.334344 #6755]  INFO -- : No response from: club request: /auth, exception: 404 \"Not Found\"\n",
"I, [2017-04-05T10:54:21.334852 #6755]  INFO -- : No response from: clua request: /auth, exception: 404 \"Not Found\"\n"

对其尝试使用的 URL 运行 curl 会得到更明确的信息:

# curl https://club:2224/remote/check_auth
curl: (56) Received HTTP code 404 from proxy after CONNECT

取消设置http_proxyhttps_proxy使其工作。

如果您没有太多节点,则可以将它们列在no_proxy环境变量中。否则会有点麻烦 - 您需要确保始终在未设置代理环境变量的情况下运行 pcs 命令。到目前为止,我还没有找到任何方法来配置 pcs 不使用这些变量。

您可以编写一个小包装器来取消设置变量,然后调用 pcs。

答案3

如果您使用的是 CentOS 7,请检查:

systemctl start pcsd.service 
systemctl enable pcsd.service 

现在将start运行它。如果出现任何错误消息,则应予以解决。导致enable它在下次启动时自动启动。

答案4

就我的情况而言,我仅使用以下命令在防火墙中打开端口:

firewall-cmd --add-port=2224/tcp --permanent && firewall-cmd --reload

那么一切都会好起来

相关内容