В современных корпоративных сетях и средах виртуализации простой оборудования недопустим. Стандартное объединение портов (LACP) защищает от обрыва отдельного кабеля или выхода из строя сетевой карты, но оставляет коммутатор единой точкой отказа.
Для решения этой проблемы в операционной системе MLNX-OS на коммутаторах Mellanox SX6036 применяется технология MLAG (Multi-Chassis Link Aggregation). Она позволяет объединить два физических свитча в единую логическую сущность. В этой статье мы пошагово разберем, как связать два коммутатора SX6036 в пару MLAG и настроить отказоустойчивые подключения к серверам.
Для работы MLAG коммутаторы соединяются друг с другом специальным каналом связи, который называется IPL (Inter-Peer Link). Через IPL-линк коммутаторы синхронизируют свои таблицы MAC-адресов, состояния портов и трафик протокола LACP.
Рекомендуется выделять под IPL как минимум два физических порта (например, порты 35 и 36), объединенных в Port-Channel, чтобы обеспечить высокую пропускную способность и резервирование самого служебного канала.
Управление MLAG происходит через служебный IP-интерфейс в выделенном VLAN (например, VLAN 4000), который работает исключительно внутри IPL-линка.
Настройку необходимо выполнить на обоих коммутаторах. Назовем их Switch-01 (Master) и Switch-02 (Standby). Перед стартом убеждаемся, что на обоих устройствах созданы идентичные VLAN для пользовательского трафика (10, 20, 30 и т.д.).
Входим в режим конфигурации
Switch-01 > enable Switch-01 # configure terminal
Включаем подсистему MLAG глобально
Switch-01 (config) # mlag ssl-no-validate Switch-01 (config) # mlag
Создаем служебный VLAN для синхронизации MLAG-пиров
Switch-01 (config) # vlan 4000 Switch-01 (config vlan 4000) # exit
Настраиваем IPL-интерфейс (объединяем порты 1/35 и 1/36)
Switch-01 (config) # interface port-channel 10 Switch-01 (config interface port-channel 10) # ipl 1 Switch-01 (config interface port-channel 10) # exit
Привязываем физические порты к IPL Port-Channel
Switch-01 (config) # interface ethernet 1/35-1/36 Switch-01 (config interface ethernet 1/35-1/36) # channel-group 10 mode active Switch-01 (config interface ethernet 1/35-1/36) # exit
Назначаем IP-адрес для внутренней связи пиров в VLAN 4000
Switch-01 (config) # interface vlan 4000 Switch-01 (config interface vlan 4000) # ip address 192.168.254.1 255.255.255.252 Switch-01 (config interface vlan 4000) # exit
Конфигурируем сам домен MLAG (задаем имя, свой IP и IP соседа)
Switch-01 (config) # mlag-domain MyCluster Switch-01 (config mlag-domain MyCluster) # peer-ip 192.168.254.2 interface vlan 4000 Switch-01 (config mlag-domain MyCluster) # my-ip 192.168.254.1 Switch-01 (config mlag-domain MyCluster) # exit
На втором коммутаторе конфигурация идентичная, меняются только IP-адреса.
Switch-02 > enable Switch-02 # configure terminal Switch-02 (config) # mlag ssl-no-validate Switch-02 (config) # mlag Switch-02 (config) # vlan 4000 Switch-02 (config vlan 4000) # exit Switch-02 (config) # interface port-channel 10 Switch-02 (config interface port-channel 10) # ipl 1 Switch-02 (config interface port-channel 10) # exit Switch-02 (config) # interface ethernet 1/35-1/36 Switch-02 (config interface ethernet 1/35-1/36) # channel-group 10 mode active Switch-02 (config interface ethernet 1/35-1/36) # exit Switch-02 (config) # interface vlan 4000 Switch-02 (config interface vlan 4000) # ip address 192.168.254.2 255.255.255.252 Switch-02 (config interface vlan 4000) # exit Switch-02 (config) # mlag-domain MyCluster Switch-02 (config mlag-domain MyCluster) # peer-ip 192.168.254.1 interface vlan 4000 Switch-02 (config mlag-domain MyCluster) # my-ip 192.168.254.2 Switch-02 (config mlag-domain MyCluster) # exit
Проверяем, что коммутаторы успешно нашли друг друга и установили сессию, командой:
Switch-01 # show mlag
В выводе статус «MLAG Session» должен измениться на UP.
Теперь, когда свитчи объединены в кластер, создаём распределенный Port-Channel для нашего сервера. Предположим, первый порт сетевой карты хоста (ConnectX-3) идет в порт 1/1 на Switch-01, а второй порт — в порт 1/1 на Switch-02.
Для этого на каждом коммутаторе создается свой Port-Channel, но с одинаковым идентификатором mlag-id.
Создаем интерфейс агрегации
Switch-01 (config) # interface port-channel 1
Присваиваем уникальный mlag-id (должен совпадать на обоих свитчах для этого сервера)
Switch-01 (config interface port-channel 1) # mlag-id 1
Настраиваем порты в режим Trunk (пробрасываем продуктивные VLAN)
Switch-01 (config interface port-channel 1) # switchport mode trunk Switch-01 (config interface port-channel 1) # switchport trunk allowed-vlan 10,20,30 Switch-01 (config interface port-channel 1) # exit
Привязываем локальный физический порт 1/1 к этому Port-Channel
Switch-01 (config) # interface ethernet 1/1 Switch-01 (config interface ethernet 1/1) # channel-group 1 mode active Switch-01 (config interface ethernet 1/1) # exit
Switch-02 (config) # interface port-channel 1 Switch-02 (config interface port-channel 1) # mlag-id 1 Switch-02 (config interface port-channel 1) # switchport mode trunk Switch-02 (config interface port-channel 1) # switchport trunk allowed-vlan 10,20,30 Switch-02 (config interface port-channel 1) # exit Switch-02 (config) # interface ethernet 1/1 Switch-02 (config interface ethernet 1/1) # channel-group 1 mode active Switch-02 (config interface ethernet 1/1) # exit
После этого на стороне сервера (будь то ESXi или Proxmox, конфигурации которых мы разбирали ранее) настраивается стандартный LACP Бонд (802.3ad).
После проведения пусконаладочных работ обязательно выполняем серию тестов для подтверждения отказоустойчивости:
Switch-01 # show mlag interface
Switch-01 # configuration write Switch-02 # configuration write