我在设置PostgreSQL 9.5.14和pgpool 4.0.4的产品集群时,尝试在pgpool.conf中配置if_up_cmd
。我正在尝试使用的配置是:
'ip_w addr add $_IP_$/32 dev ens192 label ens192:0'
我知道RHEL7 +不再具有eth0命名约定。几个月前,我已经在类似的RHEL(虚拟机)上解决了PostgreSQL 10.7的相同问题,但是我又遇到了错误Cannot find device "ens192"
较早的问题是eth0,因此我将设备/端口更改为ens192:0
,并且对我有用(仍在该群集中工作),但是现在,在另一台计算机上我遇到了错误。我是否应该通过将数字添加到现有接口来更改设备/端口名称。我可以看到ip link
结果中列出了以下设备:
答案 0 :(得分:0)
问题几乎没有维度,也没有答案。
我同意我先前的观点,即socket(::) failed: “Address family not supported by protocol”
听起来很错误,它肯定需要考虑一些问题才能解决,或者至少需要一些解释,但这完全不能阻止pgpool获得vip。 Pgpool标准错误跟踪器也证实了这一点。同样在我的情况下,pgpool几行后在同一日志文件中收到错误后,正确地获得了vip。
关于网络接口的一些见解,我发现有问题的列出的接口是一台物理计算机,而我之前配置的计算机(ens192网络接口)似乎是虚拟的,因此网络接口方案肯定是不同的对彼此而言。尽管可能会被Linux管理员纠正,但是如果需要的话。
最后,我可以通过之前使用的类似方法解决此问题。我使用端口bond0.431:1
进行VIP绑定。 vip已正确绑定到接口bond0.431:1
,我可以在ip link
中看到它。
一个更深入的了解,即使物理rhel机器已经具有另一个接口bond0.431:0
的vip绑定(不是我本人而是sysadmin进行的临时绑定),我的pgpool也能够绑定(并且再次使用bond0.431:1
推广)相同的VIP。
对不起,如果以上听起来令人困惑并且在技术上不准确,但可能会帮助尝试设置pgpool集群的人。令人遗憾的是,pgpool标准文档没有对最新的rhel网络接口命名方案进行过多说明,而对于非Linux专家来说,首先要确定应该如何绑定哪个网络接口以及如何绑定这些网络接口可能很棘手。