Подробный гайд по агрегации каналов (bonding) в Debian 13 - Часть 4

Практический гайд по агрегации каналов (bonding) в Debian 13. Настройка режимов LACP и active-backup через ifupdown, nmcli и systemd-networkd.

2026.09.29                  


Подробный гайд по агрегации каналов (bonding) в Debian 13 - Часть 4Подробный гайд по агрегации каналов (bonding) в Debian 13 - Часть 4

17. Проверка пропускной способности


Важно понимать: большинство режимов балансировки не ускоряют один единственный TCP-поток. Один поток обычно идёт через один физический линк.


Чтобы увидеть агрегацию, нужно несколько потоков.


Пример с iperf3:

iperf3 -c 192.168.10.20 -P 8

Параллельно смотрите счётчики:

ip -s link show dev enp3s0
ip -s link show dev enp4s0

или:

sar -n DEV 1

Если используется режим active-backup, скорость не будет суммироваться. Это нормальное поведение: один интерфейс активен, второй резервный.




18. Важные параметры bonding

18.1. miimon

bond-miimon 100

Проверяет состояние физического линка каждые 100 мс. Обычно это рекомендуемый вариант.

18.2. updelay и downdelay

Задержка перед включением/отключением интерфейса после смены состояния линка:

bond-updelay 200
bond-downdelay 200

Полезно, если порт коммутатора медленно поднимается или есть короткие флапы.

18.3. primary и primary_reselect

Для active-backup:

bond-primary enp3s0
bond-primary-reselect better

Варианты primary_reselect:

  • always — возвращаться на первичный интерфейс при его восстановлении;
  • better — переключаться только если первичный интерфейс лучше текущего;
  • failure — переключаться только при отказе активного интерфейса.

18.4. xmit_hash_policy

Используется в режимах balance-xor, 802.3ad, частично в адаптивных режимах.

Примеры:

bond-xmit-hash-policy layer2
bond-xmit-hash-policy layer2+3
bond-xmit-hash-policy layer3+4

Практически:

  • layer2 — по MAC-адресам;
  • layer2+3 — по MAC и IP;
  • layer3+4 — по IP и портам, часто лучший выбор для TCP/UDP.

18.5. lacp_rate

Только для 802.3ad:

bond-lacp-rate fast
  • slow — LACPDU раз в 30 секунд;
  • fast — раз в 1 секунду, быстрее обнаружение проблем.

18.6. min_links

bond-min-links 1

Интерфейс bond0 будет считаться рабочим, если активен хотя бы один физический порт.

18.7. ARP monitoring

Иногда вместо miimon или вместе с ним используют ARP-мониторинг:

bond-arp-interval 100
bond-arp-ip-target 192.168.10.1
bond-arp-validate all

Это может быть полезно, если физический линк формально поднят, но реального трафика нет.

Однако в большинстве случаев достаточно:

bond-miimon 100

19. Настройка MTU и jumbo frames

Если сеть поддерживает jumbo frames, можно задать MTU, например 9000.

Пример в ifupdown:

auto enp3s0
iface enp3s0 inet manual
    mtu 9000

auto enp4s0
iface enp4s0 inet manual
    mtu 9000

auto bond0
iface bond0 inet static
    address 10.0.0.10/24
    gateway 10.0.0.1
    mtu 9000
    bond-mode 802.3ad
    bond-miimon 100
    bond-lacp-rate fast
    bond-xmit-hash-policy layer3+4
    bond-slaves enp3s0 enp4s0

Проверка:

ip link show bond0

Проверка прохождения пакетов с DF и размером около 9000:

ping -M do -s 8972 10.0.0.1

Если фрагментация запрещена, а MTU меньше, пакеты будут теряться или возвращаться ошибка message too long.


20. Загрузка модуля bonding

Обычно модуль подгружается автоматически при создании bond0.

Но можно сделать явно:

echo bonding > /etc/modules-load.d/bonding.conf

Проверить вручную:

modprobe bonding

Не рекомендуется задавать глобальные параметры bonding в /etc/modprobe.d/, если у вас несколько bond с разными режимами. Лучше указывать параметры для каждого bond в конфигурации сети.


Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.


Статью подготовил: Аверко Денис Сергеевич @Nymexis г. Омск (специалист по ЗИ)

Комментарии

Загрузка...
Если комментарии не загружаются, можете попробовать отключить блокировщик рекламы для этого сайта