Linux LACP bonding: konfiguracja, weryfikacja, rozwiązywanie problemów

14 min czytania - 12 czerwca 2026

hero section cover
Spis treści
  • Łączenie LACP w systemie Linux: konfiguracja, weryfikacja i rozwiązywanie problemów
  • Czym jest agregacja łączy i LACP?
  • Tryby łączenia w systemie Linux: kiedy stosować LACP
  • Konfiguracja łączenia LACP w systemie Linux
  • Weryfikacja i rozwiązywanie problemów z LACP
  • Kiedy LACP nie jest właściwym rozwiązaniem
Udostępnij

Konfiguracja agregacji łączy LACP w systemie Linux. Konfiguracja trybu bonding 4 za pomocą netplan lub NetworkManager, weryfikacja negocjacji i rozwiązywanie typowych problemów, takich jak zera MAC partnerów.

Łączenie LACP w systemie Linux: konfiguracja, weryfikacja i rozwiązywanie problemów

Łączenie LACP w systemie Linux łączy wiele interfejsów Ethernet w jedno logiczne łącze, zapewniając większą łączną przepustowość i automatyczne przełączanie awaryjne między fizycznymi kartami sieciowymi. Wykorzystuje standard IEEE 802.3ad, przy czym obie strony (serwer i przełącznik) negocjują, które łącza są aktywne i w jaki sposób rozdzielany jest ruch. W tym poście omówiono, jak faktycznie działa LACP, kiedy należy wybrać tę opcję zamiast innych trybów łączenia w systemie Linux, jak skonfigurować ją na nowoczesnym serwerze z systemem Linux oraz jak sprawdzić, czy działa.

Czym jest agregacja łączy i LACP?

Agregacja łączy łączy wiele fizycznych połączeń sieciowych w jeden kanał logiczny. Służy to dwóm celom: zwiększeniu całkowitej dostępnej przepustowości w całej grupie łączy oraz zapewnieniu automatycznego przełączania awaryjnego w przypadku awarii dowolnego pojedynczego łącza w grupie.

LACP (Link Aggregation Control Protocol) to dynamiczna wersja agregacji łączy zdefiniowana w standardzie IEEE 802.3ad. Zamiast polegać na statycznej konfiguracji na obu końcach, LACP wymienia pakiety kontrolne zwane LACPDU między serwerem a przełącznikiem. Obie strony negocjują, które łącza dołączą do agregacji, monitorują stan każdego łącza i włączają lub wyłączają elementy z grupy w miarę zmiany warunków.

W środowisku Linux LACP działa w trybie 4 (802.3ad) sterownika bonding jądra. Sterownik tworzy interfejs logiczny (zazwyczaj bond0), który jest właścicielem adresu IP, podczas gdy interfejsy fizyczne, takie jak eth0 i eth1 stają się podległymi elementami połączenia. Z punktu widzenia systemu operacyjnego istnieje jeden interfejs sieciowy. Z punktu widzenia okablowania istnieje wiele równoległych łączy Ethernet.

Kilka rzeczy, których LACP konkretnie nie robi, a których ludzie często oczekują:

  • Pojedyncze połączenie TCP nadal przechodzi przez jedno fizyczne łącze. LACP równoważy przepływy, a nie pakiety w ramach przepływu. Dwa połączone łącza 1 GbE nie sprawią, że pojedyncze pobieranie będzie przebiegało szybciej niż 1 Gb/s.
  • LACP wymaga przełącznika obsługującego standard 802.3ad. Nie utworzy połączenia z przełącznikiem niezarządzalnym lub nieobsługującym LACP.
  • Wszystkie łącza w grupie muszą działać z tą samą prędkością i w tym samym trybie dupleksowym. Nie można połączyć portu 1 GbE z portem 10 GbE.

Tryby łączenia w systemie Linux: kiedy stosować LACP

Sterownik łączenia w systemie Linux obsługuje siedem trybów. W większości wdrożeń produkcyjnych stosuje się jeden z trzech.

Tryb 1: aktywny-rezerwowy

Jeden interfejs członkowski jest aktywny, pozostałe pozostają w stanie spoczynku. Jeśli aktywny interfejs ulegnie awarii, inny przejmuje kontrolę w ciągu kilkuset milisekund. Nie jest wymagana konfiguracja przełącznika, co sprawia, że jest to właściwy wybór, gdy przełączniki są poza kontrolą użytkownika lub nie obsługują standardu 802.3ad. Uzyskuje się redundancję, ale nie ma dodatkowej przepustowości.

Tryb 4: 802.3ad (LACP)

Wszyscy członkowie przenoszą ruch. Sterownik łączenia i przełącznik używają LACP do negocjowania zestawu aktywnych i wykrywania awarii. Ruch wychodzący jest równoważony między członkami przy użyciu skonfigurowanej przez Ciebie polityki hash. To standardowy wybór dla serwerów dedykowanych podłączonych do przełączników zarządzanych, gdy chcesz mieć zarówno nadmiarowość, jak i dodatkową przepustowość dla obciążeń wieloprzepływowych.

Tryb 6: balance-alb

Adaptacyjne równoważenie obciążenia w obu kierunkach, bez konieczności obsługi przez przełącznik. Sterownik przechwytuje odpowiedzi ARP w celu przepisania adresów MAC i dystrybucji ruchu przychodzącego. Działa, ale jest mniej niezawodny w porównaniu z LACP. Należy go używać tylko wtedy, gdy konfiguracja po stronie przełącznika jest naprawdę niemożliwa.

Zasada decyzyjna:

  • Brak przełącznika zarządzalnego lub potrzeba tylko przełączania awaryjnego: tryb 1 (active-backup).
  • Przełącznik zarządzalny, wiele przepływów, potrzeba zarówno przepustowości, jak i nadmiarowości: tryb 4 (LACP).
  • Nie ma przełącznika zarządzalnego, ale potrzebujesz równoważenia w obu kierunkach: tryb 6 (balance-alb).

Tryby 0 (balance-rr), 2 (balance-xor), 3 (broadcast) i 5 (balance-tlb) istnieją, ale rzadko są właściwym wyborem w przypadku nowoczesnego sprzętu. Wybierz tryb 1 lub tryb 4, chyba że masz konkretny powód, aby tego nie robić.

Konfiguracja łączenia LACP w systemie Linux

W nowoczesnych systemach Ubuntu i Debian LACP konfiguruje się za pomocą netplan. W systemach RHEL, CentOS Stream, AlmaLinux i Rocky Linux należy użyć NetworkManager poprzez nmcli lub poprzez edycję plików połączeń.

Netplan (Ubuntu, Debian)

Wprowadź następujące zmiany w /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

Następnie zastosuj za pomocą netplan apply. Kluczowe parametry:

  • mode: 802.3ad włącza LACP.
  • lacp-rate: fast wysyła pakiety LACPDU co sekundę zamiast domyślnych 30 sekund. Musi być zgodne z ustawieniem przełącznika.
  • mii-monitor-interval: 100 sprawdza stan łącza co 100 ms.
  • transmit-hash-policy: layer3+4 rozdziela przepływy według źródłowego/docelowego adresu IP oraz portu TCP/UDP. Zapewnia to lepsze wyważenie niż domyślna layer2 polityki dla typowego ruchu internetowego i bazodanowego.

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

Strona przełącznika

Przełącznik wymaga grupy LAG (często nazywanej kanałem portów) skonfigurowanej w trybie aktywnym LACP, z taką samą liczbą portów członkowskich jak wiązka. Dokładna składnia różni się w zależności od producenta, ale wymagania są takie same: porty muszą znajdować się w tej samej sieci VLAN, być ustawione na tę samą prędkość i tryb dupleksu oraz korzystać z trybu aktywnego LACP przynajmniej po jednej stronie. Najbezpieczniejszą konfiguracją jest tryb aktywny po obu stronach.

W systemie Cisco IOS:

interface range gigabitethernet0/1 - 2
 channel-group 1 mode active
 channel-protocol lacp

W systemie Aruba/ProCurve:

trunk 1-2 trk1 lacp

Ustawienie lacp_rate Ustawienie na przełączniku musi być zgodne z hostem. Niezgodność w tym zakresie jest jednym z najczęstszych błędów konfiguracji LACP i powoduje sporadyczne flapping co 30 sekund.

Weryfikacja i rozwiązywanie problemów z LACP

Sprawdź aktualny stan połączenia po stronie systemu Linux:

cat /proc/net/bonding/bond0

Cztery rzeczy, na które należy zwrócić uwagę w wynikach:

  1. Bonding Mode: IEEE 802.3ad Dynamic link aggregation potwierdza, że tryb 4 jest załadowany.
  2. Każdy interfejs podrzędny wymieniony z MII Status: up i link failure count: 0.
  3. wartość niezerowa Partner Mac Address dla każdego podległego. Wszystkie zera w tym miejscu oznaczają, że przełącznik w ogóle nie wysyła pakietów LACP, albo dlatego, że port nie znajduje się w LAG z aktywnym LACP, albo dlatego, że kabel jest podłączony do niewłaściwego portu.
  4. Aggregator ID jest taki sam na każdym elemencie. Różne identyfikatory oznaczają, że elementy nie są faktycznie połączone, działają niezależnie.

Najszybszym sposobem sprawdzenia, czy przepustowość jest wykorzystywana, jest uruchomienie iperf3 z wieloma równoległymi strumieniami (iperf3 -P 8) z innego hosta. Jeśli całkowita przepustowość przekracza przepustowość pojedynczego łącza, LACP działa poprawnie. Test z jednym strumieniem pokazujący prędkość jednego łącza jest oczekiwanym zachowaniem, a nie błędem.

Najczęstsze problemy z LACP i ich przyczyny:

  • Adres MAC partnera składa się wyłącznie z zer: port przełącznika nie znajduje się w grupie LAG z aktywnym LACP lub kable są nieprawidłowo podłączone.
  • Łącze Bond uruchamia się, ale przepustowość utknęła na jednym łączu: polityka haszowania prawdopodobnie domyślnie została ustawiona na layer2, która generuje hash tylko na podstawie docelowego adresu MAC. Przełącz na layer3+4.
  • Przerywane flapping co 30 sekund: lacp_rate niedopasowanie między hostem a przełącznikiem.
  • Jedno urządzenie podrzędne działa, ale drugie nigdy nie przenosi ruchu: niezgodność prędkości/dupleksu lub porty przełącznika nie znajdują się w tej samej grupie LAG po stronie przełącznika.

Kiedy LACP nie jest właściwym rozwiązaniem

LACP rozwiązuje konkretny problem: agregację wielu łączy między jednym hostem a jednym przełącznikiem (lub jednym stosem przełączników) w celu uzyskania nadmiarowości i przepustowości na przepływ. Istnieją scenariusze, w których nie jest to właściwe narzędzie.

Jeśli potrzebujesz tylko redundancji, a przełączniki nie obsługują standardu 802.3ad, użyj zamiast tego trybu 1 (active-backup). Działa on z każdym sprzętem.

Jeśli potrzebujesz połączyć dwa oddzielne przełączniki w celu uzyskania redundancji na poziomie obudowy, standardowy LACP nie obejmie dwóch niepowiązanych przełączników. Potrzebujesz agregacji łączy wielopłytowych (MLAG), w której dwa przełączniki prezentują się jako jeden logiczny partner LACP. Większość dostawców przełączników korporacyjnych wdraża to pod własną nazwą: Cisco vPC, Arista MLAG, Juniper MC-LAG.

Jeśli potrzebujesz, aby pojedynczy strumień przekroczył przepustowość jednego łącza, LACP nie jest w stanie tego zapewnić. Opcje to użycie szybszego łącza fizycznego (zastąpienie 2x 10 GbE przez 1x 25 GbE lub 1x 40 GbE) lub użycie zupełnie innej technologii. SR-IOV zapewnia maszynom wirtualnym wydajność pojedynczego przepływu zbliżoną do prędkości łącza, wyposażając każdą maszynę wirtualną w wirtualną kartę sieciową z akceleracją sprzętową, ale rozwiązuje to inny problem i ma swoje własne ograniczenia. To temat na osobny wpis.

W przypadku większości serwerów dedykowanych i kolokacyjnych obsługujących wiele jednoczesnych połączeń standardowym rozwiązaniem pozostaje LACP. Dwa połączone łącza 10 GbE z layer3+4 hashingiem z łatwością obsługują ponad 18 Gb/s łącznego ruchu w wielu strumieniach, jednocześnie wytrzymując awarię karty sieciowej lub kabla bez utraty pakietów.

background image
Czy twój serwer VPS spełnia swoje zadanie?

Serwery VPS FDC są standardowo wyposażone w dyski NVMe, procesory EPYC i prawdziwie niezmierzoną przepustowość. Gotowy na aktualizację?

Odblokuj wydajność już teraz

Blog

Polecane w tym tygodniu

Więcej artykułów
Dostrojone profile dla optymalizacji obciążenia serwerów Linux

Dostrojone profile dla optymalizacji obciążenia serwerów Linux

Jak wybrać, zastosować i dostosować dostrojone profile dla GPU, baz danych i serwerów Linux o wysokiej przepustowości, z przykładami i wskazówkami dotyczącymi wdrażania Ansible.

16 min czytania - 9 czerwca 2026

Linux OOM Killer Tuning dla VPS: Praktyczny przewodnik

12 min czytania - 8 czerwca 2026

Więcej artykułów
background image

Masz pytania lub potrzebujesz niestandardowego rozwiązania?

icon

Elastyczne opcje

icon

Globalny zasięg

icon

Natychmiastowe wdrożenie

icon

Elastyczne opcje

icon

Globalny zasięg

icon

Natychmiastowe wdrożenie