З'єднання Linux LACP: налаштування, перевірка, усунення несправностей
14 хв читання - 12 червня 2026 р.

Налаштуйте агрегацію каналів LACP в Linux. Налаштуйте режим зв'язку 4 за допомогою netplan або NetworkManager, перевірте узгодження і виправте поширені проблеми, такі як нульові MAC-адреси партнерів.
Об'єднання Linux LACP: конфігурація, перевірка та усунення несправностей
Linux LACP bonding об'єднує кілька інтерфейсів Ethernet в один логічний канал, надаючи більшу сумарну пропускну здатність та автоматичне переключення між фізичними мережевими картами. Він використовує стандарт IEEE 802.3ad, при якому обидві сторони (сервер та комутатор) узгоджують, які канали активні та як розподіляється трафік. У цій публікації розглядається, що насправді робить LACP, коли його слід обирати замість інших режимів об'єднання в Linux, як налаштувати його на сучасному сервері Linux та як перевірити його роботу.
Що таке агрегація каналів та LACP?
Агрегація каналів об'єднує кілька фізичних мережевих з'єднань в один логічний канал. Вона служить двом цілям: збільшенню загальної доступної пропускної здатності в групі каналів та забезпеченню автоматичного переключення на резервний канал у разі виходу з ладу будь-якого окремого каналу.
LACP (Link Aggregation Control Protocol) — це динамічна версія агрегації каналів, визначена стандартом IEEE 802.3ad. Замість того, щоб покладатися на статичну конфігурацію на обох кінцях, LACP обмінюється контрольними пакетами, які називаються LACPDU, між сервером і комутатором. Обидві сторони узгоджують, які канали приєднаються до агрегації, контролюють стан кожного каналу та додають або видаляють члени з групи у міру зміни умов.
У контексті Linux LACP працює як режим 4 (802.3ad) драйвера об'єднання ядра. Драйвер створює логічний інтерфейс (зазвичай bond0), якому належить IP-адреса, тоді як фізичні інтерфейси, такі як eth0 та eth1 стають підлеглими зв'язку. З точки зору ОС існує один мережевий інтерфейс. З точки зору кабелю існує кілька паралельних кабельних з'єднань.
Є кілька речей, яких LACP конкретно не робить, хоча люди часто цього очікують:
- Одне TCP-з'єднання все ще проходить через один фізичний канал. LACP збалансовує потоки, а не пакети всередині потоку. Два об'єднані канали 1 GbE не зроблять швидкість завантаження більшою за 1 Гбіт/с.
- LACP вимагає комутатора, що підтримує 802.3ad. Він не утворюватиме об'єднання з некерованим або не-LACP комутатором.
- Усі канали, що входять до зв'язку, повинні працювати з однаковою швидкістю та дуплексом. Неможливо об'єднати порт 1 GbE з портом 10 GbE.
Режими об'єднання в Linux: коли використовувати LACP
Драйвер об'єднання в Linux підтримує сім режимів. У більшості виробничих розгортань використовується один із трьох.
Режим 1: активний-резервний
Один інтерфейс-учасник є активним, інші перебувають у режимі очікування. Якщо активний інтерфейс виходить з ладу, інший бере на себе його функції протягом кількох сотень мілісекунд. Не потрібно налаштовувати комутатори, що робить цей режим правильним вибором, коли комутатори знаходяться поза вашим контролем або не підтримують 802.3ad. Ви отримуєте надмірність, але не додаткову пропускну здатність.
Режим 4: 802.3ad (LACP)
Усі члени передають трафік. Драйвер об'єднання та комутатор використовують LACP для узгодження активного набору та виявлення збоїв. Вихідний трафік розподіляється між членами за допомогою налаштованої вами політики хешування. Це стандартний вибір для виділених серверів, підключених до керованих комутаторів, коли вам потрібні як надмірність, так і додаткова пропускна здатність для багатопотокових робочих навантажень.
Режим 6: balance-alb
Адаптивне балансування навантаження в обох напрямках, що не вимагає підтримки комутатора. Драйвер перехоплює відповіді ARP, щоб переписати MAC-адреси та розподілити вхідний трафік. Це працює, але є менш надійним порівняно з LACP. Використовуйте його лише тоді, коли налаштування комутатора є справді неможливим.
Правило прийняття рішення:
- Немає керованого комутатора, або вам потрібна лише відмовостійкість: режим 1 (active-backup).
- Керований комутатор, багатопотокові навантаження, потрібні і пропускна здатність, і резервування: режим 4 (LACP).
- Керований комутатор неможливий, але вам потрібне балансування в обох напрямках: режим 6 (balance-alb).
Режими 0 (balance-rr), 2 (balance-xor), 3 (broadcast) та 5 (balance-tlb) існують, але рідко є правильним вибором на сучасному обладнанні. Обирайте режим 1 або режим 4, якщо у вас немає конкретної причини цього не робити.
Налаштування об’єднання LACP у Linux
У сучасних системах Ubuntu та Debian LACP налаштовується за допомогою netplan. У RHEL, CentOS Stream, AlmaLinux та Rocky Linux використовуйте NetworkManager через nmcli або шляхом редагування відповідних файлів підключення.
Netplan (Ubuntu, Debian)
Вставте наступне в /etc/netplan/01-lacp.yaml:
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
eth1:
dhcp4: no
bonds:
bond0:
interfaces: [eth0, eth1]
addresses: [10.0.0.5/24]
gateway4: 10.0.0.1
parameters:
mode: 802.3ad
lacp-rate: fast
mii-monitor-interval: 100
transmit-hash-policy: layer3+4Потім застосуйте за допомогою netplan apply. Ключові параметри:
mode: 802.3adувімкнути LACP.lacp-rate: fastнадсилає LACPDU кожну секунду замість стандартних 30 секунд. Повинно відповідати налаштуванням комутатора.mii-monitor-interval: 100перевіряє стан каналу кожні 100 мс.transmit-hash-policy: layer3+4розподіляє потоки за IP-адресою джерела/призначення та портом TCP/UDP. Це забезпечує кращий баланс, ніж стандартнаlayer2для типового веб-трафіку та трафіку баз даних.
NetworkManager (RHEL, AlmaLinux, Rocky)
nmcli con add type bond ifname bond0 con-name bond0 \
bond.options "mode=802.3ad,miimon=100,lacp_rate=fast,xmit_hash_policy=layer3+4"
nmcli con add type ethernet ifname eth0 master bond0
nmcli con add type ethernet ifname eth1 master bond0
nmcli con mod bond0 ipv4.addresses 10.0.0.5/24 ipv4.gateway 10.0.0.1 ipv4.method manual
nmcli con up bond0Сторона комутатора
Комутатору потрібна група LAG (яку часто називають порт-каналом), налаштована на активний режим LACP, з такою ж кількістю портів-учасників, як і у зв'язку. Точний синтаксис залежить від виробника, але вимоги залишаються незмінними: порти повинні бути в одній VLAN, налаштовані на однакову швидкість і дуплекс, а також використовувати активний режим LACP хоча б на одній стороні. Найбезпечніше налаштування — активний режим на обох сторонах.
У Cisco IOS:
interface range gigabitethernet0/1 - 2
channel-group 1 mode active
channel-protocol lacpНа Aruba/ProCurve:
trunk 1-2 trk1 lacpНалаштування lacp_rate налаштування на комутаторі має відповідати налаштуванням на хості. Невідповідність тут є однією з найпоширеніших помилок конфігурації LACP і спричиняє періодичне коливання кожні 30 секунд.
Перевірка та усунення несправностей LACP
Перевірте поточний стан зв'язку на стороні Linux:
cat /proc/net/bonding/bond0Чотири речі, на які слід звернути увагу у вихідних даних:
Bonding Mode: IEEE 802.3ad Dynamic link aggregationпідтверджує, що завантажено режим 4.- Кожен підпорядкований інтерфейс, зазначений з
MII Status: upтаlink failure count: 0. - Не нульове
Partner Mac Addressдля кожного підлеглого. Якщо тут всі нулі, це означає, що комутатор взагалі не надсилає пакети LACP, або тому, що порт не входить до LAG з активним LACP, або тому, що кабель підключено до неправильного порту. Aggregator IDє однаковим для кожного члена. Різні ідентифікатори означають, що члени насправді не об'єднані, а діють незалежно.
Найшвидший спосіб перевірити, чи використовується пропускна здатність, — це запустити iperf3 з декількома паралельними потоками (iperf3 -P 8) з іншого хосту. Якщо загальна пропускна здатність перевищує пропускну здатність одного каналу, LACP балансує правильно. Тест з одним потоком, що показує швидкість одного каналу, є очікуваною поведінкою, а не помилкою.
Найпоширеніші проблеми LACP та їхні причини:
- MAC-адреса партнера складається з нулів: порт комутатора не входить до LAG з активним LACP або кабелі підключені неправильно.
- Бонд запускається, але пропускна здатність застрягла на одному каналі: ймовірно, політика хешування за замовчуванням встановлена на
layer2, яка виконує хешування лише за MAC-адресою призначення. Перейдіть наlayer3+4. - Періодичне коливання кожні 30 секунд:
lacp_rateневідповідність між хостом і комутатором. - Один підлеглий працює, але інший ніколи не передає трафік: невідповідність швидкості/дуплексу або порти комутатора не знаходяться в одній групі LAG на стороні комутатора.
Коли LACP не є правильним рішенням
LACP вирішує конкретну проблему: об’єднання декількох каналів між одним хостом і одним комутатором (або одним стеком комутаторів) для забезпечення надмірності та пропускної здатності на потік. Існують сценарії, в яких це не є правильним інструментом.
Якщо вам потрібна лише надмірність, а комутатори не підтримують 802.3ad, використовуйте замість цього режим 1 (active-backup). Він працює з будь-чим.
Якщо вам потрібно об'єднати два окремі комутатори для надмірності на рівні шасі, стандартний LACP не охоплюватиме два не пов'язані між собою комутатори. Вам потрібна агрегація каналів між шасі (MLAG), де два комутатори представляють себе як єдиний логічний партнер LACP. Більшість виробників корпоративних комутаторів реалізують це під власними назвами: Cisco vPC, Arista MLAG, Juniper MC-LAG.
Якщо вам потрібно, щоб один потік перевищував пропускну здатність одного каналу, LACP цього зробити не може. Варіанти полягають у використанні швидшого фізичного каналу (замінити 2x 10 GbE на 1x 25 GbE або 1x 40 GbE) або у використанні зовсім іншої технології. SR-IOV забезпечує віртуальним машинам продуктивність одного потоку, близьку до лінійної швидкості, надаючи кожній ВМ віртуальну мережеву карту з апаратним прискоренням, але це вирішує іншу проблему і має свої обмеження. Це тема для окремого допису.
Для більшості виділених серверів та серверів у колокації, що обробляють багато одночасних з’єднань, LACP залишається стандартним рішенням. Два об’єднані канали 10 Гб/с із layer3+4 хешуванням з легкістю обробляють понад 18 Гбіт/с сукупного трафіку по багатьох потоках, витримуючи при цьому відмову мережевої карти або кабелю без втрати пакетів.

У стандартну комплектацію VPS від FDC входять накопичувачі NVMe, процесори EPYC і справді безлімітна пропускна здатність. Готові до апгрейду?
Розблокуйте продуктивність зараз
Налаштовані профілі для оптимізації навантаження на сервер Linux
Як вибирати, застосовувати та налаштовувати налаштовані профілі для графічних процесорів, баз даних та високошвидкісних серверів Linux, з прикладами та порадами щодо розгортання Ansible.
16 хв читання - 9 червня 2026 р.
Налаштування Linux OOM Killer для VPS: практичний посібник
12 хв читання - 8 червня 2026 р.

Маєте запитання або потребуєте індивідуального рішення?
Гнучкі варіанти
Глобальне охоплення
Миттєве розгортання
Гнучкі варіанти
Глобальне охоплення
Миттєве розгортання