我有两个具有复制 gluster 卷的节点。然后第三个节点使用 /etc/fstab 中的以下安装字符串安装该卷:
node1,node2:/gv0 /glustermount glusterfs defaults 0 0
我还尝试添加一台或两台服务器作为备份 volfile 服务器,如下所示:
node1,node2:/gv0 /glustershare glusterfs defaults,backup-volfile-servers=node2:/gv0:node1:/gv0 0 0
该卷安装正常,我可以列出节点 3 中的内容。我的期望是,我可以重新启动节点 1 或节点 2,只要我一次执行一个,并让它们有足够的时间一路启动并完全可用,我就永远不会失去节点 3 的访问权限。
如果我重新启动node1,我可以继续很好地列出内容。一旦node1完全重新启动并可用(我已经等待了很长时间并验证它在“gluster卷状态”响应中在线列出,只是为了确定),然后我重新启动node2。我立刻失去了坐骑。无论我等多久,它都不会回来。但是,我可以立即或稍后重新安装“mount /glustermount”,并且它会再次正常安装,只有节点 1 可用(而节点 2 已关闭或仍在重新启动)。
我的配置有问题还是这不是预期的行为?我认为与 NFS 相比,使用熔断客户端的最大优点是您可以以牺牲一些性能为代价获得自动故障转移。
当我重新启动节点 1 时,在节点 3 上的 gluster 日志中,我看到如下预期条目:
failed to connect with remote-host: node1 (No data available)
connecting to next volfile server node2
因此,当我稍后重新启动 node2 时,我希望看到类似的反向条目,但我看到的是:
Exhuasted all volfile servers
Unmounting '/glustermount'
那么为什么它没有将 node1 视为可用的 volfile 服务器,但如果我重新运行 mount 命令,它安装得很好,只有 node1 可用?