Что это такое?
Это многоканальные соединения Ethernet (в терминологии различных разработчиков — bonding, teaming, aggregation, clustering, etc.). Каждое многоканальное соединение может включать в себя однотипные объекты Ethernet: физические порты Ethernet целиком, отдельные VLAN на них, а также виртуальные объекты (туннели и т.п.) с инкапсуляцией Ethernet.
Зачем это нужно?
Чтобы объединить несколько физических портов Ethernet (или эквивалентных им объектов) в один логический канал с увеличенной пропускной способностью, балансировкой нагрузки и резервированием.
Как это настроить?
- Создать bond groups. Для добавления используйте команды
+
, _new
или _insert
. Имя группы следует вводить в формате bnНомер
или только целочисленный номер. Данный список является именованным и не упорядочивается автоматически. Для удаления используйте команду -
или _remove
.
- Настроить параметры данной группы, а именно:
- Алгоритм распределения пакетов между каналами, входящими в его состав. Существует несколько различных алгоритмов объединения, предназначенных для разных целей; наиболее современным вариантом является спецификация IEEE 802.3ad, впоследствии перенесённая, по формальным соображениям, в 802.1AX.
- Механизм контроля за состоянием отдельных физических каналов. Контроль может производиться двумя способами: либо по состоянию Link канала (MII-монитор), либо с помощью обмена пакетами ARP с некоторыми контрольными хостами (ARP-монитор). Эти два механизма взаимоисключающие и не могут использоваться одновременно; для нормальной работы соединения всегда должен быть включён один и только один из них.
- Параметры IP-интерфейса, соединяющего его с подсистемой IP-маршрутизации.
Остальные параметры относятся к второстепенным деталям и в большинстве случаев могут быть установлены в значения по умолчанию.
- Включить в состав данного многоканального соединения нужные порты/VLAN/туннели командой
bond-group
в меню этих портов и т.п.
Многоканальное соединение как единое целое соединяется с маршрутизатором через виртуальный интерфейс с именем вида bnN
, имеющий все атрибуты сетевого интерфейса (IP-адрес и т.п.). Объекты, входящие в состав коммутатора, непосредственно к маршрутизатору не подключены и никаких параметров, присущих IP-интерфейсу, не имеют.
Подробнее см. справку по встроенным узлам.
Что делать, если это не работает?
- Подождать. Переконфигурация bond groups занимает довольно много времени. Это не баг, это особенность самой технологии.
- Проверить состояние bond group командой
bnN.show
.
- Смотреть отладку в журнале сообщений ядра —
.system.show.dmesg