Wiązanie kanału Ethernet, czyli połączenie NIC w systemach Linux

Wiązanie kanału Ethernet, czyli połączenie NIC w systemach Linux

Wiązanie kanałów Ethernet umożliwia dwa lub więcej Karta interfejsów sieciowych (Nic) do jednego wirtualnego Nic karta, która może zwiększyć przepustowość i zapewnia nadmiarowość Karty NIC. Jest to świetny sposób na osiągnięcie nadmiarowych linków, tolerancji błędów lub równoważenia obciążenia w systemie produkcyjnym. Jeśli jeden fizyczny Nic Jest w dół Lub odłączone, automatycznie przenosi zasoby do innych Nic karta. Kanał/Nic Łączenie będzie działać z pomocą kierowcy wiązania Jądro. Będziemy używać dwóch Nic Aby zademonstrować to samo.

Wiązanie kanałów Ethernet

Są prawie sześć rodzaje Obligacja kanału Rodzaje są dostępne. Tutaj przejrzymy tylko dwa rodzaje obligacji kanałów, które są popularne i szeroko używane.

  1. 0: Równoważenie obciążenia (Round-Robin): Ruch jest przesyłany w sekwencyjnej lub okrągłej modzie z obu NIC. Ten tryb zapewnia równoważenie obciążenia i tolerancję błędów.
  2. 1: Aktywne obrocie : Tylko jedna niewolnik jest aktywna w danym momencie. Inna karta interfejsu będzie aktywna tylko wtedy, gdy Aktywna NIC NIC.

Tworzenie wiązania kanału Ethernet

Mamy dwa Karty sieciowe Ethernet I.mi ETH1 I ETH2 Gdzie Bond0 zostanie utworzony w celu wiązania. Potrzebujesz uprzywilejowanego superuser, aby wykonywać poniższe polecenia.

Równoważenie obciążenia (okrągłe-robina)

Skonfiguruj ETH1

Wspomnij parametr Master Bond0 I ETH1 interfejs jako NIEWOLNIK w pliku konfiguracyjnym, jak pokazano poniżej.

# VI/etc/sysconfig/sieci Scripts/IFCFG-ETH1
Device = "eth1" type = ethernet onboot = "tak" bootproto = "brak" userctl = nie master = bond0 Slave = Tak
Skonfiguruj ETH2

Tutaj także określ parametr Master Bond0 I ETH2 interfejs jako NIEWOLNIK.

# VI/etc/sysconfig/sieci Scripts/IFCFG-ETH2
Device = "eth2" type = "ethernet" onboot = "tak" userctl = nie #nm_controlled = Tak bootproto = Brak Master = Bond0 Slave = Tak
Utwórz konfigurację Bond0

Tworzyć Bond0 i skonfiguruj interfejs wiązania kanału w „/etc/sysconfig/scripts/”Katalog nazywał IFCFG-BOND0.

Poniżej znajduje się przykładowy plik konfiguracji wiązania kanału.

# VI/etc/sysconfig/sieciowe scripts/IFCFG-Bond0
Device = Bond0 onboot = Tak iPaddr = 192.168.246.130 Mash Maszy = 255.255.255.0 Bonding_Opts = "Mode = 0 miimon = 100"

Notatka: W powyższej konfiguracji wybraliśmy opcje wiązania Tryb = 0 I.mi Round-Robin I miimon = 100 (Odstępy wyborcze 100 ms).

Zobaczmy interfejsy utworzone za pomocą polecenia ifconfig, które pokazuje „Bond0„Bieganie jako GOSPODARZ Oba interfejsy „ETH1" I "ETH2„Bieganie jako Niewolnicy.

# ifconfig
Bond0 Link Encap: Ethernet Hwaddr 00: 0c: 29: 57: 61: 8e inet addr: 192.168.246.130 Bcast: 192.168.246.255 Maska: 255.255.255.0 INET6 ADDR: FE80 :: 20c: 29ff: Fe57: 618e/64 Zakres: link Up Broadcast Urządzenie Master Multicast MTU: 1500 Metryka: 1 RX Pakiety: 17374 Błędy: 0 Zrzucone: 0 Przekręcenia: 0 Ramka: 0 Pakiety TX: 16060 Błędy: 0 Zrzucone: 0 Przekręcenia: 0 Przewoźnik: 0 zderzenia: 0 txqueuelen: 0 rx bajtów: 1231555 (1.1 MIB) bajty TX: 1622391 (1.5 MIB) ETH1 Link Encap: Ethernet Hwaddr 00: 0c: 29: 57: 61: 8e Up Broadcast Uruchamianie multiemisji multicast MTU: 1500 Metryka: 1 pakiety RX: 16989 Błędy: 0 Zrzucone: 0 Przekręcenia: 0 Ramka: 0 Pakiet TX: 8072 Błędy: 0 Zrzucone: 0 Przekręcenia: 0 Nośnik: 0 zderzenia: 0 txqueuelen: 1000 rx bajtów: 1196931 (1.1 MIB) bajty TX: 819042 (799.8 KIB) przerwanie: 19 Adres podstawowy: 0x2000 ETH2 Link Encap: Ethernet Hwaddr 00: 0c: 29: 57: 61: 8e Up Broadcast Uruchamianie multiemisji multicast MTU: 1500 Metryka: 1 RX Pakiety: 385 Błędy: 0 Zrzucone: 0 Otrajem: 0 Otrajem: 0 Ramka: 0 Pakiety TX: 7989 Błędy: 0 Zrzucone: 0 Przekręcenia: 0 Przewoźnik: 0 zderzenia: 0 txqueuelen: 1000 rx bajtów: 34624 (33.8 kib) bajty TX: 803583 (784.7 kib) przerwanie: 19 Adres podstawowy: 0x2080 Lo Link Encap: Lokalna pętla INET ADDR: 127.0.0.1 Maska: 255.0.0.0 INET6 ADDR ::: 1/128 Zakres: Host Up Loopback Uruchamianie MTU: 16436 Metryka: 1 Rx Pakiety: 8 Błędy: 0 Zrzucone: 0 Przekręcenia: 0 Ramka: 0 Pakiety: 8 Błędy: 0 Zrzucone: 0 Przekręcenia: 0 Przewoźnik: 0 kolizje: 0 txqueuelen: 0 rx bajtów: 480 (480.0 b) bajty TX: 480 (480.0 B)

Uruchom ponownie usługę sieciową i interfejsy powinny być w porządku.

# Uruchom ponownie sieć usług
Zamknięcie interfejsu Bond0: [OK] Zamknięcie interfejsu pętli: [OK] Wywołanie interfejsu LOOPBACK: [OK] Wywołanie interfejsu Bond0: [OK]

Sprawdzanie statusu obligacji.

# Watch -n .1 cat/proc/net/wiązanie/obligacja 0
Próbka OUPUT

Poniżej pokazuje to Tryb wiązania Jest Równoważenie obciążenia (RR) I ETH1 I ETH2 pojawiają się.

Co 0.1S: CAT/PROC/NET/BONDING/BOND0 Czw 12 września 14:08:47 2013 Kierunek wiązania kanału Ethernet: V3.6.0 (26 września 2009 r.) Tryb wiązania: Bilansowanie obciążenia (okrągłe-robin) Status MII: WID MII Odstęp ankietowy (MS): 100 Opóźnienie w górę (MS): 0 Opóźnienie w dół (MS): 0 Interfejs niewolnika: ETH1 MII Status: Status MII: Szybkość Up: Nieznany Dupleks: Nieznany link Liczba awarii: 2 Permanent HW Addr: 00: 0c: 29: 57: 61: 8e Niewolnik Identyfikator kolejki: 0 SLAWE: ETH2 MII Status: Up Prędkość: Nieznany dupleks: Nieznany Link Liczba awarii: 2 Permanent HW Addr: 00: 0c: 29: 57: 61: 98 Identyfikator kolejki niewolników: 0

Utwórz aktywną kopię zapasową

W tym scenariuszu, Niewolnik Interfejsy pozostają takie same. Tylko jedna zmiana będzie w interfejsie obligacji IFCFG-BOND0 zamiast '0' To będzie '1„Co jest pokazane jako poniżej.

# VI/etc/sysconfig/sieciowe scripts/IFCFG-Bond0
Device = Bond0 onboot = Tak iPaddr = 192.168.246.130 Mash Maszy = 255.255.255.0 Bonding_Opts = "Mode = 1 miimon = 100"

Uruchom ponownie usługę sieciową i sprawdź status wiązania.

# Uruchom ponownie sieć usług
Zamknięcie interfejsu Bond0: [OK] Zamknięcie interfejsu pętli: [OK] Wywołanie interfejsu LOOPBACK: [OK] Wywołanie interfejsu Bond0: [OK]

Sprawdzanie statusu obligacji z poleceniem.

# Watch -n .1 cat/proc/net/wiązanie/obligacja 0
Przykładowy wyjście

Tryb wiązania wykazuje tolerancję błędów (aktywny backup) i interfejs niewolnika jest w górę.

Co 0.1S: Cat /Proc /N… czw.6.0 (2 września 6, 2009) Tryb wiązania: Tolerancja błędów (aktywne backup) Podstawowy niewolnik: Brak Obecnie aktywny niewolnik: ETH1 MII Status: interwał przeniesienia MII (MS): 100 Opóźnienie w górę (MS): 0 Opóźnienie w dół (opóźnienie w dół ( MS): 0 Interfejs niewolnika: ETH1 MII Status: Up szybkość: Nieznany dupleks: Nieznany łącze Liczba niepowodzenia: 0 Permanent HW Addr: 00: 0c: 29: 57: 61: 8e Niewolnik ID: 0 Interfejs niewolnika: ETH2 MII Status: Szybkość Up: nieznany dupleks: nieznany link Liczba awarii: 0 stały HW Addr: 00: 0c: 29: 57: 61: 98 Niewolnik ID kolejki: 0

Notatka: Ręcznie w dół I w górę interfejsy niewolników, aby sprawdzić działanie Wiązanie kanału. Zobacz polecenie jak poniżej.

# ifconfig eth1 w dół # ifconfig eth1 w górę

Otóż ​​to!