linux bond網絡配置
當linux系統上有多個單獨網卡,又想充分利用這些網卡,同時對外提供一個統一的網絡地址,以使得增大網絡的吞吐量,同時也提高網絡的可用性,這時就需要bond來幫助我們解決這個問題。linux中bond感覺有點帶有bound和bind的意思,從字面意義上,就可以看出bond的作用是聚合多個東西,組合成一個統一的東西使用。
bond的配置在很簡單,但是配置不好,很容易造成嚴重的網絡問題。bonding功能是linux內核就自帶了,因此,通常不需要安裝它,只需要把bonding模塊加載到內核裡即可。
如下是配置bond網卡的步驟。配置需求是有兩個網卡eth0和etho1,把它們倆bonding到一起,產生一個新的bond0。
一、配置ifcfg-bond0
在/etc/sysconfig/network-scripts目錄下生成一個文件ifcfg-bond0,配置如下:
Bond代碼
DEVICE="bond0"
USERCTL=no
ONBOOT="yes"
BOOTPROTO=none
NETWORK=192.168.198.0
NETMASK=255.255.255.0
GATEWAY=192.168.198.254
IPADDR=192.168.198.44
BONDING_OPTS="miimon=100 mode=6 primary=eth0"
最後一行BONDING_OPTS是bonding功能的選項,這些可選參數可以在這步配,也可以在第三步配。關於相關參數,請查閱文獻2。
二、配置ifcfg-eth0和ifcfg-eth1
修改該目錄下的ifcfg-eth0和ifcfg-eth1文件,配置如下:
ifcfg-eth0:
Conf代碼
DEVICE="eth0"
USERCTL=no
ONBOOT="yes"
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
ifcfg-eth1:
Conf代碼
DEVICE="eth1"
USERCTL=no
ONBOOT="yes"
MASTER=bond0
SLAVE=YES
BOOTPROTO=none
三、啟動bonding服務
在/etc/modprobe.d/目錄下新建一個bonding.conf文件,配置如下:
Shell代碼
alias bond0 bonding
該文件可以配置多行bonding,也可以配置一些可選參數,可選參數的配置方式如下:options bond0 mode=balance-alb miimon=100
然後給配置linux內核加載bond模塊,執行如下命令:
Shell代碼
modprobe bonding
service network restart
當network 服務重啟成功後,這說明bond配置已經生效,bond0端口已經配置完成,可以cat /proc/net/bonding/bond0看bond0端口的狀態信息。如果在一台機器再配置一個bond1,配置步驟完全相同。
當執行service network restart重啟失敗時,首先得先檢查是否配置正確。如果正確,那麼在network重啟之前,必須首先關掉NetworkManager服務,即執行命令/etc/init.d/NetworkManager stop。