Linux网卡Teaming绑定配置及状态查看指令详解 |
您所在的位置:网站首页 › 查看服务器状态命令 › Linux网卡Teaming绑定配置及状态查看指令详解 |
对服务器来说,将多个网卡绑定(链路聚合)是一个很常见的需求,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、进入系统,查看服务器网卡配置情况。 如上图所示,共有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 3、查看状态,使用teamdctl命令进行验证 4、检测发现状态都正常。 5、如果需要尝试换成roundrobin模式,则可以进入team0和team1的配置文件,修改模式为roundrobin,其他配置不变。 提示:在做网卡绑定的时候,如果发现物理网卡总是无法绑定到team0,请检查该物理网卡是否处于up状态。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |