Linux雙網路卡聚合改造

woshishui11211發表於2014-03-18

Linux雙網路卡聚合改造

一、      環境和需求

Linux主機只有一塊網路卡接到交換機上,為了消除交換機的單點,新增一臺交換機,Linux主機端新接一塊網路卡到新交換機上,對這兩塊網路卡做聚合達到目的。

 

二、      物理連線

使用網線連線新增交換機和新網路卡

 

三、      停應用

對網路卡做聚合改造,會造成網路中斷,為了消除對生產的影響,建議停止應用後再做改造

 

四、      網路聚合改造

1)         /etc/modprobe.conf檔案新增以下內容

# vi /etc/modprobe.conf

alias bond0 bonding

options bond0 mode=1 miimon=100 use_carrier=0

 

說明:

miimon=100,那麼系統每100ms 監測一次鏈路連線狀態,如果有一條線路不通就轉入另一條線路;

mode 的值表示工作模式:

mode=0 表示為負載均衡方式,兩塊網路卡都工作。

mode=1 表示提供冗餘功能,工作方式是主備的工作方式

 

2)         建立虛擬網路卡配置檔案

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

DEVICE=bond0

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.0.215

USERCTL=no

NETMASK=255.255.255.0

NETWORK=192.168.0.0

BROADCAST=192.168.0.255

GATEWAY=192.168.0.1

TYPE=Ethernet

其中IPADDR=192.168.0.215是原網路卡的IP地址

 

3)         更改原有網路卡屬性

#vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=none

USERCTL=no

MASTER=bond0

SLAVE=yes

HWADDR=00:0C:29:38:37:23

 

4)         更改新增網路卡屬性

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

DEVICE=eth1

ONBOOT=yes

BOOTPROTO=none

USERCTL=no

MASTER=bond0

SLAVE=yes

HWADDR=00:0c:29:38:37:2d

 

 

 

 

5)         用命令 /etc/rc.d/init.d/network restart 重新啟動網路子系統,也可以重新啟動系統來使 bond0生效。

# /etc/rc.d/init.d/network restart

Shutting down interface bond0:  [  OK  ]

Shutting down loopback interface:  [  OK  ]

Bringing up loopback interface:  [  OK  ]

Bringing up interface bond0:  [  OK  ]

 

重啟網路的時候,對IPPING測試,中間有丟包,後續又恢復通訊

 

clip_image001

 

 

檢查IP地址:

# ifconfig

bond0     Link encap:Ethernet  HWaddr 00:0C:29:38:37:23 

          inet addr:192.168.0.214  Bcast:192.168.0.255  Mask:255.255.255.0

          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1

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

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

          collisions:0 txqueuelen:0

          RX bytes:3857250 (3.6 MiB)  TX bytes:394142 (384.9 KiB)

 

eth0      Link encap:Ethernet  HWaddr 00:0C:29:38:37:23 

          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1

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

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

          collisions:0 txqueuelen:1000

          RX bytes:2121514 (2.0 MiB)  TX bytes:385269 (376.2 KiB)

 

eth1      Link encap:Ethernet  HWaddr 00:0C:29:38:37:23 

          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1

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

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

          collisions:0 txqueuelen:1000

          RX bytes:1735736 (1.6 MiB)  TX bytes:8873 (8.6 KiB)

 

lo        Link encap:Local Loopback 

          inet addr:127.0.0.1  Mask:255.0.0.0

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

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

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

          collisions:0 txqueuelen:0

          RX bytes:4201832 (4.0 MiB)  TX bytes:4201832 (4.0 MiB)

 

# cat /proc/net/bonding/bond0

Ethernet Channel Bonding Driver: v3.4.0-1 (October 7, 2008)

 

Bonding Mode: fault-tolerance (active-backup)

Primary Slave: None

Currently Active Slave: eth2

MII Status: up

MII Polling Interval (ms): 100

Up Delay (ms): 0

Down Delay (ms): 0

 

Slave Interface: eth2

MII Status: up

Speed: 100 Mbps

Duplex: full

Link Failure Count: 1

Permanent HW addr: b8:ca:3a:f9:6b:33

 

Slave Interface: eth3

MII Status: down

Speed: 100 Mbps

Duplex: full

Link Failure Count: 2

Permanent HW addr: b8:ca:3a:f9:6b:34

 

6)         設定成聚合開機自啟動

# vi /etc/rc.d/rc.local

ifenslave bond0 eth0 eth1

 

7)         網路卡切換測試

eth0網路卡網線,檢視是否會自動切到eth1網路卡上,檢查丟包情況

使用cat /proc/net/bonding/bond0 命令檢視

切到eth1網路卡上

 

接回eth0網線,不會自動切回到eth0上,除非拔出 eth1網路卡

clip_image002

 

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

相關文章