postgres回退到备用服务器,切换IP地址,清除ARPcaching

我正在使用我的postgres数据库的热备用服务器。 我已经为服务器分配了一个虚拟IP地址。 在发生故障的情况下,我将虚拟IP从主机切换到热备用服务器。 问题在于,访问数据库的客户端仍然有旧路由到他们的ARPcaching中的主服务器。 热备份服务器无法正常访问。 他们的方式是强制客户端清除他们的ARPcaching?

并非每个主机/ IP实施都会caching免费ARP (可以使用arping发送 )的数据。

你应该使用一个守护进程,这不仅仅是一个虚拟的IP,而且是一个虚拟的MAC地址。 Heartbeat / UCARP / VGP是实现这种function的软件项目的名称。

如果客户端的IP列表很容易处理,那么一旦虚拟IP地址被pipe理,新的服务器就可以ping通它们。 每个客户端的IP代码应该在看到来自新MAC地址的IP时更新其ARP表。

你可以ping通一个广播地址 – 我从来没有尝试过在任何情况下,更不用说试图让其他系统更新ARP。 但是,这将消除备用系统,甚至需要知道谁来ping通。 一旦虚拟IP被探测出来,你也可以让备用系统ping本地networking中的每个地址。