Таблица 38.1. Режимы агрегации Linux Bond
Режим
|
Название
|
Описание
|
Отказоустойчивость
|
Балансировка нагрузки
|
---|---|---|---|---|
balance-rr или mode=0
|
Round-robin
|
Режим циклического выбора активного интерфейса для трафика. Пакеты последовательно передаются и принимаются через каждый интерфейс один за другим. Данный режим не требует применения специальных коммутаторов.
|
Да
|
Да
|
active-backup или mode=1
|
Active Backup
|
В этом режиме активен только один интерфейс, остальные находятся в режиме горячей замены. Если активный интерфейс выходит из строя, его заменяет резервный. MAC-адрес интерфейса виден извне только на одном сетевом адаптере, что предотвращает путаницу в сетевом коммутаторе. Это самый простой режим, работает с любым оборудованием, не требует применения специальных коммутаторов.
|
Да
|
Нет
|
balance-xor или mode=2
|
XOR
|
Один и тот же интерфейс работает с определённым получателем. Передача пакетов распределяется между интерфейсами на основе формулы ((MAC-адрес источника) XOR (MAC-адрес получателя)) % число интерфейсов. Режим не требует применения специальных коммутаторов. Этот режим обеспечивает балансировку нагрузки и отказоустойчивость.
|
Да
|
Да
|
broadcast или mode=3
|
Широковещательный
|
Трафик идёт через все интерфейсы одновременно.
|
Да
|
Нет
|
LACP (802.3ad) или mode=4
|
Агрегирование каналов по стандарту IEEE 802.3ad
|
В группу объединяются одинаковые по скорости и режиму интерфейсы. Все физические интерфейсы используются одновременно в соответствии со спецификацией IEEE 802.3ad. Для реализации этого режима необходима поддержка на уровне драйверов сетевых карт и коммутатор, поддерживающий стандарт IEEE 802.3ad (коммутатор требует отдельной настройки).
|
Да
|
Да
|
balance-tlb или mode=5
|
Адаптивная балансировка нагрузки при передаче
|
Исходящий трафик распределяется в соответствии с текущей нагрузкой (с учетом скорости) на интерфейсах (для данного режима необходима его поддержка в драйверах сетевых карт). Входящие пакеты принимаются только активным сетевым интерфейсом.
|
Да
|
Да (исходящий трафик)
|
balance-alb или mode=6
|
Адаптивная балансировка нагрузки
|
Включает в себя балансировку исходящего трафика, плюс балансировку на приём (rlb) для IPv4 трафика и не требует применения специальных коммутаторов (балансировка на приём достигается на уровне протокола ARP, перехватом ARP ответов локальной системы и перезаписью физического адреса на адрес одного из сетевых интерфейсов, в зависимости от загрузки).
|
Да
|
Да
|
xmit-hash-policy
).
Таблица 38.2. Режимы выбора каналов при организации балансировки нагрузки
Режим
|
Описание
|
---|---|
layer2
|
Канал для отправки пакета однозначно определяется комбинацией MAC-адреса источника и MAC-адреса назначения. Весь трафик между определённой парой узлов всегда идёт по определённому каналу. Алгоритм совместим с IEEE 802.3ad. Этот режим используется по умолчанию.
|
layer2+3
|
Канал для отправки пакета определяется по совокупности MAC- и IP-адресов источника и назначения. Трафик между определённой парой IP-хостов всегда идёт по определённому каналу (обеспечивается более равномерная балансировка трафика, особенно в случае, когда большая его часть передаётся через промежуточные маршрутизаторы). Для протоколов 3 уровня, отличных от IP, данный алгоритм равносилен layer2. Алгоритм совместим с IEEE 802.3ad.
|
layer3+4
|
Канал для отправки пакета определяется по совокупности IP-адресов и номеров портов источника и назначения (трафик определённого узла может распределяться между несколькими каналами, но пакеты одного и того же TCP/UDP-соединения всегда передаются по одному и тому же каналу). Для фрагментированных пакетов TCP и UDP, а также для всех прочих протоколов 4 уровня, учитываются только IP-адреса. Для протоколов 3 уровня, отличных от IP, данный алгоритм равносилен layer2. Алгоритм не полностью совместим с IEEE 802.3ad.
|
options
, ipv4address
. В файле options
следует указать тип интерфейса (TYPE) bond, в переменной HOST
перечислить родительские интерфейсы, которые будут входить в агрегированный интерфейс, в переменной BONDMODE
указать режим (по умолчанию 0), а опции для модуля ядра bonding — в BONDOPTIONS
.
Примечание