我有一个六节点的glusterfs集群正在运行。今天早上,我注意到其中一台机器表现得很奇怪,所以为了安全起见,我重新启动了它--如果你愿意的话,是手动的STONITH。
重新启动后,其他三个节点在gluster pool list
和gluster peer status
中将重新启动的机器识别为“连接”,而其他两个节点则显示“断开连接”的状态。奇怪的是,即使在gluster pool list
中显示“断开连接”的节点在gluster volume heal [volname] info
中仍然显示为“连接”。
我试过来自双方的gluster peer probe
,但没有效果。我已经验证了我可以连接到端口24007和端口49154 (在识别它为已连接的对等端上以gluster volume status
显示的块端口),从认为它是“断开”的机器上重新启动节点。
将重新启动的服务器视为断开连接的节点上的/var/log/glusterfs/glustershd.log
包含:
[2018-01-09 11:36:39.258109] I [MSGID: 114018] [client.c:2280:client_rpc_notify] 0-palantir-client-4: disconnected from palantir-client-4. Client process will keep trying to connect to glusterd until brick's port is available
[2018-01-09 11:36:50.074074] E [socket.c:2309:socket_connect_finish] 0-palantir-client-4: connection to xxx.xxx.xxx.205:24007 failed (No route to host)
然而,一个半小时后,它没有重新连接,尽管第一个日志条目声称它将继续尝试。
在所有这些情况下,我需要做什么才能让两个错误的对等点重新连接到重新启动的节点?
发布于 2018-01-11 05:58:52
经过大量的web (和灵魂)搜索之后,我冒了一个机会,停止并重新启动这两个节点上的glusterfs服务器服务(systemctl restart glusterfs-server
),这两个节点的重启对等点被视为断开连接,这使事情恢复了同步。
最重要的是,执行这些重新启动不会导致数据丢失,即使其中一个重新启动的节点是它认为断开连接的对等节点的副本。据推测,复制仍然是通过节点进行的,节点仍然认为重新启动的对等点是连接的。
https://unix.stackexchange.com/questions/415818
复制相似问题