Linux物理網路卡bonding

mengbing1990發表於2014-09-01

 

Linux伺服器上一般有多個NIC網路卡,Linux系統提供一種技術,可以將多個網路卡bonding成一個邏輯bonded的網路卡,統一提供服務。(Linux bonding- involves bonding two or more physical network interface cards into a single logical “bonded” interface,下文用“虛擬網路卡”這個詞來代替 logical “bonded” interface),這樣做可以為高可用性提供冗餘,也可以提高系統頻寬效能。

在ACTIVE/BACKUP配置模式下,一般只有一個網路卡處於工作狀態,其他作為備份和故障轉移用,工作網路卡出現故障後備份的網路卡會起來工作,如此可以避免出現單點故障,提高系統的可用性。而在ACTIVE/ACTIVE配置模式下,所有的網路卡都處於工作狀態,這樣可以提高系統頻寬。


以將網路卡eth0和eth1 bonding成虛擬網路卡bond0為例,簡單說明下配置網路卡Bonding的過程中的幾個步驟:

1.建立虛擬網路卡的配置檔案

每個真實網路卡都有自己的配置檔案,虛擬網路卡也需要自己的配置檔案

vi /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0

IPADDR=192.168.56.120

NETWORK=192.168.56.0

NETMASK=255.255.255.0

USERCTL=no

BOOTPROTO=none

ONBOOT=yes

 

2.修改eth0/eth1的配置檔案vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

USERCTL=no

ONBOOT=yes

MASTER=bond0

SLAVE=yes

BOOTPROTO=none

 

vi /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

USERCTL=no

ONBOOT=yes

MASTER=bond0

SLAVE=yes

BOOTPROTO=none

 

3. 修改vi /etc/modprobe.conf

 

alias bond0 bonding

options bond0 mode=1 miimon=100

Note:NIC bonding的模式有7種,根據實際情況選擇對應的模式

#defineBOND_MODE_ROUNDROBIN 0 balance-rr模式)網路卡的負載均衡模式

#defineBOND_MODE_ACTIVEBACKUP 1 active-backup模式)網路卡的容錯模式

#defineBOND_MODE_XOR 2 balance-xor模式)需要交換機支援

#defineBOND_MODE_BROADCAST 3 broadcast模式)

#defineBOND_MODE_8023AD 4 IEEE 802.3ad動態鏈路聚合模式)需要交換機支援

#defineBOND_MODE_TLB 5 自適應傳輸負載均衡模式

#defineBOND_MODE_ALB 6 網路卡虛擬化方式

 

4. 在rc.local 新增一行記錄

vi /etc/rc.d/rc.local

ifenslave bond0 eth0 eth1

 

5.重啟網路服務使其生效

 

service network start/stop/restart

 

使用ifconfig –a命令輸出可以看到bond0, eth0,eth1的MAC地址是一樣的

bond0 Link encap:Ethernet  HWaddr 00:C0:F0:1F:37:B4

          inet addr:XXX.XXX.XXX.YYY  Bcast:XXX.XXX.XXX.255  Mask:255.255.252.0

          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1

          RX packets:7224794 errors:0 dropped:0 overruns:0 frame:0

          TX packets:3286647 errors:1 dropped:0 overruns:1 carrier:0

          collisions:0 txqueuelen:0

 

eth1   Link encap:Ethernet  HWaddr 00:C0:F0:1F:37:B4

          inet addr:XXX.XXX.XXX.YYY  Bcast:XXX.XXX.XXX.255  Mask:255.255.252.0

          UP BROADCAST RUNNING NOARP SLAVE MULTICAST  MTU:1500  Metric:1

          RX packets:3573025 errors:0 dropped:0 overruns:0 frame:0

          TX packets:1643167 errors:1 dropped:0 overruns:1 carrier:0

          collisions:0 txqueuelen:100

          Interrupt:10 Base address:0x1080

eth2   Link encap:Ethernet  HWaddr 00:C0:F0:1F:37:B4

          inet addr:XXX.XXX.XXX.YYY  Bcast:XXX.XXX.XXX.255  Mask:255.255.252.0

          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1

          RX packets:3651769 errors:0 dropped:0 overruns:0 frame:0

          TX packets:1643480 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:100

          Interrupt:9 Base address:0x1400

其中bond0顯示為MASTER, eth0/eth1顯示為 SLAVE, 而NOAPP SLAVE對應的eth1網路卡是當前工作網路卡。

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21754115/viewspace-1259897/,如需轉載,請註明出處,否則將追究法律責任。

相關文章