天天看點

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

将多個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    ***

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正确啟動:servicenetwork restart

确認裝置已經正确加載:less /proc/net/bonding/bond0

列出所有網口:ifconfig

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

<a href="http://blog.51cto.com/search/result?q=linux%E7%BD%91%E7%BB%9C" target="_blank">本文轉自 80後小菜鳥 51CTO部落格,原文連結:http://blog.51cto.com/zhangxinqi/1930456</a>

繼續閱讀