一起学Teaming和Bonding

  • 一.初步了解bonding和Teaming:
    • 1.bonding简介:
    • 2.Teaming简介:
      • 两种绑定模式:
    • 3. 应用
  • 二.bonding技术Teaming技术实现双网卡绑定
    • 1.bonding技术实现双网卡绑定
    • 2.Teaming技术实现双网卡绑定
    • 3.补充bonding的七种模式

一.初步了解bonding和Teaming:

1.bonding简介:

​ bonding技术是一种允许将多个物理以太网接口绑定成单一的虚拟接口,同时增加数据带宽并且提供故障切换的技术,是网卡层面的一种高可用方案。

2.Teaming简介:

​ teaming技术就是把同一台服务器上的多个物理网卡通过软件绑定成一个虚拟的网卡,对于外部网络而言,这台服务器只有一个可见的网卡。对于任何应用程序,以及本服务器所在的网络,这台服务器只有一个网络链接或者说只有一个可以访问的IP地址。

​ 利用Teaming 技术,除了利用多网卡同时工作来提高网络速度以外,还有可以通过Teaming实现不同网卡之间负载均衡和网卡冗余。

两种绑定模式:
  1. activebackup - 主备模式:一个网卡处于活动状态,另一个处于备份状态,所有流量都在主链路上处理,当活动网卡down掉时,启用备份网卡。
  2. **roundrobin - 轮询模式:**所有链路处于负载均衡状态,这种模式的特点增加了带宽,同时支持容错能力。

3. 应用

在RHEL5和RHEL6中使用的是Bonding。

在RHEL7中新引入Teaming,但是Bonding技术也是可用的。

二.bonding技术Teaming技术实现双网卡绑定

实验前准备:

  1. 在虚拟机上添加两块网卡

  2. 查看是否加载了bonding模块,若没有则加载后在进行实验。

[root@fei ~]# lsmod |grep bonding              #发现没有加载
[root@fei ~]# modprobe --first-time bonding    #手动加载
[root@fei ~]# lsmod |grep bonding
bonding               132885  0

1.bonding技术实现双网卡绑定

实验用centos6。

实验前关闭NetworkManager

[root@fei ~]# service NetworkManager stop
[root@fei ~]# service NetworkManager status
NetworkManager 已停
  1. 创建bond0网卡配置文件
[root@fei ~]# vim /etc/sysconfig/network-scripts/ifcfg-bond0
TYPE="bond"
BOOTPROTO="none"
NAME="bond0"
DEVICE="bond0"
IPADDR="192.168.126.130"     #ip
NETMASK="255.255.255.0"      #掩码
GATEWAY="192.168.126.2"      #网关
DNS1="8.8.8.8"               #DNS
DNS2="223.5.5.5"
ONBOOT="yes"                 #自动加载
BONDING_OPTS="mode=0 miimon=100"           #若是在centos7中则不用再此处添加在/etc/modprobe.d/bonding.conf(后边有补充)
  1. 编辑两块网卡配置文件,设置主从关系
etho和eth1两个配置文件[root@fei network-scripts]# cat ifcfg-eth0
TYPE="Ethernet"
BOOTPROTO="none"
NAME="eth0"
DEVICE="eth0"
MASTER="bond0"
SLAVE="yes"
ONBOOT="yes"[root@fei network-scripts]# cat ifcfg-eth1
TYPE="Ethernet"
BOOTPROTO="none"
NAME="eth1"
DEVICE="eth1"
MASTER="bond0"
SLAVE="yes"
ONBOOT="yes"
  1. 创建bond文件,并设置冗余模式(这一步为后来添加,如果在centos7上设置则要添加这一步,centos6直接到上一步就结束,可以重启了)
[root@fei modprobe.d]# vim /etc/modprobe.d/bonding.conf
alias bond0 binding
options bond0 miimon=100 mode=1
  1. 重启机器
[root@fei ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host loinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000link/ether 00:0c:29:71:d4:6b brd ff:ff:ff:ff:ff:ff
3: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP qlen 1000link/ether 00:0c:29:71:d4:6b brd ff:ff:ff:ff:ff:ff
4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP link/ether 00:0c:29:71:d4:6b brd ff:ff:ff:ff:ff:ffinet 192.168.126.130/24 brd 192.168.126.255 scope global bond0inet6 fe80::20c:29ff:fe71:d46b/64 scope link tentative dadfailed valid_lft forever preferred_lft forever#此时ip已经绑定在了bond上

2.Teaming技术实现双网卡绑定

实验用centos7,以activebackup模式为实验

实验前确保有两个网卡,并且全部启动:启动命令: ifconfig 网卡名 up

  1. 创建虚拟网卡team0
[root@fei-7 ~]# nmcli connection add type team ifname team0 con-name team0 config '{"runner":{"name":"activebackup"}}'
Connection 'team0' (d2900fd4-c483-46c4-b57e-da3b7dfce923) successfully added.[root@fei-7 ~]# nmcli con show                           #查看当前网卡信息
NAME   UUID                                  TYPE      DEVICE
ens32  115e380c-3736-4282-b8fe-d24d6e70d88e  ethernet  ens32
ens34  43f06f2b-5117-3220-ba95-9fca48e1ea99  ethernet  ens34
team0  d2900fd4-c483-46c4-b57e-da3b7dfce923  team      team0
  1. 绑定物理网卡
[root@fei-7 ~]#  nmcli connection add type team-slave ifname ens32 con-name team0-ens32 master team0
Connection 'team0-ens32' (0acd9e03-9d51-4bc9-b655-7fa77eec7e54) successfully added.#绑定ens32
[root@fei-7 ~]#  nmcli connection add type team-slave ifname ens34 con-name team0-ens34 master team0
Connection 'team0-ens34' (ad1234e5-0010-4064-bc63-befa2d787ad0) successfully added.#绑定ens34[root@fei-7 ~]# nmcli con show
NAME         UUID                                  TYPE      DEVICE
ens32        115e380c-3736-4282-b8fe-d24d6e70d88e  ethernet  ens32
ens34        43f06f2b-5117-3220-ba95-9fca48e1ea99  ethernet  ens34
team0        d2900fd4-c483-46c4-b57e-da3b7dfce923  team      team0
team0-ens32  0acd9e03-9d51-4bc9-b655-7fa77eec7e54  ethernet  --
team0-ens34  ad1234e5-0010-4064-bc63-befa2d787ad0  ethernet  --
  1. 给team0配置ip
[root@fei-7 ~]# nmcli conn mod team0 ipv4.addresses "192.168.126.130/24"   #添加ip
[root@fei-7 ~]# nmcli conn mod team0 ipv4.gateway "192.168.126.2"          #添加网关
[root@fei-7 ~]# nmcli conn mod team0 ipv4.dns "8.8.8.8"                    #添加DNS
[root@fei-7 ~]# nmcli connection modify team0 ipv4.method manual
[root@fei-7 ~]# nmcli conn reload
[root@fei-7 ~]# nmcli conn up team0
  1. 配置完成重启机器就好
  2. 查看状态
[root@shisan ~]# teamdctl team0 state          #此时teaming中添加了两个网卡
setup:runner: activebackup
ports:ens32link watches:link summary: upinstance[link_watch_0]:name: ethtoollink: updown count: 0ens34link watches:link summary: upinstance[link_watch_0]:name: ethtoollink: updown count: 0
runner:active port: ens32
  1. 测试一下
  • 断开ens32
[root@shisan ~]# nmcli device disconnect ens32
[root@shisan ~]# teamdctl team0 state       #此时teaming中只有ens34
setup:runner: activebackup
ports:ens34link watches:link summary: upinstance[link_watch_0]:name: ethtoollink: updown count: 0
runner:active port: ens34
  • 再启动
[root@shisan ~]# nmcli device connect ens32
[root@shisan ~]# teamdctl team0 state        #再次启动ens32teaming中有两个ip
setup:runner: activebackup
ports:ens32link watches:link summary: upinstance[link_watch_0]:name: ethtoollink: updown count: 0ens34link watches:link summary: upinstance[link_watch_0]:name: ethtoollink: updown count: 0
runner:active port: ens32

到此 teaming绑定双网卡完成,实现了网卡的高可用,提高健壮性。

3.补充bonding的七种模式

  1. mode=0(balance-rr):
    mode=0具有负载均衡和容错的能力。采用Round Robin方式,依次有第一个slave网卡至最后一个slave网卡来传送数据包,每一块slave网卡都在轮流进行工作。如果其中一个slave网卡故障失效,整机的网络通信可以正常运转。需要上联交换机进行配置支持。
  2. mode=1(active-backup):
    mode=1模式下,同一时间只有一个网卡在工作,其他的网卡不工作。当当前的slave网卡故障失效后,其他的slave网卡开始接替工作。
    mode=1模式下,不需要上联交换机进行配置支持。
  3. mode=2(balance-xor):
    本模式下,既具备负载平衡功能,也具备容错功能。需要上联交换机进行配置支持。
  4. mode=3(broadcast):
    所有slave网卡都会接收和发送数据包,本模式主要提供容错能力,任一张slave网卡故障失效,整机的网络通信仍可正常运转。需要上联交换机进行配置支持。
  5. mode=4(802.3ad):
    802.3ad是正式的交换机连接聚合技术,需要交换机本身支持802.3ad,而本机网卡也需要支持ethtool
  6. mode=5(balance-tlb):
    该模式下,是根据每个slave网卡的负载情况选择slave网卡进行发送,接收时使用当前轮到的slave。该模式要求slave接口的网络设备驱动有某种ethtool支持;而且ARP监控不可用。该种模式不需要上联交换机做特殊的配置支持。如果正在接受数据的slave出故障了,另一个slave网卡会接管MAC地址。
  7. mode=6(balance-alb):
    该模式是在mode=5的tlb基础上增加了rlb(接收负载均衡receiveload balance)。不需要上联交换机做特殊配置支持。接收负载均衡是通过ARP协商实现的。

Teaming和Bonding实现双网卡绑定一起来看。相关推荐

  1. RedHat 7配置bonding双网卡绑定

    redhat 7虽然新增了teaming技术支持双网卡绑定,但bonding技术依然可以沿用,本文测试的是bond的绑定方式.为了避免冲突,建议关闭NetworkManager:systemctl s ...

  2. Linux下双网卡绑定(bonding技术)

    Linux网卡绑定探析 2013-08-20 15:39:31 现在很多服务器都自带双千兆网口,利用网卡绑定既能增加网络带宽,同时又能做相应的冗余,目前应用于很多的场景.linux操作系统下自带的网卡 ...

  3. linux 双网卡绑定(bonding)实现负载均衡或故障转移

    linux 双网卡绑定(bonding)实现负载均衡或故障转移 我们在这介绍的Linux双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是 ...

  4. ROS 内外网做双网卡绑定负载分流教程bonding 配置教程

    导读: ROS软路由如果带机数量比较多,对网卡的负载能力要求就越高!特别是内网网卡,另一方面如果ROS内网网卡出来故障马上就会断网! 如...     ROS软路由如果带机数量比较多,对网卡的负载能力 ...

  5. bond的主备模式_号外号外:Redhat7通过bond技术实现双网卡绑定

    说明:redhat 7虽然新增了teaming技术支持双网卡绑定,但bonding技术依然可以沿用,本文测试的是bond的绑定方式.为了避免冲突,建议关闭NetworkManager:systemct ...

  6. Centos7 / RHEL 7 双网卡绑定

    1. 简要     双网卡绑定技术在centos7中使用了teaming技术,而在rhel6/centos7中使用的是bonding技术,     在centos7中双网卡绑定既能使用teaming也 ...

  7. bond解除 centos7_Centos7 / RHEL 7 双网卡绑定

    1. 简要 双网卡绑定技术在centos7中使用了teaming技术,而在rhel6/centos7中使用的是bonding技术, 在centos7中双网卡绑定既能使用teaming也可以使用bond ...

  8. Linux 双网卡绑定测试

    Linux 双网卡绑定测试 先介绍一下情况,服务器A和服务器B都是CentOS 4.6的系统,现在要做HA Cluster,为了避免裂脑的发生,要提高心跳链路的可靠性,下图是现时的连接情况,服务器A的 ...

  9. linux双网卡绑定实现冗余与负载均衡

    linux双网卡绑定实现冗余与负载均衡 1 编辑/etc/modprobe.conf   在/etc/modprobe.conf里加入如下两行: alias bond0 bonding options ...

最新文章

  1. 页面刷新vuex数据消失问题解决方案
  2. 电脑出现qtwebengineprocess.exe停止报警_FANUC报警号,不用再翻书本了。
  3. oracle中substrb用法,oracle中substr和instr的用法
  4. Oracle中dmp/dmpdp导出,imp/impdp导入
  5. Excel develop
  6. vue.js入门环境搭建
  7. python生成json接口_基于python的Flask框架写json接口并且结合eolinker进行接口测试
  8. 应用层安全协议Kerberos
  9. 【Android】用MediaRecorder录制视频太短崩的问题
  10. JavaScript--闭包的理解
  11. 解决WIN10家庭版无法远程桌面连接的问题
  12. 高数篇:03罗尔定理
  13. JVM——垃圾回收算法
  14. 在计算机中 汉字系统把一个汉字表示为,计算机问题汉字系统在计算机内把一个汉字表示 – 手机爱问...
  15. Android Paint的使用详解
  16. 踩坑记之6666端口
  17. 2 软件测试生命周期,软测试常见面试题-简述一下软件缺陷的生命周期
  18. NVIDIA GTC主题演讲内容学习<4>
  19. Simple Gestures on Android
  20. 一篇文章让你入门【MySQL】

热门文章

  1. Ubuntu新硬盘分区并挂载
  2. 用matlab的数据绘图,[精品]MATLAB常用数据绘图示例 -工程
  3. 百家号申请转正未通过?为什么
  4. 本年度最佳春联提前出炉:
  5. HTTP中的POST和PUT有什么区别?
  6. 平面设计中的孟菲斯风格!广州协众信息
  7. 云从谋攻AI:上策自救、中策自保、下策对战
  8. MSP430F448IPZR微处理器
  9. 【ubuntu】linux新建用户并分组,分配权限
  10. 蓝牙耳机什么牌子的好?便宜好用的蓝牙耳机推荐