06-RDMA Telemetry配置
本章节下载: 06-RDMA Telemetry配置 (371.12 KB)
目 录
RDMA Telemetry是一种智能网络监测技术。该技术将数据中心存储网络划分为三个区段,实时测量各段网络在执行读/写操作时的数据传输时延(即I/O质量),并生成可视化网络质量报告,帮助管理员快速定位性能瓶颈。
RDMA Telemetry测量系统分为两部分:
· 控制器+分析器
¡ 控制器通过NETCONF接口向设备下发测量配置。
¡ 设备通过gRPC功能将测量数据上报给分析器,从而在分析器上可视化展示I/O性能指标——时延。
· 测量设备(Device)
支持RDMA Telemetry功能的网络设备。
¡ 计算侧端口:设备上连接计算主机(例如Web服务器、邮件服务器等)的端口。它识别NVMe/RDMA特征报文,测量计算侧时延,并将测量数据上报至分析器。
¡ 存储侧端口:设备上连接存储阵列的端口。它识别NVMe/RDMA特征报文,测量存储侧时延,并将测量数据上报至分析器。
RDMA Telemetry将数据中心存储网络分为三段:
· 计算侧:网络设备与计算主机之间的部分。
· 存储侧:网络设备与存储阵列之间的部分。
· 网络路径:计算与存储间的传输网络。
图1-1 RDMA Telemetry系统模型
基于I/O交互流程,RDMA Telemetry会按周期测量并计算以下三类对象的平均值:
· DPL(Data Preparation Latency,数据准备时延):仅存在于写I/O操作,用于评估计算侧准备数据的效率。
如果DPL高,则可能存在计算侧CPU/内存瓶颈(如线程阻塞)等情况。
· RTT(Round-Trip Time,双向时延):报文在网络中传输的往返时延,用于衡量网络性能,通过分解计算侧总时延(IOL1)和存储侧总时延(IOL2)计算得出。
如果RTT突增,则表示存在网络拥塞、BGP路由震荡或NIC队列积压等情况。
· DAL(Data Access Latency,数据访问时延):用于衡量存储设备处理I/O请求的耗时,分为读操作DAL和写操作DAL,读操作DAL和写操作DAL独立测量,分别反映存储侧的不同处理阶段。
如果DAL高,则可能存在SSD延迟高、RAID卡瓶颈或存储软件栈过载等情况。
图1-2 RDMA Telemetry测量指标
RDMA读写I/O交互流程中,流经设备上计算侧端口、存储侧端口的关键报文以及设备记录的测量指标如图1-3所示。
图1-3 RDMA读写I/O交互流程关键报文及测量指标
计算侧从存储侧读取数据过程中涉及的关键报文以及设备记录的测量指标如表1-1所示。
表1-1 读I/O交互流程中关键报文与测量指标
|
步骤 |
方向 |
报文类型 |
RDMA操作 |
设备记录的数据 |
|
1 |
计算侧→存储侧 |
NVMe CMND(读请求) |
RDMA Send Only |
· T发报文①:计算侧端口记录发送报文①的时间戳,开始IOL1计时 · T收报文①:存储侧端口记录收到报文①的时间戳,用于计算DAL,并开始IOL2计时(T存储侧接收请求) |
|
2 |
存储侧→计算侧 |
NVMe_DATA(第1个数据包) |
RDMA Write First |
T发报文②:存储侧端口记录发送报文②的时间戳,用于计算读操作DAL |
|
3 |
存储侧→计算侧 |
NVMe_DATA(最后数据包) |
RDMA Write Last |
不记录数据 |
|
4 |
存储侧→计算侧 |
NVMe RSP(响应完成) |
RDMA Send Only Inval. |
· T发报文④:存储侧端口记录发送报文④的时间戳,结束IOL2计时 · T收报文④:计算侧端口记录收到报文④的时间戳,结束IOL1计时 |
计算侧向存储侧写数据过程中涉及的关键报文以及设备记录的测量指标如表1-2所示。
表1-2 写I/O交互流程中关键报文与测量指标
|
步骤 |
方向 |
报文类型 |
RDMA操作 |
Telemetry测量数据 |
|
5 |
计算侧→存储侧 |
NVMe CMND(写请求) |
RDMA Send Only |
· T请求报文:计算侧端口记录发送报文⑤的时间戳,开始IOL1计时 · T报文⑤:存储侧端口记录收到报文⑤的时间戳,用于计算写操作DAL |
|
6 |
存储侧→计算侧 |
NVMe Read Request(数据拉取请求) |
RDMA Read Request |
· T发报文⑥:存储侧端口记录发送报文⑥的时间戳,用于计算DAL · T收报文⑥:计算侧端口记录收到报文⑥的时间戳,用于计算DPL |
|
7 |
计算侧→存储侧 |
NVMe_DATA(第1个数据包) |
RDMA Read Resp First |
T发报文⑦:计算侧端口记录发送报文7的时间戳,用于计算DPL |
|
8 |
计算侧→存储侧 |
NVMe_DATA(最后数据包) |
RDMA Read Resp Last |
不记录数据 |
|
9 |
存储侧→计算侧 |
NVMe RS(写入确认) |
RDMA Send Only Inval. |
· T发报文⑨:存储侧端口记录发送报文⑨的时间戳,结束IOL2计时 · T收报文⑨:计算侧端口记录收到报文⑨的时间戳,结束IOL1计时 |
· 读操作DAL:存储侧端口从接收读请求报文(报文①)到发出首数据报文(报文②)的时间差。
DALread=T发报文②−T收报文①
· 写操作DAL:存储侧端口从接收写请求报文(报文⑤)到发出数据拉取请求(报文⑥)的时间差。
DALwrite=T发报文⑥−T收报文⑤
· DPL:计算侧端口从接收数据拉取请求(报文⑥)到发出首数据响应(报文⑦)的时间差。
DPL=T发报文⑦−T收报文⑥
· IOL1(计算侧总时延):
IOL1=T响应报文−T请求报文=T收报文④−T发报文①
¡ 读操作:计算侧发出报文①到接收报文④的时间差。
¡ 写操作:计算侧发出报文⑤到接收报文⑨的时间差。
· IOL2(存储侧总时延):
IOL2=T存储侧发出响应−T存储侧接收请求=T发报文④−T收报文①
¡ 读操作:存储侧接收报文①到发出报文④的时间差。
¡ 写操作:存储侧接收报文⑤到发出报文⑨的时间差。
· RTT=IOL1−IOL2
下面以普通用户数据获取(读I/O)为例来讲解RDMA Telemetry测量的全流程。
(1) 用户发起请求,计算侧处理
用户单击APP,触发计算侧(如Web服务器)生成数据请求。应用服务将请求封装成NVMe over Fabrics(NoF)协议报文(如RDMA Send Only)。
(2) 请求穿越网络设备(RTT测量点)
计算侧通过RDMA网卡发出请求报文,请求报文经过网络设备转发至存储侧。网络设备记录报文时间戳,关联请求/响应(如报文①和报文④)。
(3) 存储侧处理(DAL测量点)
存储侧端口接收请求(如报文①),并从闪存读取数据,然后向计算侧发送数据(如报文②)。
存储设备通过RDMA Write/Read直接写入/拉取数据。
DAL即为存储侧从收请求(报文①)到发数据(报文②)的耗时。
(4) 数据返回用户(端到端闭环)
存储侧数据经网络返回到计算侧,计算侧的应用服务组装响应数据,并通过HTTP报文返回给用户。
对于S12500G-AF系列交换机,单板丝印前缀为LSXM1的单板,不支持RDMA Telemetry。
对于S12500G-AF系列交换机,受设备的工作模式限制,仅专家模式支持RDMA Telemetry功能。有关设备工作模式的详细介绍,请参见“基础配置指导”中的“设备管理”。
仅支持在以太网接口上配置RDMA Telemetry功能,且不支持在聚合组的成员端口上开启RDMA Telemetry功能。
RDMA Telemetry不支持测量VPN和M-LAG转发的流量。有关VPN的详细介绍,请参见“MPLS”。有关设备M-LAG的详细介绍,请参见“二层技术-以太网交换”中的“M-LAG”。
仅三层已知单播方式的信息传播支持RDMA Telemetry测量。
RDMA Telemetry不支持测量VXLAN网络中的流量。有关VXLAN的详细介绍,请参见“VXLAN”。
RDMA Telemetry功能按固定周期抽样测量并计算平均值。由于不是对每个I/O都采样,未被采样的报文延迟数据无法显示。
RDMA Telemetry功能未对所有I/O做全量测量,部分时延数据未能被有效监测。
RDMA Telemetry功能暂不对小字节I/O操作进行测量。
当计算侧端口和存储侧端口位于同一单板时,因为无法区分上送报文所属的收发角色,可能会出现入方向报文提前上送的情况,导致时延测量失真。
配置RDMA Telemetry功能时需要注意:
· RDMA Telemetry功能与netanalysis udp命令互斥
· RDMA Telemetry功能与ip load-sharing mode per-packet和ip load-sharing mode per-flow ingress-port命令不能同时使用,否则会影响功能实现
· RDMA Telemetry IPv6重保模式(flow flow-name ipv6)与UFA功能不建议同时使用
有关设备netanalysis udp和UFA的详细介绍,请参见“网络管理与监控”中的“NetAnalysis”。有关设备ip load-sharing mode的详细介绍,请参见“三层技术-IP业务”中的“IP转发基础”。
(1) 进入系统视图。
system-view
(2) 进入RDMA-telemetry视图。
rdma-telemetry
(3) 配置RDMA Telemetry流过滤规则。
flow flow-name [ ipv6 ] { destination destination-ip-address | source source-ip-address } *
缺省情况下,未配置RDMA Telemetry流过滤规则。
RDMA Telemetry仅对匹配过滤规则的业务流量进行测量。
(4) 配置I/O质量可视功能的测量间隔。
interval interval-value
缺省情况下,I/O质量可视功能的测量间隔为10秒。
配置RDMA Telemetry功能后,设备会计算每次读写操作中的DAL、DPL和IOL,并统计周期内DAL、DPL和IOL的平均值,该平均值可通过display rdma-telemetry statistics命令查看,或通过gRPC上报分析器。
(5) 开启全局I/O质量可视功能。
rdma-telemetry global enable
缺省情况下,全局I/O质量可视功能处于关闭状态。
(6) 进入接口视图。
interface interface-type interface-number
(7) 开启接口的I/O质量可视功能。
rdma-telemetry enable
缺省情况下,接口的I/O质量可视功能处于关闭状态。
在完成上述配置后,在任意视图下执行display命令可以显示配置后RDMA Telemetry的运行情况,通过查看显示信息验证配置的效果。
表1-3 RDMA Telemetry显示和维护
|
操作 |
命令 |
|
显示RDMA Telemetry流的统计信息 |
display rdma-telemetry statistics |
PC访问Web服务器,对Web页面进行读写操作。整个读写操作大致流程为:PC(Web访问终端)先给计算主机(Web服务器)发送读写请求,计算主机向存储阵列读写数据,计算主机将读写结果返回给PC。测量并可视化呈现一次I/O读写内的分段时延(计算主机侧、传输网络、存储侧的时延),以便管理员及时了解业务性能。
图1-4 RDMA Telemetry基础配置组网图
|
组网图示例接口 |
设备实际接口 |
|
Interface1 |
GigabitEthernet1/0/1Ten-GigabitEthernet3/0/1 |
计算主机、设备与存储阵列之间路由可达,设备与分析器之间路由可达。(本举例直接在设备上配置RDMA Telemetry功能,所以,无需部署控制器,通过控制器给设备下发配置)
(1) 配置gRPC,以便将RDMA Telemetry测量数据上报给分析器。
# 开启gRPC功能。
<Sysname> system-view
[Sysname] sysname DeviceA
[DeviceA] grpc enable
# 创建传感器组test,并添加采样路径rdmatelemetry/rdmaserviceevent。
[DeviceA] telemetry
[DeviceA-telemetry] sensor-group test
[DeviceA-telemetry-sensor-group-test] sensor path rdmatelemetry/rdmaserviceevent
[DeviceA-telemetry-sensor-group-test] quit
# 创建目标组collector1,采样数据上送给分析器(分析器IP地址为10.1.3.1,端口号为50050)。
[DeviceA-telemetry] destination-group collector1
[DeviceA-telemetry-destination-group-collector1] ipv4-address 10.1.3.1 port 50050
[DeviceA-telemetry-destination-group-collector1] quit
# 创建订阅A,关联传感器组test,关联目标组collector1。
[DeviceA-telemetry] subscription A
[DeviceA-telemetry-subscription-A] sensor-group test
[DeviceA-telemetry-subscription-A] destination-group collector1
[DeviceA-telemetry-subscription-A] quit
[DeviceA-telemetry] quit
(2) 配置I/O质量可视功能
# 开启接口I/O质量可视功能。
[DeviceA] interface ten-gigabitethernet 3/0/1
[DeviceA-Ten-GigabitEthernet3/0/1] rdma-telemetry enable
[DeviceA-Ten-GigabitEthernet3/0/1] quit
# 开启全局I/O质量可视功能。
[DeviceA] rdma-telemetry
[DeviceA-rdma-telemetry] rdma-telemetry global enable
# 配置RDMA Telemetry流过滤规则。
[DeviceA-rdma-telemetry] flow test source 10.1.1.1 destination 10.1.2.1
(1) 配置gRPC,以便将RDMA Telemetry测量数据上报给分析器。
# 开启gRPC功能。
<Sysname> system-view
[Sysname] sysname DeviceB
[DeviceB] grpc enable
# 创建传感器组test,并添加采样路径rdmatelemetry/rdmaserviceevent。
[DeviceB] telemetry
[DeviceB-telemetry] sensor-group test
[DeviceB-telemetry-sensor-group-test] sensor path rdmatelemetry/rdmaserviceevent
[DeviceB-telemetry-sensor-group-test] quit
# 创建目标组collector1,采样数据上送给分析器(分析器IP地址为10.1.3.1,端口号为50050)。
[DeviceB-telemetry] destination-group collector1
[DeviceB-telemetry-destination-group-collector1] ipv4-address 10.1.3.1 port 50050
[DeviceB-telemetry-destination-group-collector1] quit
# 创建订阅A,关联传感器组test,关联目标组collector1。
[DeviceB-telemetry] subscription A
[DeviceB-telemetry-subscription-A] sensor-group test
[DeviceB-telemetry-subscription-A] destination-group collector1
[DeviceB-telemetry-subscription-A] quit
[DeviceB-telemetry] quit
(2) 配置I/O质量可视功能
# 开启接口I/O质量可视功能。
[DeviceB] interface ten-gigabitethernet 3/0/1
[DeviceB-Ten-GigabitEthernet3/0/1] rdma-telemetry enable
[DeviceB-Ten-GigabitEthernet3/0/1] quit
# 开启全局I/O质量可视功能。
[DeviceB] rdma-telemetry
[DeviceB-rdma-telemetry] rdma-telemetry global enable
# 配置RDMA Telemetry流过滤规则。
[DeviceB-rdma-telemetry] flow test source 10.1.1.1 destination 10.1.2.1
(1) 在Device A上可以查看到读写操作的时延统计信息:AIOL、ADAL和ADPL。
<DeviceA> display rdma-telemetry statistics
AIOL: Average I/O latency(us)
ADAL: Average data access latency(us)
ADPL: Average data preparation latency(us)
R: Read W: Write
Measurement interval: 10s
Measured at: 2025-8-20 08:20:19
-----------------------------------------------------------------------------------
SIP DIP Type
AIOL(R/W) ADAL(R/W) ADPL(R/W)
-----------------------------------------------------------------------------------
10.1.1.1 10.1.2.1 Initiator
1345/1246 --/-- --/48
(2) 在Device B上可以查看到读写操作的时延统计信息:AIOL、ADAL和ADPL。
<DeviceB> display rdma-telemetry statistics
AIOL: Average I/O latency(us)
ADAL: Average data access latency(us)
ADPL: Average data preparation latency(us)
R: Read W: Write
Measurement interval: 10s
Measured at: 2025-8-20 08:20:19
-----------------------------------------------------------------------------------
SIP DIP Type
AIOL(R/W) ADAL(R/W) ADPL(R/W)
-----------------------------------------------------------------------------------
10.1.1.1 10.1.2.1 Target
1332/1224 34/56 --/--
· Device A
#
sysname DeviceA
#
grpc enable
#
telemetry
sensor-group test
sensor path rdmatelemetry/rdmaserviceevent
destination-group collector1
ipv4-address 192.168.134.1 port 50050
subscription A
sensor-group test
destination-group collector1
#
interface Ten-GigabitEthernet3/0/1
rdma-telemetry enable
#
rdma-telemetry
rdma-telemetry global enable
flow test source 10.1.1.1 destination 10.1.2.1
#
· Device B
#
sysname DeviceB
#
grpc enable
#
telemetry
sensor-group test
sensor path rdmatelemetry/rdmaserviceevent
destination-group collector1
ipv4-address 192.168.134.1 port 50050
subscription A
sensor-group test
destination-group collector1
#
interface Ten-GigabitEthernet3/0/1
rdma-telemetry enable
#
rdma-telemetry
rdma-telemetry global enable
flow test source 10.1.1.1 destination 10.1.2.1
#
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!
