Jak skonfigurować wiązanie interfejsu sieciowego na RHEL 8 / Centos 8 Linux

Jak skonfigurować wiązanie interfejsu sieciowego na RHEL 8 / Centos 8 Linux

Wiązanie interfejsu sieciowego polega na agregacji dwóch lub więcej fizycznych interfejsów sieciowych, zwanych niewolnicy, pod jednym logicznym interfejsem o nazwie gospodarz Lub obligacja interfejs. W zależności od trybu wiązania, taka konfiguracja może być przydatna do osiągnięcia tolerancji błędów i/lub równoważenia obciążenia. W tym samouczku dowiemy się, jakie są dostępne tryby wiązania i jak stworzyć wiązanie sieciowe w RHEL 8 / Centos 8.

W tym samouczku nauczysz się:

  • Co to jest wiązanie interfejsu sieciowego
  • Jak skonfigurować wiązanie interfejsu sieciowego na RHEL 8 / Centos 8
  • Jakie są różne tryby wiązania


Status wiązania widoczny przez jądro Linux

Zastosowane wymagania i konwencje oprogramowania

Wymagania oprogramowania i konwencje linii poleceń Linux
Kategoria Wymagania, konwencje lub wersja oprogramowania
System RHEL 8 / CENTOS 8
Oprogramowanie Narzędzie NMTUI do kontrolowania demona NetworkManager. Aplikacja jest zawarta w minimalnej instalacji systemowej.
Inny Przywileje główne do modyfikowania ustawień systemowych
Konwencje # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
$ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny

Jaki tryb wiązania?

Zasadniczo istnieje 7 trybów wiązania, których możemy użyć:

Round Robin

Pakiety są dystrybuowane jednakowo, w kolejności sekwencyjnej, do wszystkich interfejsów niewolników (od pierwszego do ostatniego). Ten tryb zapewnia zarówno równoważenie obciążenia, jak i tolerancję błędów, ale wymaga wsparcia na przełącznikach.



Aktywna kopia zapasowa

Używany jest tylko główny interfejs niewolnika. Jeśli się nie powiedzie, na jego miejscu używany jest inny niewolnik. Zapewnia to jedynie tolerancję błędów; Nie ma specjalnych wymagań.

XOR (ekskluzywny OR)

Pakiety są przesyłane i przypisywane do jednego z interfejsów niewolników w zależności od skrótu źródłowych i docelowych adresów MAC, obliczonych na podstawie następującego wzoru:

[(adres MAC źródłowego XOR'D z docelowym adresem MAC) Liczba niewolników modulo]

Ten tryb zapewnia zarówno tolerancję błędów, jak i równoważenie obciążenia.

Audycja

Gdy używany jest ten tryb, wszystkie pakiety są przesyłane na wszystkie interfejsy niewolników, zapewniając tolerancję na uszkodzenia, ale nie równoważenie obciążenia.

802.3AD

Ten tryb korzysta z IEEE 802.Agregacja linków 3AD, która musi być obsługiwana na przełącznikach. Tworzy grupy agregacji, które mają takie same ustawienia prędkości i dupleksu. Przesyła i odbiera wszystkich niewolników w grupie aktywnej. Zapewnia zarówno równoważenie obciążenia, jak i tolerancję błędów.

Adaptacyjne równoważenie obciążenia nadawcze

Pakiety wychodzące są przesyłane na interfejsach niewolników w zależności od ich obciążenia, a obecny niewolnik odbiera przychodzący ruch. Jeśli ten ostatni się nie powiedzie, inny niewolnik przejmuje swój adres MAC. Ten tryb zapewnia tolerancję błędów i równoważenie obciążenia.

Adaptacyjne równoważenie obciążenia

Działa jak Adaptacyjne równoważenie obciążenia nadawcze, ale zapewnia również przychodzące Równoważenie przez Arp (Protokół rozwiązywania adresu) negocjacje.

Środowisko

Ze względu na ten samouczek będziemy pracować nad wirtualizowanym systemem Red Hat Enterprise Linux 8. Aby stworzyć nasze łączenie sieciowe, z którymi będziemy pracować nmtui, Narzędzie interfejsu użytkownika tekstu używane do sterowania NetworkManager Demon. Te same operacje można jednak wykonać z NMCLI narzędzie wiersza poleceń lub za pośrednictwem GUI z Edytor połączenia menedżera sieci.

System ma obecnie dwa Ethernet spinki do mankietów, ENP1S0
I ENP7S0:

1: LO: MTU 65536 QDISC NOQUEUE Stan Nieznany Tryb Domyślna grupa Domyślna Qlen 1000 Link/Loopback 00: 00: 00: 00: 00 BRD 00: 00: 00: 00: 00: 00 2: ENP1S0: MTU 1500 QDISC FQ_CODEL Tryb stanu domyślny grupa domyślna QLen 1000 Link/eter 52: 54: 00: CB: 25: 82 BRD FF: FF: FF: FF: FF: FF 3: ENP7S0: MTU 1500 QDISC FQ_CODEL Tryb Up Ogólna Grupa Domyślna grupa Grupa Domyślna Grupa Domyślna QLen 1000 Link/Ether 52: 54: 00: 32: 37: 9b Brd FF: FF: FF: FF: FF: FF 

Tworzenie wiązania sieciowego

Jako pierwszą rzecz, usuniemy obecne istniejące konfiguracje interfejsów niewolników. Nie jest to ściśle konieczne, ponieważ moglibyśmy edytować takie konfiguracje, ale na początek od zera będziemy kontynuować w ten sposób. Przywołajmy się nmtui:

$ sudo nmtui

Z głównego menu wybieramy „Edytujemy połączenie” i potwierdzamy.



Menu główne NMTUI.

Najpierw wybieramy połączenie, aby usunąć na liście, a następnie przejdźmy dalej . Wreszcie potwierdzamy:



Lista połączeń NMTUI.

Na koniec potwierdzamy, że chcemy usunąć połączenie:



NMTUI Powiadomienie o usunięciu istniejącego połączenia.

Powtarzamy operację dla drugiego interfejsu. Po usunięciu wszystkich istniejących konfiguracji możemy utworzyć obligacja interfejs. Wybieramy W menu i na liście typów połączeń wybieramy Obligacja:



Menu wyboru typu połączenia NMTUI.

Nowe okno otworzy się tam, gdzie możemy skonfigurować nasz interfejs. W takim przypadku, nawet jeśli jest to całkowicie opcjonalne, użyję Bond0 zarówno jako profil, jak i nazwa urządzenia. Najważniejszą częścią jest jednak wybór interfejsów niewolników, które należy dodać do wiązania. w Niewolnicy menu, kliknij , i wybierz typ połączenia niewolnika, aby dodać, w tym przypadku Ethernet.



Menu NMTUI, aby wybrać typ połączenia niewolnika.

Wprowadź nazwę urządzenia, wybierz i potwierdź. Operacja musi być powtórzona dla każdego z interfejsów niewolników.



Interfejs NMTUI w celu edytowania połączenia niewolników.

Następnym krokiem jest wybranie tryb wiązania: Ze względu na ten samouczek użyjemy Aktywna kopia zapasowa jeden. Wybieramy powiązaną opcję w menu i w polu „Podstawowa” określamy nazwę głównego interfejsu niewolnika. Wreszcie, po prostu wybieramy Aby potwierdzić tworzenie interfejsu obligacji.



Konfiguracja łączenia sieciowego.

Możemy teraz wyjść nmtui aplikacja. Aby sprawdzić, czy tworzenie wiązania zakończyło się powodzeniem, możemy uruchomić następujące polecenie:

$ ip addr show Bond0

W rezultacie następuje:

4: Bond0: MTU 1500 Qdisc Noqueue State UP Group Domyślnie QLen 1000 Link/Eter 52: 54: 00: CB: 25: 82 BRD FF: FF: FF: FF: FF: FF: FF INET 192.168.122.164/24 BRD 192.168.122.255 Zakres Globalny dynamiczny NoprefixRoute Bond0 Valid_Lft 3304Sec Preferred_lft 3304Sec INET6 FE80 :: 48: D311: 96C1: 89DC/64 ZAKRES LINK NOPREFIXROUTE Prosty_lft na zawsze Preferred_Lft Forered_Lft Forered_Lft Forered_lft 

ifcfg Pliki konfiguracyjne związane z naszą konfiguracją zostały wygenerowane wewnątrz /etc/sysconfig/scripts informator:

$ ls/etc/sysconfig/scripts IFCFG-BOND0 IFCFG-ENP1S0 IFCFG-ENP7S0 

Aby obejrzeć obecny stan Bond0 interfejs, jak widać przez jądro, możemy uruchomić:

$ cat/proc/net/bonding/bond0

Wyjście polecenia przedstawiono poniżej:

Sterownik wiązania kanału Ethernet: v3.7.1 (27 kwietnia 2011 r.) Tryb wiązania: tolerancja błędów (aktywne backup) Pierwotna niewolnik: ENP1S0 (podstawowa_reselect zawsze) Obecnie aktywny niewolnik: ENP1S0 MII Status: UP MII przedział wyborczy (MS): 100 UP Opóźnienie (MS): 0 Opóźnienie w dół (MS): 0 Interfejs niewolnika: ENP1S0 MII Status: Up Prędkość: Nieznany dupleks: Nieznany łącze Liczba niepowodzenia: 0 Permanent HW Addr: 52: 54: 00: CB: 25: 82 Kolejka niewolnika ID: 0 Interfejs niewolnika: ENP7S0 MII Status: Up Szybkość: Nieznany dupleks: Nieznany Link Liczba awarii: 0 Permanent HW Addr: 52: 54: 00: 32: 37: 9b Niewolnika ID: 0 


Widzimy, w jaki sposób oba interfejsy niewolników są, ale tylko ENP1S0 jest aktywny, ponieważ jest to używane jako podstawowy niewolnik.

Testowanie aktywnej kopii zapasowej

Jak możemy sprawdzić, czy nasza konfiguracja działa? Możemy odłożyć główny interfejs niewolników i sprawdzić, czy maszyna nadal reaguje na ping. Aby odłożyć interfejs, prowadzimy:

$ sudo ip link zestaw ENP1S0 Down

Czy maszyna nadal reaguje? Sprawdźmy to:

$ ping -c3 192.168.122.164 ping 192.168.122.164 (192.168.122.164) 56 (84) bajty danych. 64 bajtów z 192.168.122.164: ICMP_SEQ = 1 TTL = 64 TIME = 0.385 MS 64 bajtów z 192.168.122.164: ICMP_SEQ = 2 TTL = 64 TIME = 0.353 MS 64 bajtów z 192.168.122.164: ICMP_SEQ = 3 ttl = 64 czas = 0.406 MS --- 192.168.122.164 Statystyka ping --- 3 przesłane pakiety, 3 otrzymane, 0% utrata pakietów, czas 88 ms rtt min/avg/max/mDev = 0.353/0.381/0.406/0.027 MS 

To robi! Zobaczmy, jak zmienił się status obligacji:

Sterownik wiązania kanału Ethernet: v3.7.1 (27 kwietnia 2011 r.) Tryb wiązania: tolerancja błędów (aktywne backup) Pierwotna niewolnik: ENP1S0 (zawsze_reselect zawsze) obecnie aktywny niewolnik: ENP7S0 MII Status: UP MII przedział wyborczy (MS): 100 UP Opóźnienie (MS): 0 Opóźnienie w dół (MS): 0 Interfejs niewolnika: ENP1S0 MII Status: W dół Szybkość: Nieznany dupleks: Nieznany link Liczba niepowodzenia: 1 Permanent HW Addr: 52: 54: 00: CB: 25: 82 Kolejka niewolników ID: 0 Interfejs niewolnika: ENP7S0 MII Status: Up Szybkość: Nieznany dupleks: Nieznany Link Liczba awarii: 0 Permanent HW Addr: 52: 54: 00: 32: 37: 9b Niewolnika ID: 0 


Jak widać, ponieważ odkładamy główny interfejs niewolnika (ENP1S0), drugi niewolnik, ENP7S0 był używany jako kopia zapasowa i jest obecnie obecnie aktywnym. Ponadto Liczba awarii linków dla pierwotnego niewolnika wzrosło i jest teraz 1.

Wnioski

W tym samouczku dowiedzieliśmy się, co to jest wiązanie sieciowe i jakie są możliwe sposoby skonfigurowania wiązania sieciowego. Stworzyliśmy również wiązanie sieciowe między dwoma interfejsami Ethernet za pomocą Aktywna kopia zapasowa tryb. W Red Hat Enterprise Linux 7 wprowadzono nową koncepcję, Zespół sieciowy. W niektórych aspektach zespoły jest podobne do wiązania, ale jest wdrażane inaczej i ma więcej feuutures. Omówimy to w przyszłych artykułach.

Powiązane samouczki Linux:

  • Rozwiązywanie błędu „błędu segmentacji” w Linuksie
  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Hung Linux System? Jak uciec do wiersza poleceń i…
  • Jak korzystać z połączonej sieci z Libvirt i KVM
  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
  • Mint 20: Lepsze niż Ubuntu i Microsoft Windows?
  • Jak zainstalować Kubernetes na Ubuntu 22.04 JAMMY Jellyfish…
  • Jak zainstalować Kubernetes na Ubuntu 20.04 Focal Fossa Linux
  • Jak często musisz ponownie uruchomić serwer Linux?
  • Jak utworzyć klaster Kubernetes