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.