配置CentOS 6網卡bonding
將多塊網卡綁定至同一IP上,這在物理上是不可能實現的,因此需要虛擬出一個網卡,由它來提供服務,原本的物理網卡都統一修改為虛擬網卡的MAC,這種技術叫做Bonding,虛擬出來的網卡默認名依次為bond0,1...。Bonding可以實現高可用和負載均衡。
一、創建Bond
提前在虛擬機中添加3塊網卡(個數自定義)
之後我們使用ifconfig命令查看三塊網卡的狀態信息,由於我在虛擬機中開啟dhcp,所以是三塊網卡會有不同的IP,我們要重點的關註的是這三塊網卡的MAC,他們是不一樣。
其實bonding是由內核加載的模塊提供的功能,為了確實能使用bonding,我們需要先查看內核是否已經加載bonding模塊,大部分都會默認開機加載。
接下來就正常的修改網卡的配置文件,不過稍微有點不同
創建/etc/sysconfig/network-scripts/ifcfg-eth1、ifcfg-eth2、ifcfg-eth3、ifcfg-bond0,這些文件默認不會自己添加,因此需要我們手動添加;
編輯文件ifcfg-bond0,說一下最後一行的參數:miimon是網卡間傳遞數據的間隔,mode是bonding的模式,bonding有7中工作模式;
編輯文件ifcfg-eth1,2,3。三個網卡的內容類似,為了減少繁瑣的重復工作,自己編寫了腳本自動配置三個網卡的配置文件。
#!/bin/bash read -p "please input ethX " i # 輸入要修改的網卡,只需輸入1、2、3數字即可 cat << EOF > /etc/sysconfig/network-scripts/ifcfg-eth$i DEVICE=eth$i MASTER=bond0 SLAVE=yes EOF
重啟網絡服務,查看結果
/etc/init.d/NetworkManager stop # centos6建議將該服務關閉,很煩人。
/etc/init.d/network restart
可以看到那三塊網卡之前的IP都不見了,並且他們的MAC都和bond0的一樣。
二、修改Bond
只需要修改ifcfg-bond0的配置文件,這裏我將mode選項修改2,重啟網絡服務之後,查看結果
三、刪除Bond
關閉bond0,然後將他的配置文件ifcfg-bond0刪除,最後把bonding模塊移除即可
ifdown bond0
rm -f /etc/sysconfig/network-scripts/ifcfg-bond0
rmmod bonding
重啟網絡服務查看結果
配置CentOS 6網卡bonding