Объединение сетевых интерфейсов в Linux

Введение

Объединение сетевых интерфейсов в Linux поддерживает несколько режимов работы, где каждый режим работает определённым образом и решаем свою задачу. Например, повышает откузоустойчивость сетевого подключения, увеличивает пропускную способность или позволяет распределить нагрузку на сетевые интерфейсы.

Даже если физический сервер расположен дата-центре, это не гарантирует стопроцентную доступность сервера из-за возможных неполадок или технических работ которые влияют на работу вычислительной сети:

  • Техническое обслуживание и ремонт сетевого оборудования в ЦОД
  • Замена сетевого оборудования в ЦОД
  • Выход из строя сетевого оборудования в ЦОД
  • Замена кабеля между сервером и сетевым оборудованием
  • Нестабильная работа сетевого порта сервера

Что такое «объединение» (bonding) сетевых интерфейсов и как оно работает?

Под словом объединение будем подразумевать — портовый транкинг (автоматическое распределение каналов по требованию). В дальнейшем будет использоваться слово — «объединение» потому, что происходит практически объединение в единое целое.

Объединение позволяет совокупно собрать несколько портов в одну группу, эффективно объединяя пропускную способность в одном направлении. Объединение так же позволяет создавать мульти-гигабитные каналы для транспортировки трафика через высокопропускные районы вашей сети. Например, вы можете объединить два порта по 100 мегабит в 200 мегабитный магистральный порт. Это эквивалентно одному интерфейсу с пропускной способностью 200 мегабит.

Режимы объединения интерфейсов в Linux

mod = 0 (balance-rr)

Передача пакетов в последовательном порядке от первого доступного ведомого до последнего. Этот режим обеспечивает балансировку нагрузки и отказоустойчивость.

Отказоустойчивость: Нет

Балансировки нагрузки: Да

mod = 1 (active-backup)

Работает только один интерфейс, остальные находятся в очереди горячей замены. Если ведущий интерфейс перестает функционировать, то его нагрузку подхватывает следующий (присвоив mac-адрес) и становится активным. Дополнительная настройка коммутатора не требуется.

Отказоустойчивость: Да

Балансировки нагрузки: Нет

mode = 2 (balance-xor)

XOR политика: Передача на основе [(исходный MAC-адрес → XOR → MAC-адрес получателя) % число интерфейсов]. Эта команда выбирает для каждого получателя определенный интерфейс в соответствии с mac-адресом. Режим обеспечивает балансировку нагрузки и отказоустойчивость.

Отказоустойчивость: Да

Балансировки нагрузки: Да

mode = 3 (broadcast)

Все пакеты передаются на все интерфейсы в группе. Режим обеспечивает отказоустойчивость.

Отказоустойчивость: Да

Балансировки нагрузки: Нет

mode = 4 (802.3ad)

  • IEEE 802.3ad Dynamic Link aggregation (динамическое объединение каналов). Создает агрегации групп, имеющие одни и те же скорости и дуплексные настройки. Использует все включенные интерфейсы в активном агрегаторе согласно спецификации 802.3ad.
  • Предварительнае реквизиты
  • Поддержка ethtool (позволяет отображать или изменять настройки сетевой карты) базы драйверов для получения скорости и дуплекса каждого интерфейса.
  • Коммутатор с поддержкой IEEE 802.3ad Dynamic Link aggregation. Большинство параметров потребует некоторой конфигурации для режима 802.3ad.

Отказоустойчивость: Да

Балансировки нагрузки: Да

mode = 5 (balance-tlb)

Адаптивная балансировка передаваемой нагрузки: канал связи не требует какой либо специальной настройки. Исходящий трафик распределяется в соответствии с текущей нагрузкой (вычисляется по скоростям) для каждого интерфейса. Входящий трафик принимается текущим интерфейсом. Если принимающий интерфейс выходит из строя, то следующий занимает его место приватизировав его mac-адрес.

  • Поддержка ethtool (позволяет отображать или изменять настройки сетевой карты) базы драйверов для получения скорости и дуплекса каждого интерфейса.

Отказоустойчивость: Да

Балансировки нагрузки: Да

mode = 6 (balance-alb)

Адаптивное перераспределение нагрузки: включает balance-tlb плюс receive load balancing (rlb) для трафика IPv4 и не требует специального конфигурирования. То есть все так же как и при mode = 5, только и входящий трафик балансируется между интерфейсами. Полученная балансировка нагрузки достигается опросом ARP. Драйвер перехватывает ответы ARP, направленные в локальной системе в поисках выхода и перезаписывает исходный адрес сетевой карты с уникальным аппаратным адресом одного из интерфейсов в группе.

Отказоустойчивость: Да

Балансировки нагрузки: Да

Ссылки по теме