Настроить группу агрегирования MC-LAG
Серверы с поддержкой MC-LAG подключены к каждой из сетей (публичной и приватной) одновременно с помощью двух сетевых карт. При этом для обеспечения отказоустойчивости каждая пара сетевых интерфейсов, подключенных к сети, на стороне сервера должна быть объединена в группу агрегирования. Подробнее см. в разделе Особенности настройки групп агрегирования и сетевых интерфейсов.
Примечание
При настройке групп агрегирования не подключайтесь к серверу по сетевому интерфейсу, который будет включен в группу, так как при создании группы соединение будет разорвано. Для настройки групп MC-LAG надежнее всего использовать KVM-консоль.
В настоящий момент настроить группы агрегирования каналов MC-LAG можно в операционных системах Linux Ubuntu 20.04, 22.04, 24.04 и Debian 11. В качестве примера в инструкции используется сервер с двумя парами сетевых карт со скоростью соединения 25 Гбит/с.
Чтобы настроить группу агрегирования каналов:
-
Установите утилиту
ethtool:apt install ethtool -
Убедитесь, что в системе установлены и активны необходимые сетевые интерфейсы:
ip linkРезультат:
... 2: etx3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 link/ether b8:ce:f6:40:12:d6 brd ff:ff:ff:ff:ff:ff 3: etx4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 link/ether b8:ce:f6:40:12:d7 brd ff:ff:ff:ff:ff:ff 4: etx1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 link/ether 58:a2:e1:ad:38:2a brd ff:ff:ff:ff:ff:ff 5: etx2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 link/ether 58:a2:e1:ad:38:2b brd ff:ff:ff:ff:ff:ffКак видно из результата, на сервере активны четыре сетевых интерфейса:
etx3— с MAC-адресомb8:ce:f6:40:12:d6;etx4— с MAC-адресомb8:ce:f6:40:12:d7;etx1— с MAC-адресом58:a2:e1:ad:38:2a;etx2— с MAC-адресом58:a2:e1:ad:38:2b.
-
Узнайте, какие из интерфейсов относятся к публичной сети, а какие — к приватной:
-
В консоли управления
выберите каталог, которому принадлежит сервер. -
Перейдите в сервис BareMetal и в открывшемся списке серверов выберите нужный сервер.
На открывшейся странице в разделах Публичная сеть и Приватная сеть в поле
MAC-адресуказаны MAC-адреса интерфейсов, подключенных соответственно к публичной и приватной сетям. -
Соотнесите информацию, полученную на двух предыдущих шагах, и определите пары интерфейсов сервера, которые подключены к публичной и приватной сетям. В примере выше это следующие пары:
Публичная сеть:
etx3— с MAC-адресомb8:ce:f6:40:12:d6;etx1— с MAC-адресом58:a2:e1:ad:38:2a.
Приватная сеть:
etx4— с MAC-адресомb8:ce:f6:40:12:d7;etx2— с MAC-адресом58:a2:e1:ad:38:2b.
-
-
Узнайте имя файла, в котором хранится конфигурация Netplan
:ls /etc/netplan/Результат:
50-cloud-init.yaml -
Откройте файл конфигурации Netplan удобным вам текстовым редактором. В этой инструкции используется редактор nano
:nano /etc/netplan/50-cloud-init.yaml -
Настройте конфигурацию Netplan, добавив в нее группы агрегирования (раздел
bonds):network: bonds: bond1: dhcp4: true interfaces: - <имя_публичного_интерфейса_1> - <имя_публичного_интерфейса_2> macaddress: <MAC-адрес_публичного_интерфейса_1_или_2> parameters: lacp-rate: fast mode: 802.3ad transmit-hash-policy: layer3+4 bond2: dhcp4: true interfaces: - <имя_приватного_интерфейса_1> - <имя_приватного_интерфейса_2> macaddress: <MAC-адрес_приватного_интерфейса_1_или_2> parameters: lacp-rate: fast mode: 802.3ad transmit-hash-policy: layer3+4 ethernets: etx1: dhcp4: false match: macaddress: 58:a2:e1:ad:38:2a set-name: etx1 etx2: dhcp4: false match: macaddress: 58:a2:e1:ad:38:2b set-name: etx2 etx3: dhcp4: false match: macaddress: b8:ce:f6:40:12:d6 set-name: etx3 etx4: dhcp4: false match: macaddress: b8:ce:f6:40:12:d7 set-name: etx4 version: 2Где:
<имя_публичного_интерфейса_1>,<имя_публичного_интерфейса_2>— имена интерфейсов, определенных ранее как относящиеся к публичной сети.<MAC-адрес_приватного_интерфейса_1_или_2>— MAC-адрес любого из интерфейсов, определенных ранее как относящиеся к публичной сети.<имя_приватного_интерфейса_1>,<имя_приватного_интерфейса_2>— имена интерфейсов, определенных ранее как относящиеся к приватной сети.<MAC-адрес_приватного_интерфейса_1_или_2>— MAC-адрес любого из интерфейсов, определенных ранее как относящиеся к приватной сети.
Важно
Обратите внимание, что DHCP должен быть:
- включен (значение
dhcp4: true) для групп агрегирования (разделbonds); - выключен (значение
dhcp4: false) для индивидуальных интерфейсов (разделethernets).
Пример конфигурации Netplan
network: bonds: bond1: dhcp4: true interfaces: - etx3 - etx1 macaddress: b8:ce:f6:40:12:d6 parameters: lacp-rate: fast mode: 802.3ad transmit-hash-policy: layer3+4 bond2: dhcp4: true interfaces: - etx4 - etx2 macaddress: b8:ce:f6:40:12:d7 parameters: lacp-rate: fast mode: 802.3ad transmit-hash-policy: layer3+4 ethernets: etx1: dhcp4: false match: macaddress: 58:a2:e1:ad:38:2a set-name: etx1 etx2: dhcp4: false match: macaddress: 58:a2:e1:ad:38:2b set-name: etx2 etx3: dhcp4: false match: macaddress: b8:ce:f6:40:12:d6 set-name: etx3 etx4: dhcp4: false match: macaddress: b8:ce:f6:40:12:d7 set-name: etx4 version: 2 -
Примените новую конфигурацию Netplan:
netplan apply -
Убедитесь, что в списке сетевых интерфейсов появились группы агрегирования:
ip linkРезультат:
... 2: etx3: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond1 state UP mode DEFAULT group default qlen 1000 link/ether b8:ce:f6:40:12:d6 brd ff:ff:ff:ff:ff:ff 3: etx4: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond2 state UP mode DEFAULT group default qlen 1000 link/ether b8:ce:f6:40:12:d7 brd ff:ff:ff:ff:ff:ff 4: etx1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond1 state UP mode DEFAULT group default qlen 1000 link/ether b8:ce:f6:40:12:d6 brd ff:ff:ff:ff:ff:ff 5: etx2: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond2 state UP mode DEFAULT group default qlen 1000 link/ether b8:ce:f6:40:12:d7 brd ff:ff:ff:ff:ff:ff 6: bond1: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 link/ether b8:ce:f6:40:12:d6 brd ff:ff:ff:ff:ff:ff 7: bond2: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000 link/ether b8:ce:f6:40:12:d7 brd ff:ff:ff:ff:ff:ffКак видно из результата, на сервере появились две группы агрегирования MC-LAG:
bond1иbond2.Примечание
Если группы агрегирования неактивны (состояние
DOWN), включите их:ip link set bond1 up ip link set bond2 up -
Посмотрите информацию о созданных группах. В качестве примера возьмем группу агрегирования, подключенную к публичной сети:
ethtool bond1Результат:
Settings for bond1: Supported ports: [ ] Supported link modes: Not reported Supported pause frame use: No Supports auto-negotiation: No Supported FEC modes: Not reported Advertised link modes: Not reported Advertised pause frame use: No Advertised auto-negotiation: No Advertised FEC modes: Not reported Speed: 50000Mb/s Duplex: Full Port: Other PHYAD: 0 Transceiver: internal Auto-negotiation: off Link detected: yesКак видно из результата, скорость соединения для группы
bond1составляет 50 Гбит/с. -
Смоделируйте нештатную ситуацию с разрывом связи на одном из каналов, входящих в группу агрегирования публичной сети
bond1. Для этого отключите один из сетевых интерфейсов этой группы:ip link set etx3 down -
Повторно посмотрите информацию о группе:
ethtool bond1Результат:
Settings for bond1: Supported ports: [ ] Supported link modes: Not reported Supported pause frame use: No Supports auto-negotiation: No Supported FEC modes: Not reported Advertised link modes: Not reported Advertised pause frame use: No Advertised auto-negotiation: No Advertised FEC modes: Not reported Speed: 25000Mb/s Duplex: Full Port: Other PHYAD: 0 Transceiver: internal Auto-negotiation: off Link detected: yesКак видно из результата, скорость соединения для группы
bond1снизилась до 25 Гбит/с, но сетевая связность сохранилась. Чтобы убедиться в этом, подключитесь к серверу по SSH. -
Включите отключенный ранее интерфейс и убедитесь, что группа агрегирования вновь работает на максимальной скорости:
ip link set etx3 up ethtool bond1Результат:
Settings for bond1: Supported ports: [ ] Supported link modes: Not reported Supported pause frame use: No Supports auto-negotiation: No Supported FEC modes: Not reported Advertised link modes: Not reported Advertised pause frame use: No Advertised auto-negotiation: No Advertised FEC modes: Not reported Speed: 50000Mb/s Duplex: Full Port: Other PHYAD: 0 Transceiver: internal Auto-negotiation: off Link detected: yes