CentOS8多网卡TEAM配置

Lear 2024-07-09 14:10:35
Categories: Tags:
  1. 查的当前计算机网卡状态
    nmcli connection show
    ====================================================================
    NAME UUID TYPE DEVICE
    enp2s0f0 149f58aa-9e9d-4c94-b2b5-49c53b2b442e ethernet enp2s0f0
    enp2s0f0 6887c1b9-0c31-43b8-ac4c-f84ca7f1db44 ethernet enp2s0f1
    ====================================================================
    例:这台计算机的两块网卡分别为:enp2s0f0 、enp2s0f1

  2. 创建team网口,配置网络参数
    nmcli connection add type team con-name team0 ifname team0 config ‘{“runner”:{“name”:”loadbalance”}}’
    nmcli connection modify team0 ipv4.addresses ‘192.168.1.10/24’ ipv4.gateway ‘192.168.1.1’ ipv4.dns ‘192.168.1.1’ ipv4.method manual

    nmcli connection modify team0 ipv4.addresses “192.168.1.10/24”
    nmcli connection modify team0 ipv4.gateway “192.168.1.1”
    nmcli connection modify team0 ipv4.dns “192.168.1.1”
    nmcli connection modify team0 ipv4.method manual

nmcli connection modify team0 connection.autoconnect yes

注:此处以loadbalance模式为例,需要其他模式可修改“loadbalance”为其他,可选:
broadcast、activebackup、roundrobin、loadbalance、lacp(各选项的说明见文后)

  1. 将两个物理网卡加入team网口
    nmcli connection add type team-slave con-name team0-port1 ifname enp2s0f0 master team0
    nmcli connection add type team-slave con-name team0-port2 ifname enp2s0f1 master team0
    x

  2. 重新加载网络配置
    nmcli connection reload
    systemctl restart network

  3. 重新查看网络状态
    nmcli connection show
    ====================================================================
    NAME UUID TYPE DEVICE
    team0 74ef7a4b-1736-4f16-a4ed-7b4dbac1881a team team0
    team0-port1 149f58aa-9e9d-4c94-b2b5-49c53b2b442e ethernet enp2s0f0
    team0-port2 6887c1b9-0c31-43b8-ac4c-f84ca7f1db44 ethernet enp2s0f1
    ====================================================================
    注:如看到网络端口没启来(DEVICE列为空),可采用以下命令激活
    nmcli connection up team0
    nmcli connection up team0-port1
    nmcli connection up team0-port2

6.查看team口状态
teamdctl team0 state
\ =========================================
setup:
runner: loadbalance
ports:
enp2s0f0
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 1
enp2s0f1
link watches:
link summary: up
instance[link_watch_0]:
name: ethtool
link: up
down count: 1
=========================================

nmcli device status

ethtool team0

  1. 测试网络状态
    轮流拔掉一根网络,看看丢包状况,没有问题说明成功。
    网络性能目前没有测试(家中只有一台单网卡的电脑,待以后测好补上数据)

后续:
2020-5-10:
我的另一台双网卡的电脑到货,在Win10下用Intel的管理程序绑了一个负载均衡,测试一下与HP Microserver Gen10的传输速度。测试结果令人失望,到了100MB/秒就上不去了,查找解决问题记录如下:
查找问题1:在Gen10上,运行iptraf-ng,然后往Gen10复制文件,查看Gen10所有网卡的传输情况。发现物理网卡中只有一块在传输数据,另一块在偷懒。
解决问题1:将绑定模式由loadbalance改为roundrobin。重新用iptraf-ng监控,此时可以看到两块网卡都在传输数据,但win10电脑与Gen10之间的传输速度最高仍为100MB/秒,检查重心转移到win10电脑上。

2020-5-16:
今日有空,再次测试,结果如下:
两台电脑,都为千兆网卡,同时从GEN10复制数据,各模式下的情况:

GEN10网卡绑定模式模式:roundrobin
GEN10:无论是1台电脑还是2台电脑传输数据,两块网卡都同时在传送数据。
两台电脑都能达到约100MB/秒的千兆网卡的最高传输速度,但不是很稳定。

GEN10网卡绑定模式模式:loadbalance
GEN10:无论是1台电脑还是2台电脑传输数据,只有一块网卡在传送数据。
两台电脑传输速度加起来才达到约100MB/秒的速度,数据传输较为稳定。

GEN10网卡绑定模式模式:LACP(交换机处设置两个端口为LACP)
GEN10:当1台电脑传输数据时,只有一块网卡在传送数据,当2台电脑同时传输数据时,两块网卡同时在传送数据,但以一块为主,超出部分才分给另一块网卡传输。数据传输稳定。

注:activebakup、broadcast未测试

相关资料

  1. 参考网址:https://www.cnblogs.com/blogscc/p/11492975.html、https://www.cnblogs.com/fatt/p/7364886.html

  2. linux聚合有6种模式
    除lacp模式外,其他模式不需要对交换机端口作特殊配置
    (1) broadcast 传输来自所有端口的包
    (2) roundrobin 以轮循的方式传输所有端口的包
    (3) activebakup 这是一个故障迁移程序,监控链接更改并选择活动的端口进行传输
    (4) loadbalance 监控流量并使用哈希函数以尝试在选择传输端口的时候达到完美均衡
    (5) lacp 实施802.3ad 链路聚合协议,可以使用与 loadbalance 运行程序相同的传输端口选择的可能性(交换机端口需要配置为lacp模式)

  3. linux下的网卡聚合除teamd外还有较传统的bond

  4. 配合NETGEAR GS108Tv1交换机,在2个端口上配置LAG,使用LACP模式工作的情况
    虽然可以聚合,但聚合速度非常慢,拔掉一根网线等改变当前网络拓扑后需要好几分钟才能重新恢复网络连接,失去了实用性。不知是个案还是普遍现像,不建议使用NETGEAR GS108Tv1交换机应用LACP模式工作。(注:这是首次测试时看到现象,之后测试未遇到,可能是配置问题,也可能交换机需要重启,此处仅记录)