Назад | Перейти на главную страницу

Поддерживает ли corosync 1.4 общедоступные IP-адреса?

Я создаю облачный кластер, поэтому на данный момент я использую uni cast для подключения к другим узлам кардиостимулятора / corosync. Мне удалось создать кластер с использованием частных IP-адресов. Чтобы создать межрегиональный кластер, я хотел использовать общедоступные IP-адреса. Я попытался использовать общую конфигурацию, предоставив общедоступный IP-адрес дляmberaddr и общедоступный IP-адрес узла для bindnetaddr. Что-то вроде этого

  interface {

           member {
             memberaddr: <public ip 1>
           }
           member {
              memberaddr: <public ip 2>
           }
           member {
              memberaddr: <public ip 3>
           }
           ringnumber: 0
           bindnetaddr: <current nodes public Ip>
           mcastport: 5405
           ttl: 1
  }
  transport: udpu

Это не работает. Я делаю что-то неправильно ? все ссылки, которые я смог найти, относятся к corosync 2.x

Спасибо

Я почти забыл об этом, если кто-то пытается заставить corosync 1.4 работать в облаке с общедоступными IP-адресами. Corosync привязывается к интерфейсам в соответствии с указанным вами привязанным адресом и генерирует привязанный адрес, который будет вашим адресом интерфейса.

Насколько я понимаю, он транслирует этот IP-адрес всем узлам, которые, в свою очередь, отвечают на этот адрес, а не на адрес, с которого он получил пакет.

поэтому, если ваш общедоступный IP-адрес отсутствует на коробке, как в некоторых облаках, тогда может быть невозможно использовать Corosync, как есть с общедоступным IP-адресом

Если конфигурация Corosync работала для вашей частной сети, она должна работать и для вашей общедоступной сети. Я хотел бы убедиться, что существуют правила брандмауэра, которые позволяют портам UDP 5404 и 5405 связываться между узлами.

Также, bindnetaddr не обязательно IP-адрес; он ищет сетевой адрес. Просто убедитесь, что вы используете правильный сетевой адрес для своей сетевой маски.

На странице руководства Corosync.conf:

bindnetaddr
          This specifies the network address the corosync executive should
          bind to.

          bindnetaddr should be an IP address configured on the system, or
          a network address.

          For example, if the local interface is 192.168.5.92 with netmask
          255.255.255.0, you should set  bindnetaddr  to  192.168.5.92  or
          192.168.5.0.   If  the local interface is 192.168.5.92 with net‐
          mask  255.255.255.192,  set  bindnetaddr  to   192.168.5.92   or
          192.168.5.64, and so forth.

          This  may also be an IPV6 address, in which case IPV6 networking
          will be used.  In this case, the exact address must be specified
          and  there  is  no  automatic selection of the network interface
          within a specific subnet as with IPv4.

          If IPv6 networking is used, the nodeid field in nodelist must be
          specified.