3. 配置ETS(增强传输选择)
任务目标
在RoCEv2融合以太网环境中,配置ETS(Enhanced Transmission Selection,增强传输选择)以保障RDMA流量(RoCEv2)的带宽与低时延,同时兼顾普通TCP业务的转发。本案例在Cisco Nexus 9000系列交换机上完成ETS配置,实现RoCEv2流量与TCP流量的带宽分配与优先级调度。
环境与依赖
- 交换机:Cisco Nexus 9000(NX-OS 7.0(3)I7(6)及以上版本)
- 服务器:支持RoCEv2的网卡(如Mellanox ConnectX-5),已配置RoCEv2模式
- 拓扑:两台服务器分别连接Nexus交换机端口Ethernet1/1与Ethernet1/2,交换机上行口Ethernet1/3连接核心网络
- RoCEv2优先级:使用802.1p优先级3承载RoCEv2流量,优先级0承载普通TCP流量
配置实现
ETS通过配置优先级组(Priority Group)和调度策略实现带宽保障。本配置将优先级3(RoCEv2)与优先级0(TCP)划分到不同优先级组,并为RoCEv2分配80%带宽,TCP分配20%带宽。
! 进入全局配置模式
configure terminal
! 创建优先级组并分配带宽(百分比总和为100)
priority-group pg-roce type ets
bandwidth percent 80
priority-group pg-tcp type ets
bandwidth percent 20
! 将802.1p优先级映射到优先级组
class-map type qos match-any cm-roce
match cos 3
class-map type qos match-any cm-tcp
match cos 0
policy-map type qos pm-ets
class cm-roce
set priority-group pg-roce
class cm-tcp
set priority-group pg-tcp
class class-default
set priority-group pg-tcp
! 应用到接口(服务器接入端口与上行口)
interface ethernet 1/1
service-policy type qos input pm-ets
service-policy type qos output pm-ets
interface ethernet 1/2
service-policy type qos input pm-ets
service-policy type qos output pm-ets
interface ethernet 1/3
service-policy type qos input pm-ets
service-policy type qos output pm-ets
! 启用PFC(优先级流控制)以配合ETS保障RoCEv2无损传输
priority-flow-control mode on
interface ethernet 1/1
priority-flow-control priority 3 on
interface ethernet 1/2
priority-flow-control priority 3 on
interface ethernet 1/3
priority-flow-control priority 3 on
! 保存配置
copy running-config startup-config
验证方法
完成配置后,通过以下命令验证ETS生效:
! 查看优先级组配置与带宽分配
show policy-map type qos pm-ets
! 查看接口上ETS统计信息(发送/接收字节数、丢弃计数)
show queuing interface ethernet 1/1
! 查看PFC状态(确认优先级3为on)
show priority-flow-control interface ethernet 1/1
通过判定标准:
show policy-map type qos pm-ets输出中,cm-roce映射到pg-roce且带宽为80%,cm-tcp映射到pg-tcp且带宽为20%show queuing interface ethernet 1/1显示优先级3所在队列无丢弃计数(或极低),优先级0队列允许一定丢弃show priority-flow-control interface ethernet 1/1显示priority 3状态为on- 实际流量测试:同时打满RoCEv2流量与TCP流量,使用
iperf或perftest工具观察RoCEv2带宽不低于总带宽的75%(考虑调度开销),TCP带宽不超过25%
常见问题
- 带宽比例不生效:确认所有接口(接入与上行)均应用了同一policy-map,且优先级组带宽总和为100%
- RoCEv2丢包严重:检查PFC是否在路径所有接口上为优先级3开启,且交换机端口的buffer足够
- TCP业务受影响:若TCP流量占比过高,可适当调低pg-roce带宽百分比,但需保证RoCEv2最低带宽需求