如何使用手动故障转移来处理 IP?

如何使用手动故障转移来处理 IP?

我有两个相同的存储主机,其中主主机是用户唯一可以访问的主机。如果主主机发生故障,那么我想手动更改 DHCP 地址,因此它应该指向master而不是。10.10.10.1010.10.10.11

有一些复制脚本依赖于 IP 地址,因此如果主服务器更改了 IP 地址,那么我必须修改脚本中的 IP,这样数据仍然会从主服务器复制到从服务器。

问题

切换 IP 地址和编辑脚本是一项很容易出错的任务。是否有一种常见的做法来完成这种手动故障转移?例如通过添加某种抽象层?

答案1

常见的做法是为服务设置单独的 IP 地址和名称,与实际服务器的 IP 地址和名称分开。

在这种情况下,你有

master 10.10.10.10
slave  10.10.10.11

第三个名字可能是

storage 10.10.10.12

当您的客户端连接到服务时,应该使用“存储”而不是“主”。

只要master处于在线状态,则 10.10.10.12 应为 上的虚拟接口master。如果master处于关闭状态,则将 10.10.10.12 作为 上的虚拟接口启动slave

尽量避免在脚本中使用 IP 地址。如果在特定情况下无法使用 DNS 查找,请使用配置文件或 /etc/hosts 文件将主机名映射到 IP 地址。

答案2

如果您想要一个更自动化的故障转移解决方案,那么请查看使用 VRRP 协议的 keepalived 之类的解决方案。

更多信息请见这里

虚拟 IP 10.10.10.10(这是一个虚拟 IP 地址,在两台主机上均配置)

主 IP 10.10.10.11

从属 IP 10.10.10.12

这样,您就不必在从属设备上启动第二个接口,并且停机时间非常短(可能一秒钟左右)。

相关内容