黑基网 首页 服务器 Linux 查看内容

Linux下双网卡(Bond)实现负载均衡和高可用性配置

2017-5-11 01:05| 投稿: xiaotiger| |来自: 互联网

摘要: Bonding简述:双网卡配置设置虚拟为一个网卡实现网卡的冗余,其中一个网卡坏掉后网络通信仍可正常使用,实现网卡层面的负载均衡和高可用性Bonding的原理:网卡工作在混杂(promisc)模式,接收到达网卡的所有数据包 ...

Bonding简述:

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

Bonding的原理:

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

Bonding的模式(mode)种类:

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

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

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

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

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

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

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

CentOS 6.X 系列实现配置:

1.网卡eth2配置如下,vi /etc/sysconfig/network-scripts/ifcfg-eth2

DEVICE=eth2

BOOTPROTO=none

ONBOOT=yes

MASTER=bond0

SLAVE=yes

USERCTL=no

NM_CONTROLLED=no

2.网卡eth3配置如下,vi /etc/sysconfig/network-scripts/ifcfg-eth3

DEVICE=eth3

BOOTPROTO=none

ONBOOT=yes

MASTER=bond0

SLAVE=yes

USERCTL=no

NM_CONTROLLED=no

3.建立虚拟网络接口配置文件 vi /etc/sysconfig/network-scripts/ifcfg-bond0,内容如下

DEVICE=bond0

IPADDR=192.168.4.105

NETMASK=255.255.255.0

ONBOOT=yes

BOOTPROTO=none

USERCTL=no

NM_CONTROLLED=no

BONDING_OPTS="mode=1 miimon=100"

4.查看bond0状态,cat /proc/net/bonding/bond0


作者简介:

AnyTopOne 是一个开源软件(Free and Open-Source Software) 爱好者,先后从事Linux系统管理、程序开发、大规模平台架构设计、团队管理等工作,从业经验13年有余,具有丰富的IT行业从业经验,喜欢与其大家干货经验分享与交流。

作者:AnyTopOne

本文由 AnyTopOne 原创编辑


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

相关分类

返回顶部