為Mellanox CX2網(wǎng)卡開(kāi)啟sriov

最近本頻道皮套人濃度有些高了,先發(fā)篇專欄降低一下。
之后再狠狠地入腦發(fā)癲!
前言
簡(jiǎn)單來(lái)說(shuō)cx2網(wǎng)卡需要通過(guò)刷自定義固件來(lái)開(kāi)啟sriov,而刷固件需要.mlx格式的固件以及工具包。
麻煩的地方在于官網(wǎng)沒(méi)有提供.mlx格式的固件,工具包也已經(jīng)不支持cx2系列了,得去其他地方找...
請(qǐng)自行考慮并承擔(dān)刷固件的風(fēng)險(xiǎn)!
獲取所需的文件
好在HPE還有提供全套工具: https://support.hpe.com/connect/s/softwaredetails?language=zh_CN&softwareId=MTX_7dff755cf65c45f3a4f639a4e1
下載并打開(kāi)安裝包,之后停留在下面這個(gè)頁(yè)面↓

在C:\Users\{用戶名}\AppData\Local\Temp目錄搜索mstflint,搜索到結(jié)果后右鍵前往該文件夾,并將所有文件復(fù)制到其他地方備用。(此時(shí)可以關(guān)閉安裝包了)
修改配置以開(kāi)啟sriov
在上一步提取出的工具包目錄打開(kāi)一個(gè)cmd窗口,輸入mst.exe status,此時(shí)應(yīng)該會(huì)返回網(wǎng)卡的id(如mt26448_pci_cr0)
之后輸入flint.exe -dev {網(wǎng)卡id} query, 正常的話應(yīng)該可以看到網(wǎng)卡當(dāng)前固件信息了,如下圖所示↓

接下來(lái)備份固件以及固件內(nèi)的配置(配置稍后要用)
以文本格式打開(kāi)上述備份的config.ini配置文件,在[HCA]部分的最后添加:
(我這張MNPA19-XTR網(wǎng)卡在PVE系統(tǒng)下似乎最多只能開(kāi)七個(gè)vf)
將修改后的配置與fw-ConnectX2-rel.mlx文件合并以生成可刷入的固件:
刷入固件
刷入固件的命令為:

再次輸入flint.exe -dev {網(wǎng)卡id} query檢查固件版本

到這里刷入固件的步驟就完成了
開(kāi)啟sriov
(以下內(nèi)容似乎同時(shí)適用于cx2及cx3網(wǎng)卡,不過(guò)我手頭沒(méi)有cx3的網(wǎng)卡,所以不保證)
這里以PVE7.2系統(tǒng)為例:
之后保存文件(各參數(shù)含義詳見(jiàn)這個(gè)鏈接: https://docs.nvidia.com/networking/display/MLNXOFEDv471001/Single+Root+IO+Virtualization+-+SR-IOV#SingleRootIOVirtualizationSRIOV-cx-3/prosr-iovconfigConfiguringSR-IOVforConnectX-3/ConnectX-3Pro)
最后重新加載驅(qū)動(dòng)
此時(shí)在PVE的管理后臺(tái)應(yīng)該可以看到所有的vf了

shell運(yùn)行ip a檢查mac地址,跟Intel網(wǎng)卡不同的是這個(gè)mac地址似乎不會(huì)在每次啟動(dòng)時(shí)變化

結(jié)尾
到這兒基本上就結(jié)束了,我這里遇到的唯一一個(gè)問(wèn)題是每次啟動(dòng)系統(tǒng)都需要手動(dòng)重新加載驅(qū)動(dòng),所以得寫一個(gè)啟動(dòng)時(shí)自動(dòng)運(yùn)行的腳本,方法有很多就不再贅述了~
參考鏈接
cx2開(kāi)啟sriov: https://forums.servethehome.com/index.php?threads/sr-iov-for-mellanox-connectx-2.12693/#post-121167
官方文檔(部分適用于cx2): https://docs.nvidia.com/networking/display/MLNXOFEDv471001/Single+Root+IO+Virtualization+-+SR-IOV
為Mellanox CX2網(wǎng)卡開(kāi)啟sriov的評(píng)論 (共 條)
