一、前言

1、Infiniband网络

What is InfiniBand Network and the Difference with Ethernet?

Infiniband是一种高带宽、低延迟、高可靠性的开放标准网络互连技术,这项技术是由 IBTA (InfiniBand Trade Association)定义的,该技术在超级计算机集群领域得到了广泛的应用。

1.1、网络类型

Infiniband在物理层定义了多种链路速度,如x1链路、x4链路、x12链路,每个单独的链路都是四线串行差分连接(每个方向两根线),目前大多采用x4链路,当前Infiniband主流常见网络类型参考如下:

在这里插入图片描述

网络类型信号速率编码方式x1链路速率x4链路速率x12链路速率
SDR(Single Data Rate)2.5Gb/s8b/10b2Gb/s8Gb/s24Gb/s
DDR(Double Data Rate)5Gb/s8b/10b4Gb/s16Gb/s48Gb/s
QDR(Quad Data Rate)10Gb/s8b/10b8Gb/s32Gb/s96Gb/s
FDR(Fourteen Data Rate)14.0625Gb/s64b/66b13.64Gb/s54.54Gb/s163.64Gb/s
EDR(Ehanced Data Rate)25.78125Gb/s64b/66b25Gb/s100Gb/s300Gb/s
HDR(High Data Rate)50Gb/s64b/66b50Gb/s200Gb/s600Gb/s
NDR(Next Data Rate)100Gb/s64b/66b100Gb/s400Gb/s1200Gb/s

1.2、网络拓扑

Infiniband是处理器和I/O设备之间数据流的通信链路,支持多达64,000个可寻址设备。IBA(InfiniBand Architecture)是一个行业标准规范,它定义了一个点对点交换输入/输出框架,用于互连服务器、通信基础设施、存储设备和嵌入式系统。

Infiniband具有广泛性、低时延、高带宽和低管理成本等优点,是将多个数据流(集群、通信、存储、管理)在一个连接中连接数千个节点的理想选择。最小的IBA完整单元是一个子网(单个子网最大可由6万多个节点组成),多个子网通过路由器相互连接,形成一个大的IBA网络。子网内部使用交换机进行二层处理,子网之间使用路由器或网桥进行连接。

在这里插入图片描述

Infiniband是一种基于通道的结构,通道适配器就是搭建Infiniband通道使用的,所有传输均以通道适配器开始或结束,以确保安全或在给定的QoS(服务质量)级别下工作。其组成单元可以分为以下四类:

  • HCA(Host Channel Adapters):主机通道适配器
  • TCA(Target Channel Adapters):目标通道适配器
  • IB Link(Infiniband Link):Infiniband连接通道,包括连接头和线缆两部分,其中线缆可以是电缆或光纤
  • Switch/Router:Infiniband组网设备

infiniband architecture

1.3、硬件设备

1.3.1、网卡

高端网卡通常支持IB RDMA和ROCE两种,可以接入IB交换机或以太网交换机,具体支持情况需要根据产品规格进行确定。
网卡按照速率可分为QDR(40Gb)、EDR(100Gb)、HDR(200Gb)及NDR(400Gb)

1.3.2、连接线缆

连接线缆包括光模块和线缆两部分

a、光模块

The Big Differences Between SFP, SFP+, SFP28, QSFP+, QSFP28, QSFP-DD, and OSFP
Quickview about SFP, SFP+, SFP28, QSFP+, QSFP28, QSFP-DD and OSFP
sfp-vs-sfp-vs-sfp28-vs-qsfp-vs-qsfp28-vs-qsfp-dd-vs-osfp-differences

光模块在数据通信行业中起着关键的作用,SFP、SFP+、SFP28、QSFP+、QSFP28、QSFP56、QSFP-DD和OSFP是不同类型的光收发器。
它们都是可热插拔的网络接口模块,用于连接网络交换机和其他网络设备(如服务器)的数据传输,常见光模块类型参考如下:

光模块类型支持速率大小(mm2)兼容性线缆类型连接头
SFP100 Mb/s
1 Gb/s
113.9100 Mb/s SFP+Fiber、Twisted PairLC、RJ45
SFP+10 Gb/s113.91 Gb/s SFPFiber、Twisted Pair、DACLC、RJ45
SFP2825 Gb/s113.910 Gb/s SFP+Fiber、DACLC
SFP5650 Gb/s113.9SFP、SFP+、SFP28Fiber、DACLC
QSFP4 Gb/s156none
QSFP+40 Gb/s156noneFiber、DACLC、MTP/MPO
QSFP2850 Gb/s156QSFP+Fiber、DACLC
QSFP28100 Gb/s156noneFiber、DACLC、MTP/MPO-12
QSFP56200 Gb/s156noneFiber、DACLC、MTP/MPO-12
QSFP-DD400 Gb/s156QSFP+、QSFP28Fiber、DACLC、MTP/MPO-16
OSFP400 Gb/s
800 Gb/s
比QSFP略大noneFiber、DACLC、MTP/MPO-12
b、线缆

Infiniband网络中,使用的线缆区别于传统的以太网线缆和光纤线缆。针对不同的连接场景,需使用专用的InfiniBand线缆,可分为DAC高速铜缆、AOC有源线缆两种,两者材质不一(前者使用铜缆、后者使用光纤),AOC有源线缆价格要高于DAC高速铜缆
注:针对不同网络速率,QDR(40Gb)、EDR(100Gb)、HDR(200Gb)及NDR(400Gb)对应线缆有所不同,需要根据选定的IB交换机及网卡适配

1.3.4、交换机

Infiniband网络需使用专用的IB交换机

2、Ethernet网络

以太网(Ethernet)是由Xerox主导,并由Xerox、Intel、DEC联合开发的基带局域网规范标准,于1980年9月30日发布,是现有局域网所采用最通用的通信协议标准,通过电缆传输和接收数据。
以太网用于创建局域网并连接多台计算机或其他设备(如打印机、扫描仪等),在有线网络中通过光纤电缆完成,在无线网络中通过无线网络技术完成。
目前由IEEE主导的IEEE 802.3已发布100GE、200GE、400GE的以太网接口标准,常用的网络类型有以下几种

网络名称IEEE标准传输速率网络类型
Ethernet802.310 Mbps10Base-T
Fast Ethernet802.3u100 Mbps100Base-TX
100Base-FX
Gigabit Ethernet802.3z1000 Mbps1000Base-T
1000Base-SX
1000Base-LX
10 Gigabit EthernetIEEE 802.3ae10 Gbps10GBase-SR
10GBase-LX4
10GBase-LR/ER
10GBase-SW/LW/EW

二、部署实践(以太网)

1、Intel E810-XXVDA2

1.1、网卡信息

网卡介绍:英特尔® 以太网网络适配器 E810-XXVDA2

  • 网卡端口:双口(Dual-Port)
  • 网卡速率:25/10/1GbE
  • PCIe版本:16 GT/s(PCIe 4.0)
  • 插槽宽度:x8 lanes
  • 网卡控制器:Intel Ethernet Controller E810
  • 网卡驱动:ice
1.2、检查命令
  • 查看当前PCIe网卡列表:lspci | grep Eth
[root@node155 ~]# lspci | grep Eth
18:00.0 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01)
18:00.1 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01)
60:00.0 Ethernet controller: Intel Corporation Ethernet Connection X722 for 1GbE (rev 09)
60:00.1 Ethernet controller: Intel Corporation Ethernet Connection X722 for 1GbE (rev 09)
61:00.0 Ethernet controller: Intel Corporation Device 159b (rev 02)
61:00.1 Ethernet controller: Intel Corporation Device 159b (rev 02)
  • 查看当前PCIe网卡产品型号:lspci -vvv -s <pci-device-num> | grep "Product Name"
[root@node155 ~]# lspci -vvv -s 61:00.0 | grep "Product Name"
                Product Name: Intel(R) Ethernet Network Adapter E810-XXVDA2
  • 查看当前PCIe网卡速率:lspci -vvv -s<pci-device-num> | grep -E '(LnkCap:|LnkSta:)'
    注:LnkCap表示网卡理论的传输速率,LnkSta表示网卡实际的传输速率,当出现LnkSta < LnkCap情况时,网卡速率会大幅下降,通常为服务器PCIe插槽和网卡存在兼容性问题,尝试更换网卡或PCIe插槽解决
[root@node8 ~]# lspci -vvv -s 61:00.0 | grep -E '(LnkCap:|LnkSta:)'
                LnkCap: Port #0, Speed 16GT/s, Width x8, ASPM not supported, Exit Latency L0s unlimited, L1 <4us
                LnkSta: Speed 8GT/s, Width x4, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
1.2、驱动编译

驱动下载:Intel® Network Adapter Driver for E810 Series Devices under Linux*

wget https://downloadmirror.intel.com/789309/ice-1.12.7.tar.gz
  • 源码编译安装,加载ice网卡驱动模块
tar -zxvf ice-1.12.7.tar.gz
cd ice-1.12.7/src/
make install
modprobe ice
  • 查看网卡速率信息
[root@node8 src]# ethtool enp97s0f0
Settings for enp97s0f0:
        Supported ports: [ FIBRE ]
        Supported link modes:   1000baseT/Full
                                25000baseCR/Full
                                25000baseSR/Full
                                1000baseX/Full
                                10000baseCR/Full
                                10000baseSR/Full
                                10000baseLR/Full
        Supported pause frame use: Symmetric
        Supports auto-negotiation: No
        Supported FEC modes: None
        Advertised link modes:  25000baseSR/Full
                                10000baseSR/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Advertised FEC modes: None BaseR RS
        Speed: 25000Mb/s
        Duplex: Full
        Port: FIBRE
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: off
        Supports Wake-on: d
        Wake-on: d
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: yes

2、Mellanox MCX456A-ECAT [ConnectX-4]

环境信息
100G双口网卡 Mellanox MCX456A-ECAT
100G以太网DAC线缆(3米) Mellanox MCP1600-C003

2.1、网卡信息

NVIDIA ConnectX InfiniBand网卡介绍
NVIDIA ConnectX-4 InfiniBand/Ethernet Adapter Cards User Manual

  • 网卡端口:双口(Dual-port QSFP28)
  • 网卡速率:InfiniBand: SDR/DDR/QDR/FDR/EDREthernet: 10/25/40/50/100 Gb/s
  • PCIe版本:8.0GT/s(PCIe 3.0)
  • 插槽宽度:x16 lanes
  • 网卡驱动:mlx5_core
1.2、检查命令
  • 查看当前PCIe网卡列表:lspci | grep Eth
[root@node176 ~]# lspci | grep Eth
0000:01:00.0 Ethernet controller: Mellanox Technologies MT27700 Family [ConnectX-4]
0000:01:00.1 Ethernet controller: Mellanox Technologies MT27700 Family [ConnectX-4]
0001:06:00.0 Ethernet controller: Beijing Wangxun Technology Co., Ltd. WX1860A2 Gigabit Ethernet Controller (rev 01)
0001:06:00.1 Ethernet controller: Beijing Wangxun Technology Co., Ltd. WX1860A2 Gigabit Ethernet Controller (rev 01)
  • 查看当前PCIe网卡速率:lspci -vvv -s<pci-device-num> | grep -E '(LnkCap:|LnkSta:)'
    注:LnkCap表示网卡理论的传输速率,LnkSta表示网卡实际的传输速率,当出现LnkSta < LnkCap情况时,网卡速率会大幅下降,通常为服务器PCIe插槽和网卡存在兼容性问题,尝试更换网卡或PCIe插槽解决
[root@node176 ~]# lspci -vvv -s 0000:01:00.0 | grep -E '(LnkCap:|LnkSta:)'
                LnkCap: Port #0, Speed 8GT/s, Width x16, ASPM not supported
                LnkSta: Speed 8GT/s, Width x16
1.2、驱动安装

驱动下载:Intel® Network Adapter Driver for E810 Series Devices under Linux*

  • 根据当前操作系统版本及硬件架构,选择下载对应驱动软件包(MLNX_OFED_LINUX-5.8-4.1.5.0-rhel8.2-aarch64.tgz)

在这里插入图片描述

  • 对于主流发行系统版本,在不升级默认内核版本情况下,mlnx_ofed提供了预构建RPM包,直接执行驱动软件安装即可
tar -zxvf MLNX_OFED_LINUX-5.8-4.1.5.0-rhel8.2-aarch64.tgz
cd MLNX_OFED_LINUX-5.8-4.1.5.0-rhel8.2-aarch64/
./mlnxofedinstall
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐