Ответ
Настраивал bonding (LAG) для обеспечения отказоустойчивости и увеличения пропускной способности канала до серверов, особенно для мастер-узлов Kubernetes и баз данных.
Предпочтительный способ — через Netplan (Ubuntu 18.04+) или systemd-networkd:
-
Конфигурация в Netplan (
/etc/netplan/01-netcfg.yaml):network: version: 2 ethernets: eno1: dhcp4: no eno2: dhcp4: no bonds: bond0: interfaces: [eno1, eno2] addresses: [192.168.1.10/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 1.1.1.1] parameters: mode: 802.3ad # Режим LACP lacp-rate: fast # Частота отправки LACP-пакетов mii-monitor-interval: 100 # Интервал проверки ссылки (мс) transmit-hash-policy: layer3+4 # Алгоритм балансировкиПрименяем:
sudo netplan apply. -
Проверка:
cat /proc/net/bonding/bond0 # Детальный статус ip link show bond0 # Состояние интерфейса
Ключевые моменты:
- Режим
802.3ad(mode 4) требует поддержки на коммутаторе (нужно настроить LACP-группу). - Для режима active-backup (mode 1) указывается
primaryинтерфейс. - Обязательно тестировал отказоустойчивость, физически отключая кабель и проверяя, что трафик переключается без потери пинг-пакетов.
- В инфраструктуре как код (Terraform/Ansible) конфигурация bonding прописывалась в шаблонах для автоматического применения на всех новых серверах.