Postgresql PGPool 2的虚拟IP不工作

Postgresql PGPool 2的虚拟IP不工作,postgresql,high-availability,sysadmin,pgpool,Postgresql,High Availability,Sysadmin,Pgpool,我目前正在按照本指南设置PG HA群集。 我遇到的问题是群集的虚拟IP没有添加到我的网络接口中。我有一个主从模式的三节点集群 根据指南(和pgpool文档) 在“PGPool II配置”和“虚拟IP”下,我必须选择网络上未使用的IP地址(我已确认),并按照指南中的说明设置配置 # - Virtual IP control Setting - delegate_IP = '192.168.1.95' if_cmd_path = '/bin' if_up_cmd = 'ip_w addr a

我目前正在按照本指南设置PG HA群集。

我遇到的问题是群集的虚拟IP没有添加到我的网络接口中。我有一个主从模式的三节点集群

根据指南(和pgpool文档) 在“PGPool II配置”和“虚拟IP”下,我必须选择网络上未使用的IP地址(我已确认),并按照指南中的说明设置配置

# - Virtual IP control Setting -

delegate_IP = '192.168.1.95'

if_cmd_path = '/bin'

if_up_cmd = 'ip_w addr add 192.168.1.95 dev eth0 label eth0:0'

if_down_cmd = 'ip_w addr del 192.168.1.95 dev eth0'

arping_path = '/usr/bin'

arping_cmd = 'arping_w -U $_IP_$ -w 1'
“ip_w”和“arping_w”只是包装器,它们与原始命令位于同一目录中,但通过使用sudo强制命令以root用户身份运行

通过将命令添加到postgres用户的sudoers文件中,我还成功地测试了该命令的使用(以及指南建议的包装器)。如果我以上述用户的身份执行此命令,我可以将IP地址添加到以root身份执行它的节点上

另外,为了见鬼,我禁用了防火墙以确保没有意外。每当我测试一个变更时,我总是收到相同的日志响应,

有一件有趣的事情需要注意……当我通过相同的“if_up_cmd”手动将接口添加到任何节点并切换到postgres用户时,如果我触发虚拟IP故障切换到另一个节点,该节点将在日志中成功返回,但不会显示虚拟IP(因此基本上失败)

我已经检查了所有配置,正在努力找到解决方案。如果有人安装了HA,使用了本指南,或者遇到了这个问题(或者有任何关于它可能是什么的想法),您的输入将非常有用

编辑:我还想补充一点,我已经启用了详细日志记录,但没有得到任何有用的信息。我还尝试在所有三台服务器上执行此操作,它们的响应方式都相同。我还将if_up_cmd作为原始语句,并将其切换为硬编码值,以确保执行它的方法没有解释的空间

 ip_w addr add $_IP_$/24 dev eth0 label eth0:0