设置 HA postgres 数据库,故障转移概念

设置 HA postgres 数据库,故障转移概念

我想设置一个 HA postgres 数据库。我在不同的物理服务器上设置了具有同步流复制的主数据库和从数据库。当复制中出现错误时,从数据库会触发一个脚本,该脚本将从数据库切换到主数据库。

两台服务器都配置了一个额外的虚拟 IP 地址,在正常运行时,从属数据库服务器上的此接口处于关闭状态。如果发生故障,脚本将关闭主数据库服务器上的此接口并启动从属数据库服务器上的相应接口。然后,脚本执行一些 arp 命令,让 LAN 知道 IP 地址映射已更改。当数据库客户端重新连接时,它们将连接到在同一 IP 上作为主服务器运行的从属服务器。

这种方法到目前为止还有效,但在某些情况下也会遇到麻烦。

如果我拔掉主机的网络插头,故障转移机制就会触发。从属数据库将成为同一 IP 上的主数据库。但是,由于网络已关闭,脚本无法关闭(旧)主机上的虚拟 IP 接口。如果我再插入网络插头,虚拟 IP 上就会发生 IP 地址冲突。

是否有概念可以处理这种情况?

答案1

我认为你正在寻找的是心跳之类的东西。我找到了如何使用 HeartBeat 进行简单的 IP 故障转移这应该会给你提供一种解决问题的方法。

我相信这种设置被称为使用浮动 VIP(如虚拟 IP)

高血压

相关内容