pgpool2 Ошибка конфигурации ip_up: ошибка сокета (: :): «Семейство адресов не поддерживается протоколом» - PullRequest
0 голосов
/ 08 мая 2019

Я пытаюсь настроить if_up_cmd в pgpool.conf при настройке кластера prod PostgreSQL 9.5.14 вместе с pgpool 4.0.4. Конфиг, который я пытаюсь использовать для этого:

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

Мне известно, что RHEL7 + больше не имеет соглашения о присвоении имен eth0. Я решил ту же проблему несколько месяцев назад для PostgreSQL 10.7 на аналогичной RHEL (виртуальная машина), но снова я получаю ошибку Cannot find device "ens192" Ранее проблема была с eth0, и поэтому я изменил устройство / порт на ens192:0, и он работал для меня (все еще работает в этом кластере), но теперь, на другой машине, я получаю ошибку. Должен ли я изменить имя устройства / порта, добавив цифру к существующим интерфейсам. Я вижу следующие устройства, перечисленные в ip link исходе:

  • bond0
  • bond0.431
  • bond0.431: 0
  • bond0.849
  • от eno1 до eno5
  • eno6d1
  • ens1f0
  • ens1f1
  • ло

1 Ответ

0 голосов
/ 10 мая 2019

Вопрос имеет несколько измерений, а также ответ.

  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 имеет привязку vip (временноесделано ранее не мной, а sysadmin) уже с другим интерфейсом bond0.431:0, мой pgpool смог снова связать (и продвинуть) тот же vip с bond0.431:1.

Извините, если приведенное выше звучит запутанно и технически не точно, но, вероятно, это поможет кому-то, кто пытается настроить кластер pgpool.К сожалению, стандартная документация pgpool ничего не говорит о последней схеме именования сетевых интерфейсов rhel, и для эксперта, не являющегося Linux, может быть сложно в первую очередь определить, как и с каким сетевым интерфейсом следует связывать.

...