我一直在尝试使用 glusterfs 服务器设置地理复制。在我的测试环境中,在我的暂存环境中,一切都按预期工作,但后来我尝试了生产并卡住了。
假设我有
gluster fs 服务器位于公共 ip 1.1.1.1
gluster fs slave 在公共 2.2.2.2 上,但是这个 IP 在接口 eth1 上 gluster fs slave 服务器上的 eth0 是 192.168.0.1。
所以当我在 1.1.1.1 上启动命令时(防火墙和 ssh 键设置正确)
gluster volume geo-replication vol0 2.2.2.2::vol0 create push-pem
我得到一个错误。
无法获取从卷详细信息。请检查从属集群和从属卷。异地复制命令失败
在这种情况下,错误并不重要,问题是从 IP 地址
2015-03-16T11:41:08.101229+00:00 xxx kernel: TCP LOGDROP: IN= OUT=eth0 SRC=1.1.1.1 DST=192.168.0.1 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=24243 DF PROTO=TCP SPT=1015 DPT=24007 WINDOW=14600 RES=0x00 SYN URGP=0
正如您在上面的防火墙丢弃日志中看到的那样,slave gluster 守护程序的端口 24007 在从服务器上接口 eth0 的私有 IP 上公布,并且应该是 eth1 私有 IP 的 IP。所以master无法连接,会超时
有没有办法强制 gluster 服务器宣传接口 eth1 或仅绑定到它?
我使用 cfengine 和 ansible 来推送配置,因此绑定到接口可能是比 IP 更好的解决方案,但无论解决方案如何。
先感谢您。