綁定雙網卡實現網卡負載均衡
阿新 • • 發佈:2018-07-09
img 網絡 交換 efi top n 虛擬網卡 驅動 linux內核 信息 生產環境的機器都要求必須提供7x24小時的網絡傳輸服務,為了確保網卡出現故障不影響業務,我們可以對兩塊網卡實施綁定技術,不僅可以提升網絡傳輸的速度,而且一塊網卡出現故障,另外一塊網卡便會立即頂替上去,保證網絡傳輸不會中斷。
首先確定機器上是否有兩張網卡
第一步:修改兩塊網卡的配置文件,使其支持綁定
我們需要對兩塊網卡進行“初始設置”,需要將其配置成“從屬”網卡,服務於“主”網卡,不應該再有自己的IP地址等信息。建議在修改配置之前,先將兩塊網卡的配置文件備份一份。 Mode0(平衡負載模式):平時兩塊網卡均工作,且自動備援,但需要在交換機上進行端口聚合來支持綁定技術。
Mode1(自動備援模式):平時只有一塊網卡工作,在它故障後備用網卡自動替換上去工作。
Mode6(平衡負載模式):平時兩塊網卡均工作,且自動備援,無須交換機提供輔助支持。
創建網卡綁定的驅動文件,使得綁定後的bond0網卡能夠支持綁定技術(bonding);同時定義網卡以mode6模式進行綁定,且出現故障時自動切換的時間為100毫秒。
首先確定機器上是否有兩張網卡
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。
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網卡正在提供服務。
綁定雙網卡實現網卡負載均衡