1. 程式人生 > >綁定雙網卡實現網卡負載均衡

綁定雙網卡實現網卡負載均衡

img 網絡 交換 efi top n 虛擬網卡 驅動 linux內核 信息

生產環境的機器都要求必須提供7x24小時的網絡傳輸服務,為了確保網卡出現故障不影響業務,我們可以對兩塊網卡實施綁定技術,不僅可以提升網絡傳輸的速度,而且一塊網卡出現故障,另外一塊網卡便會立即頂替上去,保證網絡傳輸不會中斷。
首先確定機器上是否有兩張網卡
ifconfig
技術分享圖片
第一步:修改兩塊網卡的配置文件,使其支持綁定
我們需要對兩塊網卡進行“初始設置”,需要將其配置成“從屬”網卡,服務於“主”網卡,不應該再有自己的IP地址等信息。建議在修改配置之前,先將兩塊網卡的配置文件備份一份。

vim /etc/sysconfig/network-scripts/ifcfg-ens32
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
DEVICE=ens32
USERCTL=no   //是否允許普通用戶控制此網卡,no為不允許
MASTER=bond0   //綁定後的主網卡名稱,此為虛擬網卡
SLAVE=yes   //開啟從屬網卡
vim /etc/sysconfig/network-scripts/ifcfg-ens34
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
DEVICE=ens34
MASTER=bond0
SLAVE=yes

第二步:修改主網卡(虛擬網卡)bond0的配置文件,直接創建ifcfg-bond0文件

vim /etc/sysconfig/network-scripts/ifcfg-bond0
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
DEVICE=bond0
IPADDR=192.168.2.211
PREFIX=24
GATEWAY=192.168.2.1
DNS1=180.168.255.118
DNS2=114.114.114.114
NM_CONTROLLED=no

第三步:讓Linux內核支持網卡綁定驅動。
常見的網卡綁定驅動有三種模式,mode0、mode1和mode6。

Mode0(平衡負載模式):平時兩塊網卡均工作,且自動備援,但需要在交換機上進行端口聚合來支持綁定技術。
Mode1(自動備援模式):平時只有一塊網卡工作,在它故障後備用網卡自動替換上去工作。
Mode6(平衡負載模式):平時兩塊網卡均工作,且自動備援,無須交換機提供輔助支持。
創建網卡綁定的驅動文件,使得綁定後的bond0網卡能夠支持綁定技術(bonding);同時定義網卡以mode6模式進行綁定,且出現故障時自動切換的時間為100毫秒。

vim /etc/modprobe.d/bond.conf
alias bond0 bonding
options bond0 miimon=100 mode=6

第四步:重啟網絡服務,正常情況下只有bond0網卡設備有IP地址等信息。

systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl restart network

這裏需要先關閉NetworkManager,再重啟network,否則會報下圖中錯誤
技術分享圖片
使用ifconfig命令查看一下網卡狀態,發現bond0和ens32的mac地址是相同的。
技術分享圖片
第五步:測試
在本地執行ping 192.168.2.211 -t命令,然後移除掉ens32網卡後,發現只有1個數據丟包。此時再執行ifconfig命令查看狀態,發現ens34和bond0的mac地址一樣了,此時ens34網卡正在提供服務。
技術分享圖片

綁定雙網卡實現網卡負載均衡