Поддерживает ли corosync 1.4 общедоступные IP-адреса?
Я создаю кластер на основе облака, поэтому на данный момент я использую универ для подключения к другим узлам кардиостимулятора / corosync. Я смог создать кластер с использованием частных IP-адресов. Чтобы создать межрегиональный кластер, я хотел использовать публичные IP-адреса. Я попытался использовать общую конфигурацию, указав общедоступный IP-адрес для memberaddr и общедоступный 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
Спасибо
2 ответа
Я почти забыл об этом, если кто-то пытается заставить работать 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.