pgpool2 ip_up config error: socket(::) failed: "Address family not supported by protocol"

pgpool2 ip_up config error: socket(::) failed: "Address family not supported by protocol"

我正在尝试在 pgpool.conf 中配置 if_up_cmd,同时设置 PostgreSQL 9.5.14 的产品集群以及 pgpool 4.0.4。我尝试为此使用的配置是:

'ip_w addr add $_IP_$/32 dev ens192 label ens192:0'

我知道 RHEL7+ 不再有 eth0 命名约定。几个月前,我在类似的 RHEL(虚拟机)上为 PostgreSQL 10.7 解决了同样的问题,但我再次遇到错误 Cannot find device "ens192" 较早的问题出在 eth0 上,因此我将 device/port 更改为 ens192:0 并且它对我有用(仍在该集群中工作)但现在,在另一台机器上我遇到了错误。我是否应该通过在现有接口上附加一个数字来更改 device/port 名称。我可以看到 ip link 结果中列出了以下设备:

问题的维度和答案都很少。

  1. 我同意我之前的观察,socket(::) failed: “Address family not supported by protocol” 听起来是个错误,它肯定需要一些考虑来解决它或者至少需要一些解释,但这根本不会阻止 pgpool 获取 vip . Pgpool 标准错误跟踪器也证实了这一点。同样在我的例子中,几行后在同一个日志文件中收到错误后,pgpool 正确获得了 vip。

  2. 关于网络接口的一些见解,我发现列出的有问题的接口是物理机的,而我之前配置的机器(ens192网络接口)似乎是虚拟的所以肯定是网络两者的接口方案不同。虽然它可能会被 linux 管理员纠正,但如果有人关心的话。

  3. 最后,我能够通过我之前使用的一些类似类比来解决问题。我使用端口 bond0.431:1 进行 vip 绑定。 vip 正确绑定了接口 bond0.431:1,我可以在 ip link 中看到它。

  4. 更深入的了解,即使物理 rhel 机器已经具有另一个接口 bond0.431:0 的 vip 绑定(一个临时的绑定,不是我而是系统管理员),我的 pgpool 能够用 bond0.431:1 再次绑定(并提升)同一个 VIP。

抱歉,如果以上内容听起来令人困惑并且技术上不准确,但它可能对尝试设置 pgpool 集群的人有所帮助。可悲的是,pgpool 标准文档并没有对最新的 rhel 网络接口命名方案说太多,对于 non-linux 专家来说,首先确定应该如何绑定以及与哪个网络接口绑定可能很棘手。