Linux Sistemlerinde Ethernet Kanalı Bağlantısı, diğer adıyla NIC Ekip Oluşturma


Ethernet Kanalı Bağlantısı, iki veya daha fazla Ağ Arayüzü Kartının (NIC) tek bir sanal NIC karta bağlanmasını sağlar; bu durum artabilir bant genişliğini artırır ve NIC Kartlarının yedeklenmesini sağlar. Bu, üretim sisteminde yedekli bağlantılar, hata toleransı veya yük dengeleme ağları elde etmenin harika bir yoludur. Fiziksel bir NIC kapalıysa veya fişi çıkarılmışsa, kaynakları otomatik olarak diğer NIC kartına taşıyacaktır. Kanal/NIC bağlama, Çekirdek'teki bağlama sürücüsünün yardımıyla çalışacaktır. Aynısını göstermek için iki NIC kullanacağız.

Neredeyse altı türde Kanal Bağlantısı türü mevcuttur. Burada sadece popüler ve yaygın olarak kullanılan iki tür Kanal Tahvilini inceleyeceğiz.

  1. 0: Yük dengeleme (Yuvarlak Birleştirme): Trafik, her iki NIC'den de sıralı sırayla veya bir kez deneme tarzında iletilir. Bu mod yük dengeleme ve hata toleransı sağlar.
  2. 1: Aktif Yedekleme : Herhangi bir zamanda yalnızca bir ikincil NIC etkindir. Diğer Arayüz Kartı yalnızca aktif yedek NIC arızalanırsa aktif olacaktır.

Ethernet Kanalı Bağlantısı Oluşturma

İki Ağ Ethernet Kartımız var, yani eth1 ve eth2; burada bond0 birleştirme amacıyla oluşturulacak. Aşağıdaki komutları yürütmek için ayrıcalıklı süper kullanıcıya ihtiyacınız var.

Yük Dengeleme (Round-Robin)

Eth1'i yapılandırın

Aşağıda gösterildiği gibi yapılandırma dosyasında MASTER bond0 ve eth1 arayüz parametresini SLAVE olarak belirtin.

vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
TYPE=Ethernet
ONBOOT="yes"
BOOTPROTO="none"
USERCTL=no
MASTER=bond0
SLAVE=yes
Eth2'yi yapılandırın

Burada ayrıca MASTER bond0 parametresini ve eth2 arayüzünü SLAVE olarak belirtin.

vi /etc/sysconfig/network-scripts/ifcfg-eth2
DEVICE="eth2"
TYPE="Ethernet"
ONBOOT="yes"
USERCTL=no
#NM_CONTROLLED=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
Bond0 Yapılandırması Oluştur

bond0 oluşturun ve "/etc/sysconfig/network-scripts/" dizininde ifcfg-bond0 adlı Kanal bağlama arayüzünü yapılandırın.

Aşağıda örnek bir kanal bağlama yapılandırma dosyası bulunmaktadır.

vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
ONBOOT=yes
IPADDR=192.168.246.130
NETMASK=255.255.255.0
BONDING_OPTS="mode=0 miimon=100"

Not: Yukarıdaki yapılandırmada Bağlama Seçeneklerini mode=0, yani Round-robin ve miimon=100 olarak seçtik. (Yoklama aralıkları 100 ms).

Hem “eth1” hem de “eth2 arayüzlerini MASTER olarak çalıştıran “bond0”ı gösteren ifconfig komutu kullanılarak oluşturulan arayüzleri görelim. Strong>” SLAVES olarak çalışıyor.

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 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:17374 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16060 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1231555 (1.1 MiB)  TX bytes:1622391 (1.5 MiB)

eth1      Link encap:Ethernet  HWaddr 00:0C:29:57:61:8E
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:16989 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8072 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1196931 (1.1 MiB)  TX bytes:819042 (799.8 KiB)
          Interrupt:19 Base address:0x2000

eth2      Link encap:Ethernet  HWaddr 00:0C:29:57:61:8E
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:385 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7989 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:34624 (33.8 KiB)  TX bytes:803583 (784.7 KiB)
          Interrupt:19 Base address:0x2080

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:480 (480.0 b)  TX bytes:480 (480.0 b)

Ağ hizmetini yeniden başlatın ve arayüzler iyi durumda olmalıdır.

service network restart
Shutting down interface bond0:                             [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface bond0:                               [  OK  ]

Tahvilin durumu kontrol ediliyor.

watch -n .1 cat /proc/net/bonding/bond0
Örnek Çıktı

Aşağıdaki çıktı, Bağ Modu'nun Yük Dengeleme (RR) ve eth1 & eth2 olduğunu gösterir > ortaya çıkıyor.

Every 0.1s: cat /proc/net/bonding/bond0                         Thu Sep 12 14:08:47 2013 

Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)

Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth1
MII Status: up
Speed: Unknown
Duplex: Unknown
Link Failure Count: 2
Permanent HW addr: 00:0c:29:57:61:8e
Slave queue ID: 0

Slave Interface: eth2
MII Status: up
Speed: Unknown
Duplex: Unknown
Link Failure Count: 2
Permanent HW addr: 00:0c:29:57:61:98
Slave queue ID: 0

Aktif Yedekleme Oluştur

Bu senaryoda Bağlı arayüzleri aynı kalır. ifcfg-bond0 bağ arayüzünde '0' yerine yalnızca tek bir değişiklik olacak ve aşağıda gösterildiği gibi '1' olacak .

vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
ONBOOT=yes
IPADDR=192.168.246.130
NETMASK=255.255.255.0
BONDING_OPTS="mode=1 miimon=100"

Ağ hizmetini yeniden başlatın ve bağlanma durumunu kontrol edin.

service network restart
Shutting down interface bond0:                             [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface bond0:                               [  OK  ]

Komut ile bağın durumu kontrol ediliyor.

watch -n .1 cat /proc/net/bonding/bond0
Örnek Çıktı

Bağlama Modu hata toleransı gösteriyor (aktif yedekleme) ve Bağımlı Arayüzü çalışıyor.

Every 0.1s: cat /proc/n...  Thu Sep 12 14:40:37 2013

Ethernet Channel Bonding Driver: v3.6.0 (September 2
6, 2009)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth1
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth1
MII Status: up
Speed: Unknown
Duplex: Unknown
Link Failure Count: 0
Permanent HW addr: 00:0c:29:57:61:8e
Slave queue ID: 0

Slave Interface: eth2
MII Status: up
Speed: Unknown
Duplex: Unknown
Link Failure Count: 0
Permanent HW addr: 00:0c:29:57:61:98
Slave queue ID: 0

Not: Kanal Bağlama'nın çalışmasını kontrol etmek için Yardımcı Arayüzleri manuel olarak aşağı ve yukarı. Lütfen aşağıdaki komuta bakın.

ifconfig eth1 down
ifconfig eth1 up

Bu kadar!