基于盛科E交换机搭建rdma网络配置(不同的交换机的配置操作不一样)
一、交换机端配置:
1、PFC配置(基于优先级的流量控制机制)
配置qos类型的class-map pfc,进行流量分类,匹配dscp cs3
# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
(config)# class-map type qos pfc
(config-cmap-qos)# match dscp cs3
(config-cmap-qos)# match access-group v6 #使用ipv6的时候 需要添加的配置,如果是ipv4则不需要。
配置qos类型的class-map pfc_cos,匹配cos 3
(config)# class-map type qos pfc_cos
(config-cmap-qos)# match cos 3
配置qos类型的police-map qos,根据class-map,设定转发队列3并重标记cos值
(config)# policy-map type qos pfc
(config-pmap-qos)# class type qos pfc
(config-pmap-qos-c)# set traffic-class 3
(config-pmap-qos-c)# set cos 3
配置qos类型的police-map pfc_qos,根据class-map pfc_cos的匹配结果,设定转发队列并重标记dscp值。
(config)# policy-map type qos pfc_cos
(config-pmap-qos)# class type qos pfc_cos
(config-pmap-qos-c)# set traffic-class 3
(config-pmap-qos-c)# set dscp cs3
端口配置
(config)# interface eth-0-1
(config-if)# priority-flow-control mode on
(config-if)# priority-flow-control enable priority 3
(config-if)# service-policy type qos input pfc_cos
2、ECN配置(队列3)
配置traffic-class类型的class-map ecn_3,匹配队列3的流量
(config)# class-map type traffic-class ecn_3
(config-cmap-tc)# match traffic-class 3
配置traffic-class类型的police-map ecn
(config)# policy-map type traffic-class ecn
(config-pmap-tc)# class type traffic-class ecn_3
(config-pmap-tc-c)# priority level 3
(config-pmap-tc-c)random-detect maximum-threshold 8192 minimum-threshold 64 #该默认为ecn配置,如果全局配置了no qos ecn enable,该条命令为wred配置
端口配置
(config)# interface eth-0-1
(config-if)# fec none
(config-if)# service-policy type traffic-class ecn
VLAN配置
switch#configure terminal
switch(config)#vlan database
switch(config-vlan)#vlan 1
switch(config-vlan)#exit
switch(config)#interface eth-0-1
switch(config-if)#switchport mode trunk
switch(config-if)#switchport trunk allowed vlan add 1
二、服务器端配置:
1、加载HBA插卡及RDMA驱动
(1)mellanox插卡驱动加载
modprobe mlx4_core
modprobe mlx5_core
(2)RDMA驱动加载
modprobe nvme-rdma
modprobe mlx5_ib
由于RoCE PFC基于vlan实现,因此需要对物理网口新建vlan网口,目前在服务器环境可通过修改配置文件的方法配置vlan。
2、VLAN配置,并禁用ipv6
# cd /etc/sysconfig/network-scripts/
# vi ifcfg-ensX
TYPE=Ethernet
NAME=ensX
DEVICE=ensX
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=ye
ONBOOT=yes
MTU=9000
新建vlan网口配置文件(1为vlan id)
# vi ifcfg-ensX.1
BOOTPROTO=static
IPV4_FAILURE_FATAL=no
NAME=ensX.1
DEVICE=ensX.1
ONBOOT=yes
MTU=9000
VLAN=yes
IPADDR=172.126.100.100
NETMASK=255.255.0.0
VLAN_EGRESS_PRIORITY_MAP=0:3,1:3,2:3,3:3,4:3,5:3,6:3,7:3
使配置文件生效
# systemctl restart NetworkManager.service
3、PFC配置
(1)安装Python软件,后面安装mellanox工具时需要用到。
(2)下载mlnx-tools软件安装包:https://github.com/Mellanox/mlnx-tools/releases/latest
(3)将压缩包上传到root目录下,并解压。
# tar -xzvf mlnx-tools-5.1.3.tar.gz
(4)进入文件目录
#cd mlnx-tools-5.1.3/ofed_scripts/utils/
(5)安装mlnx-tools工具
# python setup.py install
(6)指定端口启用PFC
# mlnx_qos -i ensX --pfc 0,0,0,1,0,0,0,0