1. 程式人生 > >linux多網卡綁定聚合——bond技術

linux多網卡綁定聚合——bond技術

mon -- 但是 設置 adc 物理 slave driver 重啟

將多個

Linux

網絡端口綁定為一個,可以提升網絡的性能,比如對於備份服務器,需要在一

個晚上備份幾個

T

的數據,

如果使用單個的千兆網口將會是很嚴重的瓶頸。

其它的應用,

ftp

服務器,高負載的下載網站

,

都有類似的問題。因此使用

Linux

teaming

bond

來綁

定多個網卡作為一個邏輯網口,配置單個的

IP

地址,會大幅提升服務器的網絡吞吐

(I/O)

Linux

的多網卡綁定功能使用的是內核中的

"bonding"

模塊,關於此模塊可以參考

Linux

Ethernet Bonding Driver

文檔

,

但是目前發布各個

Linux

版本內核均已包含了此模塊,大多數

情況下不需要重新編譯內核。

Linux

bonding

驅動提供了綁定

/

集成

(bond)

多個網卡為一

個虛擬邏輯網口的功能。並請註意綁定的網口

(bonded)

有多種工作模式

;

一般來說,分為熱

後備

(hot standby)

和負載均衡

(load balancing).

Redhat/Fedora

和其它類

Redhat Linux

中是

比較容易配置的。

將多個Linux網絡端口綁定為一個,可以提升網絡的性能,比如對於備份服務器,需要在一個晚上備份幾個T的數據,如果使用單個的千兆網口將會是很嚴重的瓶頸。其它的應用,比如ftp服務器,高負載的下載網站, 都有類似的問題。因此使用Linux teaming或bond來綁定多個網卡作為一個邏輯網口,配置單個的IP地址,會大幅提升服務器的網絡吞吐(I/O)。

Linux的多網卡綁定功能使用的是內核中的"bonding"模塊,關於此模塊可以參考Linux Ethernet Bonding Driver文檔, 但是目前發布各個Linux版本內核均已包含了此模塊,大多數情況下不需要重新編譯內核。 Linux 的 bonding 驅動提供了綁定/集成(bond)多個網卡為一個虛擬邏輯網口的功能。並請註意綁定的網口(bonded)有多種工作模式; 一般來說,分為熱後備(hot standby) 和負載均衡(load balancing). 在Redhat/Fedora和其它類Redhat Linux中是比較容易配置的。

1.創建bond0配置文件

vi /etc/sysconfig/network-scripts/ifcfg-bond0  
DEVICE=bond0  --物理設備名字 
IPADDR=192.168.1.1 --IP地址 
NETMASK=255.255.255.0 --子網掩碼 
NETWORK=192.168.1.0 --所屬子網 
BROADCAST=192.168.1.255 --廣播地址 
GATEWAY=192.168.1.254 --網關 
ONBOOT=yes --隨機啟動 
BOOTPROTO=none  
USERCTL=no --是否允許非root用戶控制該設備

2.修改被綁定的eth0和eth1的配置文件

vi /etc/sysconfig/network-scripts/ifcfg-eth0  
DEVICE=eth0  
USERCTL=no  
ONBOOT=yes  
MASTER=bond0    
*** SLAVE=yes    
*** BOOTPROTO=none  
HWADDR=00:15:17:CC:FC:35

eth1的配置文件與之相同,只是device的值改為eth1即可。

3.裝在bond模塊驅動

編輯/etc/modprobe.conf或者/etc/modules.conf文件,加入如下內容,使系統啟動時加載bonding模塊驅動

alias bond0 bonding  
option bond0 miimon=100 mode=1

說明:

1).miimon=100 用來進行鏈路監測的。即每100ms監測一次鏈路狀態。bonding只監測主機與交換機之間鏈路。如果交換機出去的鏈路出問題而本身沒有問題,那麽bonding認為鏈路沒有問題而繼續使用。

2).mode=1 表示提供冗余功能。除此之外還可以為0、2、3,共四種模式。0表示負載均衡

4.在/etc/rc.d/rc.local文件中加入如下語句,使得系統啟動自動運行

ifenslave bond0 eth0 eth1

route add -net 192.168.1.254 netmask 255.255.255.0 bond0 #如有需要才加該路由

5.檢測、驗證配置

首先執行命令裝載bonding模塊:modprobe bonding

重啟網絡服務,並確認bond0正確啟動:service network restart 確認設備已經正確加載:less /proc/net/bonding/bond0 列出所有網口:ifconfig

至此,bond 的設置就基本結束了

linux多網卡綁定聚合——bond技術