• Linux 网卡 team配置


    网卡 team配置

    一、介绍

    • 网络组将多个网卡聚合在一起,从而实现冗错和提高吞吐量
    • 网络组不同于旧版中bonding技术,提供更好的性能和扩展性
    • 网络组由内核驱动和teamd守护进程实现.

    启动网络组接口不会自动启动网络组中的port接口
    1)启动网络组接口中的port接口总会自动启动网络组接口
    2)禁用网络组接口会自动禁用网络组中的port接口
    3)没有port接口的网络组接口可以启动静态IP连接
    4)启用DHCP连接时,没有port接口的网络组会等待port接口的加入

    runner 方式:

    1.roundrobin 【mode 0】轮转策略 (balance-rr)

    特点:

    1)从头到尾顺序的在每一个slave接口上面发送数据包,轮询方式往每条链路发送报文,基于per packet方式发送。服务上ping 一个相同地址:1.1.1.1 双网卡的两个网卡都有流量发出。负载到两条链路上,说明是基于per packet方式 ,进行轮询发送。

    2)提供负载均衡和容错的能力,当有链路出问题,会把流量切换到正常的链路上。

    交换机端需要配置聚合口

    2.activebackup【mode 1】活动-备份(主备)策略

    特点:

    一个端口处于主状态 ,一个处于从状态,所有流量都在主链路上处理,从链路不会有任何流量。当主端口down掉时,从端口接手主状态。

    不需要交换机端支持

    3.loadbalance【mode 2】限定流量

    特点:

    该模式将限定流量,以保证到达特定对端的流量总是从同一个接口上发出。既然目的地是通过MAC地址来决定的,因此该模式在“本地”网络配置下可以工作得很好。

    如果所有流量是通过单个路由器(比如 “网关”型网络配置,只有一个网关时,源和目标mac都固定了,那么这个算法算出的线路就一直是同一条,那么这种模式就没有多少意义了。),那该模式就不是最好的选择。

    和balance-rr一样,交换机端口需要能配置为“port channel”。这模式是通过源和目标mac做hash因子来做xor算法来选路的。

    交换机端需要配置聚合口

    4.broadcast【mode 3】广播策略

    特点:

    这种模式一个报文会复制两份往bond下的两个接口分别发送出去,当有对端交换机失效,我们感觉不到任何downtime,但此法过于浪费资源;不过这种模式有很好的容错机制。

    此模式适用于金融行业,因为他们需要高可靠性的网络,不允许出现任何问题

    适用于拓扑,两个接口分别接入两台交换机,并且属于不同的vlan,当一边的网络出现故障不会影响服务器另一边接入的网络正常工作。而且故障过程是0丢包

    特点:

    802.3ad模式是IEEE标准,因此所有实现了802.3ad的对端都可以很好的互操作。802.3ad 协议包括聚合的自动配置,因此只需要很少的对交换机的手动配置(要指出的是,只有某些设备才能使用802.3ad)。802.3ad标准也要求帧按顺序(一定程度上)传递,因此通常单个连接不会看到包的乱序。

    缺点:

    标准要求所有设备在聚合操作时,要在同样的速率和双工模式,而且,和除了balance-rr模式外的其它bonding负载均衡模式一样,任何连接都不能使用多于一个接口的带宽。 此外,linux bonding的802.3ad实现通过对端来分发流量(通过MAC地址的XOR值),因此在“网关”型配置下,所有外出(Outgoing)流量将使用同一个设备。进入(Incoming)的流量也可能在同一个设备上终止,这依赖于对端802.3ad实现里的均衡策略。在“本地”型配置下,路两将通过 bond里的设备进行分发。

    应用拓扑同mode 0,和mode 2一样,不过这种模式除了配置port channel之外还要在port channel聚合口下开启LACP功能,成功协商后,两端可以正常通信。否则不能使用。

    二、 创建网络组team接口

    语法: nmcli con add type team con-name CNAME ifname INAME [config JSON]

    解释:CNAME 连接名, INAME 接口名 JSON 指定runner方式

    格式: '{"runner": {"name": "METHOD"}}'

    METHOD 可以是broadcast, roundrobin,activebackup, loadbalance, lacp

    准备环境:centos7系统 2块网卡:相同仅主机工作环境 (以下为ens33ens37网卡名称)

    nmcli connection add type team con-name team0 ifname team0 config
     {"runner":{"name":"activebackup"}} ipv4.method manual ipv4.addresses 192.168.32.100/24 connection.autoconnect yes
    

    三、创建port接口

    语法:nmcli connection add type team-slave con-name CNAME ifname INAME masterTEAM

    解释:CNAME 连接名 INAME 网络接口名(team0-ens33、team0-ens37) TEAM 网络组接口名(team0)

    注意:连接名若不指定,默认为team-slave-IFACE

    nmcli connection add con-name team0-ens33 type team-slave ifname ens33 master team0
    # 把 ens33网卡创建为 team0网络组的子接口
    nmcli connection add con-name team0-ens37 type team-slave ifname ens37 master team0
    # 把 ens37 网卡创建为 team0网络组的子接口
    

    四、启用team0下创建的两个子接口

    nmcli connection up team0-ens33
    nmcli connection up team0-ens37
    

    五、删除网络组team

    语法: 1、nmcli connection down team0

    2、teamdctl team0 state (查看当前网络组team主网卡 和热备网卡哪个在工作)

    3、nmcli connection delete team0-ens33 / nmcli connection delete team0-ens37

    4、nmcli connection show (查看网络组 删除后就看不到了)

    六、也可以:全手动配置team双网卡:

    vi /etc/sysconfig/network-scripts/team

    DEVICE=“team”
    DEVICETYPE=“Team”
    ONBOOT=“yes”
    BOOTPROTO=static
    NETMASK=255.255.255.0
    IPADDR=ip
    GATEWAY=网关
    TEAM_CONFIG=’{“runner”: {“name”: “activebackup”}}’
    

    vim /etc/sysconfig/network-scripts/ifcfg-em1 # 编辑文件ifcfg- em1

    DEVICE="em1“
    DEVICETYPE=“TeamPort”
    ONBOOT=“yes”
    TEAM_MASTER=“team”
    

    vim /etc/sysconfig/network-scripts/ifcfg-em2 # 编辑文件ifcfg- em2

    DEVICE=“em2”
    DEVICETYPE=“TeamPort”
    ONBOOT=“yes”
    TEAM_MASTER=“team”
    
  • 相关阅读:
    Idea中SpringBoot热部署搭建
    Redis 集群搭建
    centos7 vsftp搭建
    Centos 7 安装jdk
    Centos7 安装nginx
    Xshell 连接Linux
    python 的mysql 操作
    NIO/BIO
    java基础-3
    java基础-2
  • 原文地址:https://www.cnblogs.com/backups/p/linux_team.html
Copyright © 2020-2023  润新知