Ethernet Channel Bonding AKA NIC Teaming on Linux Systems

Ethernet Channel Bonding AKA NIC Teaming on Linux Systems

Ikatan saluran Ethernet membolehkan dua atau lebih Kad Antara muka rangkaian (Nic) ke satu maya Nic kad yang boleh meningkatkan jalur lebar dan memberikan kelebihan Kad NIC. Ini adalah cara terbaik untuk mencapai pautan berlebihan, toleransi kesalahan atau rangkaian mengimbangi beban dalam sistem pengeluaran. Jika satu fizikal Nic adalah ke bawah atau dicabut, ia secara automatik akan memindahkan sumber ke yang lain Nic kad. Saluran/Nic ikatan akan berfungsi dengan bantuan pemandu ikatan di Kernel. Kami akan menggunakan dua Nic untuk menunjukkan perkara yang sama.

Ikatan saluran Ethernet

Terdapat hampir enam jenis Ikatan saluran jenis boleh didapati. Di sini, kami akan mengkaji hanya dua jenis ikatan saluran yang popular dan digunakan secara meluas.

  1. 0: mengimbangi beban (Robin pusingan): Trafik dihantar mengikut urutan berurutan atau fesyen bulat dari kedua-dua NIC. Mod ini menyediakan pengimbangan beban dan toleransi kesalahan.
  2. 1: Backup aktif : Hanya satu hamba Nic aktif pada masa tertentu. Kad antara muka lain akan aktif hanya jika hamba aktif NIC gagal.

Membuat ikatan saluran Ethernet

Kami mempunyai dua Kad Ethernet Rangkaian i.e eth1 dan ETH2 di mana Bond0 akan dibuat untuk tujuan ikatan. Memerlukan superuser istimewa untuk melaksanakan arahan di bawah.

Mengimbangi beban (bulat-robin)

Konfigurasikan ETH1

Sebutkan tuan parameter Bond0 dan eth1 antara muka sebagai a Hamba dalam fail konfigurasi seperti yang ditunjukkan di bawah.

# vi/etc/sysconfig/skrip rangkaian/ifcfg-eth1
Peranti = "eth1" type = ethernet onboot = "ya" bootproto = "none" userctl = no master = bond0 hamba = ya
Konfigurasikan ETH2

Di sini juga, nyatakan tuan parameter Bond0 dan ETH2 antara muka sebagai a Hamba.

# vi/etc/sysconfig/rangkaian-skrip/ifcfg-eth2
Peranti = "eth2" type = "ethernet" onboot = "yes" userctl = no #nm_controlled = yes bootproto = none Master = Bond0 Slave = Yes
Buat konfigurasi Bond0

Buat Bond0 dan konfigurasikan antara muka ikatan saluran dalam "/etc/sysconfig/skrip rangkaian/"Direktori dipanggil IFCFG-Bond0.

Berikut adalah fail konfigurasi ikatan saluran sampel.

# vi/etc/sysconfig/rangkaian-skrip/ifcfg-bond0
Peranti = Bond0 onboot = ya ipaddr = 192.168.246.130 netmask = 255.255.255.0 Bonding_Opts = "Mode = 0 miimon = 100"

Catatan: Dalam konfigurasi di atas, kami telah memilih pilihan ikatan mod = 0 i.e Robin pusingan dan Miimon = 100 (Selang mengundi 100 ms).

Mari lihat antara muka yang dibuat menggunakan arahan ifconfig yang menunjukkan "Bond0"Berjalan sebagai Tuan kedua -dua antara muka "eth1"Dan"ETH2"Berjalan sebagai Budak.

# ifconfig
Bond0 Link Encap: Ethernet Hwaddr 00: 0c: 29: 57: 61: 8e inet addr: 192.168.246.130 Bcast: 192.168.246.255 Mask: 255.255.255.0 Inet6 Addr: Fe80 :: 20c: 29ff: Fe57: 618e/64 Skop: Pautan Penyiaran Berjalan Master Multicast MTU: 1500 Metrik: 1 Rx Packets: 17374 Ralat: 0 Dropped: 0 Overruns: 0 Frame: 0 Tx Packets: 16060 Kesalahan: 0 Diturunkan: 0 Overruns: 0 Pembawa: 0 Perlanggaran: 0 Txqueuelen: 0 Rx Bytes: 1231555 (1.1 mib) tx bait: 1622391 (1.5 MIB) ETH1 LINK ENCAP: Ethernet HWADDR 00: 0C: 29: 57: 61: 8E UP SIASES Running Running Slave Multicast MTU: 1500 Metrik: 1 RX Packets: 16989 Ralat: 0 Diturunkan: 0 Overuns: 0 Frame: 0 TX Packet: 8072 Kesalahan: 0 Diturunkan: 0 Overruns: 0 Pembawa: 0 Perlanggaran: 0 Txqueuelen: 1000 Rx Bytes: 1196931 (1.1 MIB) TX Bytes: 819042 (799.8 kib) Interrupt: 19 Alamat asas: 0x2000 ETH2 Link Encap: Ethernet Hwaddr 00: 0C: 29: 57: 61: 8e Up Siaran Multicast Slave Multicast MTU: 1500 Metrik: 1 RX Packets: 385 Ralat: 0 Diturunkan: 0 Overuns: 0 Bingkai: 0 TX Packets: 7989 Kesalahan: 0 Diturunkan: 0 Overruns: 0 Pembawa: 0 Perlanggaran: 0 Txqueuelen: 1000 Rx Bytes: 34624 (33.8 kib) TX Bytes: 803583 (784.7 kib) Interrupt: 19 Alamat Pangkalan: 0x2080 Lo Link Encap: Loopback Local Inet Addr: 127.0.0.1 topeng: 255.0.0.0 inet6 addr ::: 1/128 Skop: Hos ke atas loopback Running MTU: 16436 Metrik: 1 Rx Packets: 8 Ralat: 0 Droped: 0 Overruns: 0 Frame: 0 Tx Packets: 8 Ralat: 0 Diturunkan: 0 Overruns: 0 Pembawa: 0 Perlanggaran: 0 Txqueuelen: 0 rx bytes: 480 (480.0 b) TX Bytes: 480 (480.0 b)

Mulakan semula perkhidmatan dan antara muka rangkaian mestilah ok.

# Rangkaian Perkhidmatan Mulakan semula
Menutup Bond Interface Bond0: [OK] Menutup Antara Muka Loopback: [OK] Membesarkan antara muka Loopback: [OK] Membawa Bond Interface0: [OK]

Memeriksa status ikatan.

# Watch -n .1 kucing/proc/net/ikatan/bon0
Contoh ouput

Di bawah output menunjukkan bahawa Mod ikatan adalah Mengimbangi beban (Rr) dan eth1 & ETH2 muncul.

Setiap 0.1s: kucing/proc/net/ikatan/bon0 thu Sep 12 14:08:47 2013 Ethernet Channel Bonding Driver: V3.6.0 (26 September 2009) Mod Ikatan: Pengimbangan Beban (Round-Robin) MII Status: Up Mii Polling Interval (MS): 100 Up Delay (MS): 0 Down Delay (MS): 0 Interface Hamba: ETH1 MII Status: Kelajuan UP: Duplex Tidak Dikenal: Kegagalan Pautan Tidak Dikenal: 2 Tetap HW Addr: 00: 0C: 29: 57: 61: 8e ID Baris Hamba: 0 Hamba Interface: ETH2 MII Status: Up Speed: Dupleks Tidak Diketahui: Kegagalan Pautan Tidak Diketahui: 2 Tetap HW Tambah: 00: 0C: 29: 57: 61: 98 ID Gilir Hamba: 0

Buat sandaran aktif

Dalam senario ini, Hamba Antara muka tetap sama. Hanya satu perubahan yang akan ada di antara muka bon IFCFG-Bond0 bukan '0'Ia akan menjadi'1'yang ditunjukkan seperti di bawah.

# vi/etc/sysconfig/rangkaian-skrip/ifcfg-bond0
Peranti = Bond0 onboot = ya ipaddr = 192.168.246.130 netmask = 255.255.255.0 Bonding_Opts = "Mode = 1 miimon = 100"

Mulakan semula perkhidmatan rangkaian dan periksa status ikatan.

# Rangkaian Perkhidmatan Mulakan semula
Menutup Bond Interface Bond0: [OK] Menutup Antara Muka Loopback: [OK] Membesarkan antara muka Loopback: [OK] Membawa Bond Interface: [OK]

Memeriksa status ikatan dengan arahan.

# Watch -n .1 kucing/proc/net/ikatan/bon0
Output sampel

Mod ikatan menunjukkan toleransi kesalahan (aktif-backup) dan antara muka hamba.

Setiap 0.1s: kucing /proc /n ... thu Sep 12 14:40:37 2013 Ethernet Channel Bonding Driver: v3.6.0 (2 September 6, 2009) Mod Ikatan: Slave Primer-Tolerance (Aktif-Backup): Tiada Hamba Aktif: ETH1 MII Status: Up Mii Polling Interval (MS): 100 Up Delay (MS): 0 Down Delay ( MS): 0 Hamba Antara Muka: ETH1 MII Status: Up Speed: Duplex Tidak Dikenal: Kegagalan Pautan Tidak Dikenal: 0 Tetap HW Addr: 00: 0C: 29: 57: 61: 8e ID Slave Gilir: 0 Hamba Antara Muka: ETH2 MII Status: Kelajuan Up: Dupleks Tidak Dikenal: Kegagalan Pautan Tidak Dikenal: 0 Tetap HW Addr: 00: 0C: 29: 57: 61: 98 ID Baris Hamba: 0

Catatan: Secara manual ke bawah dan naik hamba antara muka untuk memeriksa kerja Ikatan saluran. Sila lihat arahan seperti di bawah.

# ifconfig et1 down # ifconfig et1 up

Itu!