1. 程式人生 > >Linux下Bond技術實現平衡負載

Linux下Bond技術實現平衡負載

bond0 雙網卡 熱備 高速度

問題介紹

一般企業內用於提供NFS服務、samba服務或者vsftpd服務時,要求系統必須提供7*24小時的網絡傳輸服務。它所能提供的最大網絡傳輸速度為100MB/s,但是當訪問的用戶數量特別多時,服務器的訪問壓力非常大,網絡傳輸速率特別慢。

解決方法

因此我們可以采用bond技術實現多網卡的負載均衡來保障網絡的自動備援和負載均衡。以此保障實際運維工作中網絡的可靠性、文件高速率傳輸性。

網卡綁定mode共有七種(0~6): bond0、bond1、bond2、bond3、bond4、bond5、bond6。
常見的網卡綁定驅動有以下三種模式:

  • mode0 平衡負載模式: 平時兩塊網卡工作,且自動備援,但需要在服務器本機網卡相連的交換機設備上進行端口聚合來支持綁定技術;
  • mode1 自動備援技術: 平時只有一塊網卡工作,在它故障後自動替換為另外的網卡;
  • mode6 平衡負載模式: 平時兩塊網卡均工作,且自動備援,無須交換機設備提供輔助支持;

這裏主要詳細介紹下mode6網卡綁定驅動模式,因為該模式能夠讓兩塊網卡同時一起工作,當其中一塊網卡出現故障後能自動備援,且無需交換機設備的支援,從而保障可靠的網絡傳輸保障。

以下在VMware虛擬機下RHEL 7中進行網卡的bond技術綁定操作

  1. 在虛擬機系統中再添加一塊網卡設備,並設置兩塊網卡都在同一個網絡連接模式中,如下圖所示,處於該模式的網卡設備才可以進行網卡的綁定,否則這兩塊網卡無法相互傳送數據。
    技術分享圖片
    技術分享圖片
    技術分享圖片

  2. 配置網卡設備的綁定參數,這裏需要註意此時獨立的網卡需要被配置成為一塊“從屬”的網卡,服務於“主”網卡,不應該再有自己的IP地址。在進行如下的初始化設備後,它們就可以支持網卡綁定了。
    cd /etc/sysconfig/network-scripts/               #進入網卡文件的目錄下
vim ifcfg-eno16777728               #編輯網卡1配置文件

TYPE=Ethernet
BOOTPROTO=none
DEVICE=eno16777728
ONBOOT=yes
HWADDR=00:0C:29:E2:25:2D
USERCTL=no
MASTER=bond0
SLAVE=yes

 vim ifcfg-eno33554968               #編輯網卡2配置文件

TYPE=Ethernet
BOOTPROTO=none
DEVICE=eno33554968
ONBOOT=yes
HWADDR=00:0C:29:E2:25:2D
MASTER=bond0
SLAVE=yes

  1. 新建網卡設備文件ifcfg-bond0,並配置IP地址等信息,這樣子當用戶訪問相應服務的時候,就是由這兩塊網卡設備在共同提供服務了。
vim ifcfg-bond0               #當前目錄下新建ifcfg-bond0配置文件

TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
DEVICE=bond0
IPADDR=192.168.100.5
PREFIX=24
DNS=192.168.100.1
NM_CONTROLLED=no

  1. 修改網卡綁定驅動模式,這裏我們使用mode6(平衡負載模式)
vim /etc/modprobe.d/bond.conf               #配置網卡綁定驅動的模式

alias bond0 bonding
options bond0 miimon=100 mode=6

  1. 重啟網絡服務,使配置生效

systemctl restart network

  1. 測試
    技術分享圖片

Linux下Bond技術實現平衡負載