通过双网卡绑定可以实现网络设备的冗余,减少因为网卡故障对服务器带来的灾难

下图是我做实验的机器:

 

 1.修改/etc/modprobe.conf使系统启动时加载bonding模块

  

   /etc/modprobe.conf里加入如下两行:

alias bond0 bonding

options bond0 mode=1 miimon=100 use_carrier=0

 

第一行的意思是:启动bond0这个设备的时候,就加载bonding这个模块

第二行的mode1代表是主备模式,实现冗余,mode0代表负载均衡模式。当然还有其他的模式,不过都不常用,miimon100意思是每100毫秒坚持线路一次。use_carrier的意思就是指定检查线路的方式,默认是1,这种模式需要网卡驱动支持内核的netif_carrier_ok()这个函数,我们为了增加通用性,在这里把它设为了0,设为0之后,就会采用mii-tool或者ethtool这两个工具来检测,就不用管内核支持不支持那个函数了,      

 

   截图如下:

2.现在开始修改网卡的配置文件:

     进入/etc/sysconfig/network-scripts这个目录

     创建bond0这个虚拟的网络设备,新建ifcfg -bond0,并加入以下内容:

DEVICE=bond0

BOOTPROTO=none

ONBOOT=yes

NETMASK=255.255.255.0

IPADDR=192.168.0.88

GATEWAY=192.168.0.254

注意:红色部分要根据具体情况进行设置。

BOOTPROTO这行的none也可以写成static

   截图如下:

下一步就是把想要实现冗余的两块网卡加入到bond0这个网络设备下

 修改ifcfg-eth0

     首先就是把跟bond0的设置冲突的给删除掉或者注释掉。

     一定不能我忘记的就是把网卡MAC这行给注释掉。

     然后加入:

MASTER=bond0

 

SLAVE=yes

 

     截图如下:

   ifcfg-eth1也作如上修改,截图如下:

   重启机器,我们在另外一台机器上ping192.168.0.88,我们把掉上面的集成网卡上的网线,发现依旧能ping通,我们把网卡再插上,拔掉下面的独立网卡上的网线,发现还是能ping通。

 

     我们现在把网卡设置为负载均衡模式:

 

     /etc/modprobe.conf里面的mode=1改为mode=0,重启电脑,然后开两个终端,分别运行watch ifconfig eth0watch ifconfig eth1这个命令来监视两个网卡的信息,刚开始的时候,截图如下:

 

   分别看倒数第二行,可知道第一块网卡接收了大约86K的数据,第二块网卡接收了大约31K的数据。

        我现在开始下载一个大约170MB的东西,下载完之后,截图如下:

   这次可以看到:两块网卡都接收了大概96M多的数据。

 

     这就是负载均衡,如果是主备模式下,你会发现平时之后有一块网卡走数据。