當前位置:才華齋>計算機>作業系統>

Linux網絡卡聚合linux多網絡卡繫結聚合之bond模式的原理是什麼

作業系統 閱讀(2.87W)

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

Linux網絡卡聚合linux多網絡卡繫結聚合之bond模式的原理是什麼

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= --IP地址

NETMASK= --子網掩碼

GATEWAY= --閘道器

DNS= --DNS

ONBOOT=yes --隨機啟動

NAME=bond0

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/或者/etc/檔案,加入如下內容,使系統啟動時載入bonding模組驅動

alias bond0 bonding

option bond0 miimon=100 mode=1

說明:

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

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

4.在/etc/rc.d/l檔案中加入如下語句,使得系統啟動自動執行

ifenslave bond0 eth0 eth1

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

5.檢測、驗證配置

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

重啟網路服務,並確認bond0正確啟動:service network restart

確認裝置已經正確載入:less /proc/net/bonding/bond0

列出所有網口:ifconfig

至此,bond技術的使用過程的設定就基本結束了,謝謝閱讀,希望能幫到大家,請繼續關注,我們會努力分享更多優秀的文章。