25.5.3. Резервирование сети (Redundancy)
Corosync поддерживает избыточные сетевые соединения через встроенный транспорт Kronosnet.
Для включения резервирования необходимо указать несколько каналов связи:
через параметры --link0, --link1 в команде pvecm;
либо добавив параметры ring0_addr, ring1_addr в файле corosync.conf.
Для эффективного отказоустойчивого переключения каждый канал должен использовать отдельное физическое соединение.
Каналы используются в порядке приоритета:
# pvecm create CLUSTER \
--link0 10.10.100.105,priority=15 \
--link1 10.20.20.1,priority=20
В данном случае будет использоваться канал
link1, поскольку его приоритет выше.
Если приоритеты не заданы, предпочтение отдаётся каналу с меньшим номером (link0 имеет более высокий приоритет, чем link1).
В штатном режиме трафик передаётся только через канал с наивысшим приоритетом. Остальные каналы используются только при отказе основного.
Для добавления резервного канала в существующий кластер необходимо внести изменения в файл
/etc/pve/corosync.conf:
Добавить параметр ringX_addr для каждого узла (значение X должно быть одинаково для каждого добавляемого узла и уникально для каждого узла).
В секции
totem добавить новый блок
interface (номер ссылки должен соответсвовать числу X, выбранному выше):
interface {
linknumber: 1
}
Увеличить значение config_version.
После применения конфигурации рекомендуется проверить загрузку нового канала:
# journalctl -b -u corosync
Для тестирования можно временно отключить основной канал на одном из узлов и убедиться, что кластер остаётся в состоянии ONLINE:
# pvecm status
Состояние всех link-каналов Corosync можно просмотреть, выполнив команду:
# corosync-cfgtool -s