Возникла потребность сделать небольшой гиперконвергентный кластер на Proxmox как можно дешевле. Так как с версии 7.1 в RouterOS появился MLAG решили купить пару недорогих Mikrotik коммутаторов CRS309-1G-8S+ и настроить отказоусточивые соединения через MLAG.
MLAG это агрегация портов между разными устройствами (одной модели).
Вот немного почитать про Mikrotik MLAG для начала:
https://help.mikrotik.com/docs/display/ROS/Multi-chassis+Link+Aggregation+Group
https://stubarea51.net/2021/06/04/mikrotik-routerosv7-first-look-mlag-on-crs-3xx-switches/
Используя эти источники было почти все понятно.
Сама сеть была сделана с native vlan 1, поэтому есть нюансы в настройке. В итоге после настройки работала только подсеть 1 vlan, а остальные vlans не работали. И нигде в статьях не сказано, что весь тегированный трафик надо отправлять в интерфейс (или bond) mlag’а.

В данном случае интерфейс mlag’а – sfp-sfpplus2.
Так же прошивки от 7.7 до 7.10 кроме вели себя с нестабильно, на форуме mikrotik рекомендовали прошивку 7.6 , и действительно на ней все стабильно заработало. Vlan 777 это именно vlan MLAG.
MLAG id может быть любой, мне проще было поименовать так, как именуются агрегированные каналы. С протоколами агрегации balance-rr и прочими у меня не заработало, только с LACP (802.3ad).
Коментарий именно по этой схеме: именно этому коммутатору не хватает еще одного sfp+ порта. Тогда бы я сделал двойной бонд для MLAG. Может быть mikrotik выпустит подобное.
Схема упрощенная, vlan 50 который используется для интерконнекта на схеме нет.

Кусок конфига одного коммутатора относящийся к MLAG прикладываю для понимания.
/interface bonding
add mlag-id=10 mode=802.3ad name=_to-main-switch-bond1 slaves=sfp-sfpplus1
add mlag-id=3 mode=802.3ad name=bond3-access slaves=sfp-sfpplus3 \
transmit-hash-policy=layer-2-and-3
add mlag-id=4 mode=802.3ad name=bond4-access slaves=sfp-sfpplus4 \
transmit-hash-policy=layer-2-and-3
add mlag-id=5 mode=802.3ad name=bond5-access slaves=sfp-sfpplus5 \
transmit-hash-policy=layer-2-and-3
add mlag-id=6 mode=802.3ad name=bond6-Interconnect slaves=sfp-sfpplus6 \
transmit-hash-policy=layer-2-and-3
add mlag-id=7 mode=802.3ad name=bond7-Interconnect slaves=sfp-sfpplus7 \
transmit-hash-policy=layer-2-and-3
add mlag-id=8 mode=802.3ad name=bond8-Interconnect slaves=sfp-sfpplus8 \
transmit-hash-policy=layer-2-and-3
/interface bridge mlag
set bridge=bridge1 peer-port=sfp-sfpplus2
/interface bridge port
add bridge=bridge1 comment=”MLAG Interface” interface=sfp-sfpplus2 pvid=777
add bridge=bridge1 comment=”To HP Switch” interface=_to-main-switch-bond1
add bridge=bridge1 comment=”Access to Servers” interface=bond3-access
add bridge=bridge1 interface=bond4-access
add bridge=bridge1 interface=bond5-access
add bridge=bridge1 comment=Interconnect interface=bond6-Interconnect pvid=50
add bridge=bridge1 interface=bond7-Interconnect pvid=50
add bridge=bridge1 interface=bond8-Interconnect pvid=50
/interface bridge vlan
add bridge=bridge1 comment=”VLAN 600″ tagged=\
_to-main-switch-bond1,bond3-access,bond4-access,bond5-access,sfp-sfpplus2 \
vlan-ids=600
add bridge=bridge1 comment=”Interconnect VLAN” tagged=sfp-sfpplus2 untagged=\
bond6-Interconnect,bond7-Interconnect,bond8-Interconnect vlan-ids=50
add bridge=bridge1 comment=”Native VLAN” tagged=sfp-sfpplus2 untagged=\
_to-main-switch-bond1,bridge1,bond3-access,bond4-access,bond5-access \
vlan-ids=1
add bridge=bridge1 comment=”Vlan For MLAG” untagged=sfp-sfpplus2 vlan-ids=777
add bridge=bridge1 comment=”VLAN 700″ tagged=\
sfp-sfpplus2,bond3-access,bond4-access,bond5-access,_to-main-switch-bond1 \
vlan-ids=700