1.前言
客户环境:
硬件:高性能CPU计算服务器
MCX75310AAS-HEAT
qm-9790-ns2f
分布式存储服务器4台
系统:ESXI 7.0.3
虚拟机为centos8.0
目标:
要求vm虚拟化集群内的物理节点内的Mellanox网卡设置为SR-IOV模式,设置完成后并为虚拟机添加虚拟网卡。通过IB网卡与分布式存储端相连接。
标题下载Mellanox驱动和工具包
本次集群内的Mellanox驱动版本为nmlx5_core version 4.22.73.1006-1OEM和MFT工具包版本为4.26.1.LTS。
下载Mellanox网卡驱动
目前VMware已被博通公司收购。VM相关下载资源已经迁移到博通网站主页 - 支持门户 - Broadcom 支持门户https://support.broadcom.com/web/ecx。
登录完成后点击右上角 VMware Clould Foundation
点击左侧菜单栏My Downlads
点在页面右上角的搜索栏中,输入“VMware vSphere”
选择 VMware vSphere 的用户授权,本次客户环境为单击“VMware vSphere – Enterprise Plus”
在下拉菜单中,单击所需的 vSphere 版本,点击 7.0
在顶部菜单上,选择“Driver&Tools”。
在“搜索”对话框中,粘贴从 VCG 脚注复制的组件版本 4.22.73.1006-1OEM,以显示驱动程序下载。
选择第一列搜索结果选项,点击下载
2.2.下载MFT工具包
Mellanox固件工具(MFT)
Mellanox固件工具(MFT)包是一组固件管理工具,用于:
生成标准的或定制的Mellanox固件镜像
查询固件信息
刻录固件镜像
下载地址:NVIDIA Firmware Tools (MFT)https://network.nvidia.com/products/adapter-software/firmware-tools/
2.3.MCX75310AAS-HEAT网卡固件下载
下载地址:Firmware for ConnectX®-7 InfiniBand | NVIDIAhttps://network.nvidia.com/support/firmware/connectx7/
选择LTS版本(LTS为长期支持版本)
3.ESXI系统安装Mellanox网卡驱动
3.1.上传MFT、网卡驱动vib文件、网卡固件版本文件
进入ESXI web界面控制端,进入主机的维护模式
通过scp工具将下载完成的文件都上传到esxi主机的/tmp文件夹:scp XXX root@xxx:/tmp
3.2.安装网卡驱动
开启esxi主机的ssh功能
使用lspci | grep Mellanox
查看网卡的pci
查询IB驱动的版本 esxcli software vib list | grep nmlx
安装下载好的驱动文件
esxcli software vib install -d /tmp/Mellanox-nmlx5_4.22.73.1006-1OEM.703.0.0.18644231.zip
或者使用
esxcli software vib install -v
/tmp/MEL_bootbank_nmlx5-core_4.22.73.1006-1OEM.703.0.0.18644231.vib
和
esxcli software vib install -v
/tmp/MEL_bootbank_nmlx5-rdma_4.22.73.1006-1OEM.703.0.0.18644231.vib
分别安装这俩个vib文件
使用esxcli software vib list | grep nmlx
查看是否安装成功,版本为4.22.73.1006为最新版
安装完成后重启esxi主机
通过esxcli network nic list
命令可以查看esxi主机上的IB网卡
通过esxcli network nic get -n vmnic4
查询ib网卡信息,如果查询不到说明驱动没有安装成功,需要重新安装驱动文件。
3.3.安装MFT工具
通过esxcli命令
esxcli software vib install -v /tmp/nmst-4.17.0.106-1OEM.650.0.0.4598673.x86_64.vib
esxcli software vib install -v /tmp/mft-4.17.0.106-10EM-650.0.0.4598673.x86_64.vib
如果安装过程中遇到认证签名问题,在末尾添加–no-sig-check参数。
安装完后重启esxi主机。
3.3.1.开启mst driver
1.cd /opt/mellanox/bin
2../mst start
3../mst status
mt4129_pciconf0是网卡的名称
通过mlxfwmanager命令查询网卡的固件信息
3.4.刷新网卡固件版本
通过scp工具将固件
fw-ConnectX7-rel-28_39_3004-MCX75310AAS-HEA_Ax-UEFI-14.32.17-FlexBoot-3.7.300.signed.bin上传到esxi主机的/tmp目录
通过mft工具的flint -d -i -y b命令将固件刷新到网卡
1.cd /opt/mellanox/bin/
2../flint -d mt4123_pciconf0 -i
/tmp/fw-ConnectX7-rel-28_39_3004-MCX75310AAS-HEA_Ax-UEFI-14.32.17-FlexBoot-3.7.300.signed.bin -y b
注:不强制更新固件版本
4.设置网卡的SR-IOV模式
在服务器BIOS开启SR-IOV和IOMMU功能
在ESXI系统上面使用MFT工具设置开启SR-IOV 设置虚拟网卡的数量 number of Virtual Functions (VFs).
cd/opt/mellanox/bin
/opt/mellanox/bin/mlxconfig -d mt4129_pciconf0 set SRIOV_EN=1 NUM_OF_VFS=8
输入-y确认。完成后重启ESXI主机
进入ESXI系统中设置虚拟网卡的可用数量
esxcli system module parameters set -m nmlx5_core -p “max_vfs=8”
通过MFT工具设置虚拟网卡类型
./mlxconfig -d mt4129_pciconf0 set LINK_TYPE_P1=1 (参数设置1为IB模式,2为ETH模式)
启用以太网PCI子类覆盖
./mlxconfig -d mt4129_pciconf0 set ADVANCED_PCI_SETTINGS=1
./mlxconfig -d mt4129_pciconf0 set FORCE_ETH_PCI_SUBCLASS=1
max_vfs模块参数设置为首选的VFs数量
esxcfg-module nmlx5_core -s "max_vfs=8"
重启ESXI主机
重启后登录查看虚拟网卡是否正常
查看虚拟网卡是否被使用。true为使用状态 flase未使用状态。
4.1.虚拟机挂载虚拟网卡
Vs phere client里面看到SR-IOV虚拟网卡设备
点击虚拟机
在虚拟机编辑添加虚拟网卡
5.虚拟机安装网卡驱动和存储客户端挂载存储
进入虚拟机系统使用lspci | grep Mellanox
查看是否能够识别到IB虚拟网卡
安装IB网卡驱动,下载地址为:Linux InfiniBand 驱动程序 (nvidia.com)https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/
根据服务器系统版本选择对应的驱动版本
tar -zxvf MLNX_OFED_LINUX-24.04-0.6.6.0-rhel8.0-x86_64.tgz
cd MLNX_OFED_LINUX-24.04-0.6.6.0-rhel8.0-x86_64/
./mlnxofedinstall --force
安装完成后重启虚拟机
使用ibstat命令查看是否能够识别到IB网卡
配置IPoIB
使用vi /etc/sysconfig/network-scripts/ifcfg-ib0
编辑
DEVICE=ib0
BOOTPROTO=static
TYPE=infiniband
NM_CONTROLLED=no
ONBOOT=yes
IPADDR=12.12.12.xx
NETMASK=255.255.255.0
完成后输入:systemctl restart network
重启服务
使用ping命令测试与存储的连接
安装存储客户端(各品牌客户端安装包)
挂载存储
等待客户提价存储信息
参考资料:https://enterprise-support.nvidia.com/s/article/HowTo-Configure-SR-IOV-for-ConnectX-4-ConnectX-5-ConnectX-6-with-KVM-Ethernet#jive_content_id_I_Enable_SRIOV_on_the_Firmwarehttps://docs.nvidia.com/networking/display/mlnxenv24040660/single+root+io+virtualization+(sr-iov)
https://yaolang-hpc.github.io/2021/10/08/%E5%9C%A8esxi%E8%99%9A%E6%8B%9F%E6%9C%BA%E4%B8%AD%E5%85%B1%E4%BA%ABIB%E7%BD%91%E5%8D%A1/