文章目录
一、前言
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/s | 8b/10b | 2Gb/s | 8Gb/s | 24Gb/s |
DDR(Double Data Rate) | 5Gb/s | 8b/10b | 4Gb/s | 16Gb/s | 48Gb/s |
QDR(Quad Data Rate) | 10Gb/s | 8b/10b | 8Gb/s | 32Gb/s | 96Gb/s |
FDR(Fourteen Data Rate) | 14.0625Gb/s | 64b/66b | 13.64Gb/s | 54.54Gb/s | 163.64Gb/s |
EDR(Ehanced Data Rate) | 25.78125Gb/s | 64b/66b | 25Gb/s | 100Gb/s | 300Gb/s |
HDR(High Data Rate) | 50Gb/s | 64b/66b | 50Gb/s | 200Gb/s | 600Gb/s |
NDR(Next Data Rate) | 100Gb/s | 64b/66b | 100Gb/s | 400Gb/s | 1200Gb/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组网设备
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) | 兼容性 | 线缆类型 | 连接头 |
---|---|---|---|---|---|
SFP | 100 Mb/s 1 Gb/s | 113.9 | 100 Mb/s SFP+ | Fiber、Twisted Pair | LC、RJ45 |
SFP+ | 10 Gb/s | 113.9 | 1 Gb/s SFP | Fiber、Twisted Pair、DAC | LC、RJ45 |
SFP28 | 25 Gb/s | 113.9 | 10 Gb/s SFP+ | Fiber、DAC | LC |
SFP56 | 50 Gb/s | 113.9 | SFP、SFP+、SFP28 | Fiber、DAC | LC |
QSFP | 4 Gb/s | 156 | none | ||
QSFP+ | 40 Gb/s | 156 | none | Fiber、DAC | LC、MTP/MPO |
QSFP28 | 50 Gb/s | 156 | QSFP+ | Fiber、DAC | LC |
QSFP28 | 100 Gb/s | 156 | none | Fiber、DAC | LC、MTP/MPO-12 |
QSFP56 | 200 Gb/s | 156 | none | Fiber、DAC | LC、MTP/MPO-12 |
QSFP-DD | 400 Gb/s | 156 | QSFP+、QSFP28 | Fiber、DAC | LC、MTP/MPO-16 |
OSFP | 400 Gb/s 800 Gb/s | 比QSFP略大 | none | Fiber、DAC | LC、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标准 | 传输速率 | 网络类型 |
---|---|---|---|
Ethernet | 802.3 | 10 Mbps | 10Base-T |
Fast Ethernet | 802.3u | 100 Mbps | 100Base-TX 100Base-FX |
Gigabit Ethernet | 802.3z | 1000 Mbps | 1000Base-T 1000Base-SX 1000Base-LX |
10 Gigabit Ethernet | IEEE 802.3ae | 10 Gbps | 10GBase-SR 10GBase-LX4 10GBase-LR/ER 10GBase-SW/LW/EW |
二、部署实践(以太网)
1、Intel E810-XXVDA2
1.1、网卡信息
- 网卡端口:双口(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*
-
下载驱动程序(下载地址:适用于 Linux* 下的 E810 系列装置的 Intel® 网络适配器驱动程序)
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