Skip to content

Kylin V11 RDMA 网卡配置 ​

在 Kylin V11 上安装 OFED,并配置 ARP、IP 和策略路由。

返回网卡配置索引 | 上一篇:MXRDMA 网卡配置 | 下一篇:Mellanox 网卡 Relaxed Ordering 配置


说明: 目前OFED驱动没有默认支持Kylin V11 , 需要执行如下额外安装步骤。

确认当前系统OS:

Kylin V11 OS RDMA网卡配置

Kylin V11 OFED驱动安装 ​

执行命令ofed_info 正常打印,则已正常安装。

下载对应doca ofed 源码 ​

https://linux.mellanox.com/public/repo/doca/3.1.0/SOURCES/mlnx_ofed/MLNX_OFED_SRC-25.07-0.9.7.0.tgz

下载对应doca ofed 源码

下载后解压缩:

下载对应doca ofed 源码

修改安装脚本 ​

  • 修改脚本install.pl

替换脚本里的ky10 关键字为ky11

  • 修改脚本common.pl

替换kylin-release-10 为kylin-release-11

替换KYLIN10为KYLIN11

替换kylin10为kylin11

参考命令如下:

sed -i.bak \
-e 's/\bky10\b/ky11/g'  \
-e 's/\bKY10\b/KY11/g'  \
-e 's/KYLIN10/KYLIN11/g'  \
install.pl

sed -i.bak \
-e 's/kylin-release-10/kylin-release-11/g' \
-e 's/KYLIN10/KYLIN11/g' \
-e 's/kylin10/kylin11/g' \
common.pl

# 验证
grep -n "ky10\|kylin-release-10\|KYLIN10\|kylin10" install.pl common.pl

执行源码安装ofed ​

bash
sudo yum install perl dkms -y   # 先安装依赖
sudo ./install.pl -vvv --force

执行源码安装ofed

进入下面界面 输入2

执行源码安装ofed

进入下面界面 输入1

执行源码安装ofed

等待安装结束,输入q退出

执行源码安装ofed

如出现如下报错,执行最下面的安装依赖,再重复上述步骤

执行源码安装ofed

安装完成之后,执行如下命令启动服务

bash
sudo /etc/init.d/openibd restart
sudo dracut -f

执行源码安装ofed

如果已安装cython,但仍报错cython not found, 请pip uninstall卸载后, 使用yum重新安装:

yum install python3-Cython.x86_64

执行源码安装ofed

Kylin V11 网卡配置 ​

配置 arp策略 ​

bash
sudo vim /etc/NetworkManager/dispatcher.d/pre-up.d/10-ifcfg-mlx-arp.sh
sudo chmod +x /etc/NetworkManager/dispatcher.d/pre-up.d/10-ifcfg-mlx-arp.sh

添加内容如下

#!/bin/bash

if [ "$2" != "pre-up" ]; then
exit 0
fi

file_regex='^/etc/sysconfig/network-scripts/ifcfg-([^/]+)$'

[[ "$CONNECTION_FILENAME" =~ $file_regex ]] || exit 0

device_name=$(grep DEVICE $CONNECTION_FILENAME | cut -d '=' -f2)
vendor_id=$(cat /sys/class/net/$device_name/device/vendor)

case "$vendor_id" in
0x15b3)
{
echo "############metax eth pre-up ############"
echo "device_name $device_name vendor_id $vendor_id"
sysctl -w net.ipv4.conf.$device_name.accept_local=1
sysctl -w net.ipv4.conf.$device_name.rp_filter=2
sysctl -w net.ipv4.conf.$device_name.arp_ignore=1
sysctl -w net.ipv4.conf.$device_name.arp_announce=2
sysctl -w net.ipv6.conf.$device_name.disable_ipv6=1
} > /dev/kmsg
;;
esac

配置IP地址 ​

使用下面脚本配置:

脚本每次只能配置一张网卡, 通过 show_gids 查看网卡名:

配置IP地址

注意:

set_network_manager.sh脚本不能放到/etc/NetworkManager/dispatcher.d/pre-up.d/目录下执行, 请备份到其他目录执行!

例如 10.2.185.89机器配置网卡 mlx5_2 (执行前请确认参数)

bash
sudo ./set_network_manager.sh ens100np0  192.168.10.91/24  192.168.10.254 192.168.10.0/24 200
sudo ./set_network_manager.sh ens109np0  192.168.20.91/24  192.168.20.254 192.168.20.0/24 201
sudo ./set_network_manager.sh ens110np0  192.168.30.91/24  192.168.30.254 192.168.30.0/24 202
sudo ./set_network_manager.sh ens119np0  192.168.40.91/24  192.168.40.254 192.168.40.0/24 203
#!/bin/bash
#./set_network_manager.sh netdev roce_ip roce_gateway roce_subnet route_table
#./set_network_manager.sh metax_eth_0 11.22.100.88/24 11.22.100.1 11.22.100.0/24 100

netdev=$1
roce_ip=$2
roce_gateway=$3
roce_subnet=$4
route_table=$5
connection_name="computenic_${netdev}"
nmconnections=$(nmcli -g UUID c s)

for connection in ${nmconnections}
do
nmdevice=$(nmcli c s ${connection} | grep connection.interface-name | awk '{print$2}')
if [ "$netdev" == "$nmdevice" ]; then
sudo nmcli con del ${connection}
fi
done
nmcli con add type ethernet con-name ${connection_name} ifname ${netdev}
nmcli con modify ${connection_name} ipv4.method manual ipv4.addresses ${roce_ip} ipv6.method disable connection.autoconnect yes mtu 9000  +ipv4.routes "${roce_subnet} ${roce_gateway} table=${route_table}" +ipv4.routing-rules "priority 30000 from ${roce_subnet} table ${route_table}"
nmcli con down ${connection_name}
nmcli con up ${connection_name}

配置后检查网卡IP设置:

配置IP地址

配置路由策略表 ​

#The following command need to be run in every reboot.
ip rule add from 192.168.10.0/24 table 200 prio 30000
ip rule add from 192.168.20.0/24 table 201 prio 30000
ip rule add from 192.168.30.0/24 table 202 prio 30000
ip rule add from 192.168.40.0/24 table 203 prio 30000

ip route add 192.168.10.0/24 via 192.168.10.254 table 200 prio 30000
ip route add 192.168.20.0/24 via 192.168.20.254 table 201 prio 30000
ip route add 192.168.30.0/24 via 192.168.30.254 table 202 prio 30000
ip route add 192.168.40.0/24 via 192.168.40.254 table 203 prio 30000

返回网卡配置索引 | 上一篇:MXRDMA 网卡配置 | 下一篇:Mellanox 网卡 Relaxed Ordering 配置