Linux配置双网卡绑定实现负载均衡和高可用性配置

来源:互联网 发布:java applet简单例子 编辑:程序博客网 时间:2024/05/15 23:48

1. Bonding简述

双网卡配置设置虚拟为一个网卡实现网卡的冗余,其中一个网卡坏掉后网络通信仍可正常使用,实现网卡层面的负载均衡和高可用性

1.1 Bonding原理

网卡工作在混杂(promisc)模式,接收到达网卡的所有数据包,tcpdump工作用的也是混杂模式(promisc),将两块网卡的MAC地址修改为相同接收特定MAC的数据帧,然后把相应的数据帧传送给bond驱动程序进行处理。

1.2 Bonding模式

  • 轮询策略,值为0,按照设备顺序依次传输数据包,提供负载均衡和容错能力

  • 主备策略,值为1,只有主网卡处于工作状态,备网卡处于备用状态,主网卡坏掉后备网卡开始工作,提供容错能力

  • 异或策略,值为2,根据源MAC地址和目的MAC地址进行异或计算的结果来选择传输设备,提供负载均衡和容错能力

  • 广播策略,值为3,将所有数据包传输给所有接口通过全部设备来传输所有数据,一个报文会复制两份通过bond下的两个网卡分别发送出去,提供高容错能力

  • 动态链接聚合,值为4,按照802.3ad协议的聚合自动配置来共享相同的传输速度,网卡带宽最高可以翻倍,链路聚合控制协议(LACP)自动通知交换机聚合哪些端口,需要交换机支持 802.3ad协议,提供容错能力

  • 输出负载均衡模式,值为5,输出负载均衡模式,只有输出实现负载均衡,输入数据时则只选定其中一块网卡接收,需要网卡和驱动支持ethtool命令

  • 输入/输出负载均衡模式,值为6,输入和输出都实现负载均衡,需要网卡和驱动支持ethtool命令

2. 配置步骤

1. 进入网卡配置目录

# cd /etc/sysconfig/network-scripts

2. 创建双网卡绑定配置文件

# vi ifcfg-bond0DEVICE=bond0BOOTPROTO=noneIPADDR=192.168.1.3NETMASK=255.255.255.0#GATEWAY=192.168.1.254ONBOOT=yesUSERCTL=noMOCK=yesNM_Cmock=noBONDING_OPTS="mode=1 miimon=100"

3. 修改绑定网卡

建议:在网卡绑定前,先对先前的网卡配置信息进行备份

  • 修改网卡1配置
# vi ifcfg-em1DEVICE=em1BOOTPROTO=noneONBOOT=yesTYPE=EthemetUSERCTL=noMASTER=bond0SLAVE=yes  
  • 修改网卡2配置
# vi ifcfg-em2DEVICE=em2BOOTPROTO=noneONBOOT=yesTYPE=EthemetUSERCTL=noMASTER=bond0SLAVE=yes 

4. 配置modprobe参数

注意:redhat6 以后没有了modprobe.conf这个配置文件。

vi /etc/modprobe.d/dist.confalias bond0 bonding-- options bond0中mode=1表示的是网卡互备options bond0 mode=1 miimon=50 

5. 关闭网络管理程序

# service  NetworkManager stop # chkconfig NetworkManager off 

6. 重启网络

说明:如果重启网络后不能ping通网络, 需要重启一下机器。

# service network restart

7. 查看当前使用网卡信息

# cat /proc/net/bonding/bond0
阅读全文
0 0
原创粉丝点击