Wyszukiwanie w witrynie

Jak utworzyć drużynę lub łączenie kart sieciowych w CentOS 8/RHEL 8


Łączenie kart sieciowych to agregacja lub połączenie dwóch lub większej liczby łączy sieciowych w jedno łącze logiczne w celu zapewnienia redundancji i wysokiej dostępności. Logiczny interfejs/łącze nazywany jest interfejsem zespołu. W przypadku awarii aktywnego łącza fizycznego, jedno z łączy zapasowych lub zarezerwowanych zostanie automatycznie uruchomione i zapewni nieprzerwane połączenie z serwerem.

Terminologia dotycząca zespołów

Zanim zakasamy rękawy, koniecznie zapoznaj się z następującą terminologią:

  • Teamd – jest to demon tworzenia zespołów nic, który wykorzystuje bibliotekę libteam do komunikacji z urządzeniami zespołu za pośrednictwem jądra Linuksa.
  • Teamdctl – jest to narzędzie, które pozwala użytkownikom kontrolować instancję teamd. Możesz sprawdzić i zmienić status portu, a także przełączać się między stanem kopii zapasowej i aktywnym.
  • Runner – są to jednostki kodu napisane w JSON i używane do implementacji różnych koncepcji łączenia kart sieciowych. Przykłady trybów uruchamiania obejmują Round Robbin, równoważenie obciążenia, rozgłaszanie i aktywną kopię zapasową.

Na potrzeby tego przewodnika skonfigurujemy zespoły kart sieciowych przy użyciu trybu aktywnej kopii zapasowej. W tym miejscu jedno łącze pozostaje aktywne, podczas gdy pozostałe są w trybie gotowości i są zarezerwowane jako łącza zapasowe na wypadek awarii aktywnego łącza.

Na tej stronie

  • Zainstaluj połączonego demona w CentOS
  • Skonfiguruj tworzenie zespołu kart sieciowych w CentOS
  • Testowanie nadmiarowości zespołowej sieci
  • Usuwanie interfejsu zespołu sieciowego

Bez zbędnych ceregieli, zacznijmy.

Krok 1: Zainstaluj demona zespołowego w CentOS

Teamd to demon odpowiedzialny za utworzenie zespołu sieciowego, który będzie działał jako logiczny interfejs w czasie działania. Domyślnie jest instalowany z CentOS/RHEL 8. Jeśli jednak z jakiegoś powodu nie jest on zainstalowany, wykonaj następującą komendę dnf, aby go zainstalować.

sudo dnf install teamd

Po zainstalowaniu sprawdź, czy teamd jest zainstalowany, uruchamiając polecenie obr./min:

rpm -qi teamd

Krok 2: Skonfiguruj tworzenie zespołu kart sieciowych w CentOS

Do skonfigurowania teamingu kart sieciowych posłużymy się przydatnym narzędziem nmcli, które możemy wykorzystać do zarządzania usługą NetworkManager. W moim systemie mam 2 karty sieciowe, które zamierzam połączyć lub połączyć, aby utworzyć logiczny interfejs zespołu: enp0s3 i enp0s8. W Twoim przypadku może być inaczej.

Aby potwierdzić działanie aktywnych interfejsów sieciowych:

nmcli device status

Wynik potwierdza istnienie 2 aktywnych połączeń sieciowych. Aby zebrać więcej informacji o interfejsach takich jak UUID, uruchom komendę:

nmcli connection show

Aby utworzyć łącze lub interfejs zespołowy sieci, który będzie naszym łączem logicznym, usuniemy istniejące interfejsy sieciowe. Następnie utworzymy interfejsy podrzędne przy użyciu usuniętych interfejsów, a następnie powiążemy je z łączem grupowym.

Używając odpowiednich identyfikatorów UUID, wykonaj poniższe polecenia, aby usunąć łącza:

nmcli connection delete e3cec54d-e791-4436-8c5f-4a48c134ad29
nmcli connection delete dee76b4c-9alb-4f24-a9f0-2c9574747807

Tym razem, gdy sprawdzisz interfejsy, zauważysz, że są one rozłączone i nie zapewniają połączenia z serwerem. Zasadniczo Twój serwer będzie odizolowany od reszty sieci.

nmcli device status

Następnie utworzymy interfejs zespołu o nazwie team0 w trybie aktywnego modułu tworzenia kopii zapasowych. Jak wspomniano wcześniej, tryb aktywnego modułu zapasowego wykorzystuje jeden aktywny interfejs, a pozostałe rezerwuje w celu zapewnienia redundancji na wypadek awarii aktywnego łącza.

nmcli connection add type team con-name team0 ifname team0 config '{"runner": {"name": "activebackup"}}'

Aby wyświetlić atrybuty przypisane do interfejsu team0 uruchom komendę:

nmcli connection show team0

Doskonały! W tym momencie mamy tylko jeden interfejs, którym jest interfejs team0, jak pokazano.

nmcli connection show

Następnie skonfiguruj adres IP dla interfejsu team0, jak pokazano, za pomocą polecenia nmcli. Pamiętaj, aby przypisać adresy IP zgodnie ze schematem adresowania IP i podsiecią sieci.

nmcli con mod team0 ipv4.addresses 192.168.2.100/24
nmcli con mod team0 ipv4.gateway 192.168.2.1
nmcli con mod team0 ipv4.dns 8.8.8.8
nmcli con mod team0 ipv4.method manual
nmcli con mod team0 connection.autoconnect yes

Następnie utwórz łącza podrzędne i powiąż niewolników z łączem do zespołu:

nmcli con add type team-slave con-name team0-slave0 ifname enp0s3 master team0
nmcli con add type team-slave con-name team0-slave1 ifname enp0s8 master team0

Sprawdź ponownie status łączy, a zauważysz, że łącza podrzędne są teraz aktywne.

nmcli connection show

Następnie dezaktywuj i aktywuj łącze do zespołu. Aktywuje to połączenie pomiędzy łączami podrzędnymi a łączem zespołu.

nmcli connection down team0 && nmcli connection up team0

Następnie sprawdź stan połączenia łącza zespołu, jak pokazano.

ip addr show dev team0

Widzimy, że łącze działa z poprawnym adresowaniem IP, które skonfigurowaliśmy wcześniej.

Aby pobrać dodatkowe szczegóły dotyczące łącza do zespołu, uruchom komendę:

sudo teamdctl team0 state

Z danych wyjściowych wynika, że oba łącza (enp0s3 i enp0s8) działają, a aktywnym łączem jest enp0s8.

Krok 3: Testowanie nadmiarowości zespołowej sieci

Aby przetestować nasz tryb łączenia w ramach aktywnej kopii zapasowej, odłączymy aktualnie aktywne łącze – enp0s3 – i sprawdzimy, czy drugie łącze się uruchomi.

nmcli device disconnect enp0s3
sudo teamdctl team0 state

Gdy sprawdzisz status interfejsu zespołu, przekonasz się, że łącze enp0s8 zostało uruchomione i obsługuje połączenia z serwerem. To potwierdza, że nasza konfiguracja działa!

Krok 4: Usuwanie interfejsu zespołu sieciowego

Jeśli chcesz usunąć interfejs/łącze do tworzenia zespołu i przywrócić domyślne ustawienia sieciowe, najpierw usuń łącze do tworzenia zespołu:

nmcli connection down team0

Następnie usuń niewolników.

nmcli connection delete team0-slave0 team0-slave1

Na koniec usuń interfejs zespołowy.

nmcli connection delete team0

W tym momencie wszystkie interfejsy nie działają, a Twój serwer jest nieosiągalny. Aby aktywować interfejsy sieciowe i odzyskać łączność, uruchom polecenia:

sudo ifconfig enp0s3 up
sudo ifconfig enp0s8 up
sudo systemctl restart NetworkManager
Wniosek

Łączenie kart sieciowych oferuje doskonałe rozwiązanie w zakresie redundancji sieci. Dzięki 2 lub większej liczbie interfejsów sieciowych możesz skonfigurować interfejs zespołowy w dowolnym trybie uruchamiania, aby zapewnić wysoką dostępność w przypadku przypadkowej awarii jednego łącza. Mamy nadzieję, że ten przewodnik okazał się pomocny. Skontaktuj się z nami i daj nam znać, jakie były Twoje doświadczenia.