阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

RedHat7.3下的网卡Teaming绑定

147次阅读
没有评论

共计 2352 个字符,预计需要花费 6 分钟才能阅读完成。

对服务器来说,将多个网卡绑定 (链路聚合) 是一个很常见的需求,Linux 在比较早期的版本 kernel 里就支持 bonding 这个功能,通过 bonding 可以将多个以太网口的网络连接聚合起来,一方面可以提供更大的网络带宽,另一方面还可以提供更好的可靠性和端口冗余保障。

Bonding 的配置有 7 种模式(从 bond0 到 bond6),分别提供不同的收发包方式和端口冗余机制,对上联交换机配置和网卡也有不同的要求,需要根据不同的应用场景来选择使用。

常用的有三种:
mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。
mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。
mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。

Bonding 接口的故障切换机制有两种,一种称为 MII monitor,也就是只监控端口的状态,另一种是 ARP monitor,也就是通过发送 arp 的方式来测试网络连接状态。MII monitor 方式比较简单,但是存在状态检测不准确的问题,比如对于光口网卡来说,如果收发的两条光纤出现其中一条中断的情况,对于收光正常,发光断掉的网卡来说,就不能检测到链路状态的变化了。ARP monitor 的方式则采用发送 arp query 看有没有收到 arp reply 的方式来测试 IP 连通性,还可以配置多个 Target 来进行测试,相比 MII monitor 来说检测结果更准确。

在 rhel6/CentOS6 中使用的是 bonding 技术双网卡绑定技术,而在 rhel7.3 中使用了 teaming 技术,其实在 rhel7.3 中双网卡绑定既能使用 teaming 也可以使用 bonding,这里推荐使用 teaming 技术,方便与查看和监控。

Teaming 功能主要由 kernel 里的 team driver、用来作为通讯接口的 libteam lib 和 userspace 的 teamd 三部分组成,teaming 也支持不同的工作模式,相比 bonding 来说少了 balance-xor 和 balance-alb 这两种模式的支持,其中的 balance-xor 完全可以通过 lacp 代替,另外一种 balance-alb 功能据说以后 teaming 也会支持。
broadcast (data is transmitted over all ports)

roundrobin (data is transmitted over all ports in turn)

activebackup (one port or link is used while others are kept as a backup)

loadbalance (with active Tx load balancing and BPF-based Tx port selectors)

lacp (implements the 802.3ad Link Aggregation Control Protocol)

实质上 teaming 的目的就是要把网卡绑定的功能从 kernel 里搬出来,把这些功能放到 userspace 来解决,保持 kernel 的简洁,让它只做 kernel 应该做的事情。

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

下面以 activebackup – 主备模式为例来做下示例配置:

1、进入系统,查看服务器网卡配置情况。

RedHat7.3 下的网卡 Teaming 绑定

如上图所示,共有 ens3 及 ens8 两块网卡共 4 个端口。决定为两个网段分别配置双网卡绑定,业务网绑定 ens3f0 和 ens8f0 两个端口,私网绑定 ens3f1 和 ens8f1 两个端口。
2、我们可以使用 nmcli 命令进行网卡绑定,具体命令如下:
配置业务网主接口 team0,设置模式为 activebackup
nmcli con add type team con-name team0 ifname team0 config‘{“runner”: {“name”:”activebackup”}}’
设置 IP 地址,子网掩码,网关
nmcli con mod team0 ipv4.addresses 11.11.205.145/28ipv4.gateway 11.11.205.158 ipv4.method manual connectio.autoconnect yes
添加绑定到 team0 的端口 ens3f0
nmcli con add type team-slave con-name team0-port1 ifname ens3f0 master team0
添加绑定到 team0 的端口 ens8f0
nmcli con add type team-slave con-name team0-port2 ifname ens8f0 master team0
重新载入连接配置
nmcli con reload
启动 team0
nmcli con up team0

RedHat7.3 下的网卡 Teaming 绑定

3、查看状态,使用 teamdctl 命令进行验证

RedHat7.3 下的网卡 Teaming 绑定

4、检测发现状态都正常。

5、如果需要尝试换成 roundrobin 模式,则可以进入 team0 和 team1 的配置文件,修改模式为 roundrobin,其他配置不变。

提示:在做网卡绑定的时候,如果发现物理网卡总是无法绑定到 team0,请检查该物理网卡是否处于 up 状态。

更多 RedHat 相关信息见RedHat 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=10

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-07/145395.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2352字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中