如何使GlusterFS挂载点高度可用?

的确,可以在任何砖块上安装GlusterFS卷,FUSE客户端将自动发现其他砖块并连接到它们。 如果最初的砖块失败,则客户端将故障转移到其他砖块之一。 所以,在初始引导之后,文件系统是高度可用的。

但是,当你重新启动一个客户端主机,并且你将它设置为bootstrap(例如在/etc/fstab )的块被closures的时候,客户端根本不会连接,直到你手动指向另一个块来引导它。

在“主”块closures的情况下,客户端重新引导或添加时,这可能是一个问题。 例如,在亚马逊AWS中,假设您在不同的可用区域中有两个复制GlusterFS砖块。 当包含您的“主”的AZ失败或失去连接时,您很可能会自动调整其他AZ中的其他服务器,以应付增加的负载。 由于“主”无法访问,所以这些服务器无法挂载文件系统,除非将其configuration为挂载其他块。

我如何确保客户端(新的或重新启动)将尝试连接到任何可用的砖?

我们使用Puppet来pipe理所有节点,包括/etc/fstab的内容,并使用GlusterFS 3.9。

如果在安装fuse客户端时添加backupvolfile-server选项,当第一个volfile服务器失败时,则使用backupvolfile-server选项中指定的服务器作为volfile服务器来挂载客户端。

glusterfs文档