Chinaunix首页 | 论坛 | 博客
  • 博客访问: 166342
  • 博文数量: 60
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 617
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-24 10:59
文章分类

全部博文(60)

文章存档

2022年(2)

2020年(23)

2019年(1)

2010年(1)

2009年(33)

我的朋友

分类: LINUX

2020-04-05 14:39:34

家中的HP Microserver Gen10加装了一块LSI9270CV-8i阵列卡,4块3T硬盘组了个RAID5,安装了CentOS7系统作为NAS使用,一直以来都非常稳定。美中不足,这台机器没有配置万兆网卡,一个PCI-E X8插槽又被RAID卡霸占,另一个X1的插槽不堪重用。传输瓶颈在网卡这,要提高网络传输能力,在现有条件下唯有将2个千兆网口进行汇聚绑定,以下为整个操作记录:


注:以下采用负载均衡模式进行说明,交换机端口为普通配置

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


3. 将两个物理网卡加入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


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


5. 重新查看网络状态
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
=========================================

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

后续:
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台电脑同时传输数据时,两块网卡同时在传送数据,但以一块为主,超出部分才分给另一块网卡传输。数据传输稳定。

注:activebakupbroadcast未测试




相关资料
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模式工作。(注:这是首次测试时看到现象,之后测试未遇到,可能是配置问题,也可能交换机需要重启,此处仅记录)
阅读(4000) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~