• 那是云首页
  • 快捷导航
  • 更多
    设为首页收藏本站
  • |
花生壳

#楼主# 2020-8-7 11:58

跳转到指定楼层
本帖最后由 r-MT 于 2021-1-21 01:29 编辑

     因为qnap的虚拟机只开放了gpu等pcie的直通,但是通过对威联通Virtualization Station虚拟机补丁http://www.nasyun.com/thread-71762-1-2.html,解锁对网卡SATA卡等pcie直通的限制,可以使qnap上直通sr-iov。以下在tvs-872/882机型上测试完成, 53B 53D带pcie机型没测试。

    洋垃圾改造的Mellanox的ConnectX-3万兆网卡,几乎所有主流系统都能免驱以及相关的驱动,在群辉和威联通上都免驱。便宜,咸鱼上单口才6-70元,双口卡在100左右(是MCX341A单口卡破解成MCX342A双口卡),加根直连线带模块50左右,双卡总成本200左右就能让你的威联通nas和电脑进行万兆的互联。缺点esxi不能sr-iov,设置sr-iov过程比较繁琐,单口卡vf最多设置成8个。
   通过在qnap开启sr-iov进行直通vf,低成本的万兆卡不仅让你的qnap和电脑之间进行万兆的互联,而且qnap创建的虚拟机直通vf后也全跑在万兆网上。通过在qnap虚拟机上安装op,在千兆网和万兆网的互联的同时,可以提供拨号路由,或者只做旁路去广告翻Q等

一.固件开通sr-iov,直通vf给虚拟机。
大概流程:固件开通sr-iov,修改grub、修改驱动加载添加vf,修复qnap系统自带的libnl库,安装虚拟机补丁直通vf。
1.1ConnectX-3首先需要固件上开通sr-iov
       Win10下载安装官方驱动和固件工具
官方驱动

固件工具

2个都安装一下

windows powershell管理员运行

mlxconfig -d /dev/mst/mt4099_pciconf0 q

开通sr-iov设置命令

mlxconfig -d /dev/mst/mt4099_pciconf0 setSRIOV_EN=1 NUM_OF_VFS=8

#SRIOV_EN=1 开通 NUM_OF_VFS=8设置8个vf

顺便把guid也修正了
查看固件的mac和guid

flint -d /dev/mst/mt4099_pci_cr0 -qq q

如果看到guid也全是ffff

flint -d /dev/mst/mt4099_pci_cr0 -guidAABBCC0300DDEEFE sg

AABBCCDDEEFF是你mac地址

重启后
固件.png
换上一张卡再次运行设置命令,把2张卡固件的sr-iov全开通。

1.2把一张ConnectX-3插qnap上,和win10实体机直连,直接免驱认出,固件版本最好是4.1以上,53b 53d 882 872等带pcie插槽的机型,修改grub,修改驱动加载

修改qnap的引导盘grup文件,添加pci=realloc

linux /boot/bzImage root=/dev/ram0 rw pci=realloc console=tty0

2个都加上


修改ConnectX-3驱动加载添加vf,下载附件的load_lan_module.sh解包qnap固件覆盖固件包/etc/init.d/load_lan_module.sh,重新打包,也可以自行修改如下红字为新增,修改2个部分

(1)

echo "/sbin/insmod $module_file"${MULTI_PORTS}" (ret=$ret)" >>$LOG_FILE
else
insert_mt27500modules()
{
    /sbin/depmod
    /sbin/modprobe mlx_compat
    /sbin/modprobe mlx4_core port_type_array=2,2 num_vfs=6,0,0 probe_vf=0,0,0log_num_mgm_entry_size=-1
#   /sbin/modprobe mlx4_core msi_x=0
    /sbin/modprobe mlx4_en
    /sbin/modprobe mlx5_core
}
check_viddid_to_insert_module()
{
for viddid in "${VIDDID_LIST[@]}"

PS:这个双口破解卡在qnap里面最多只能设置成合计6个vf+2个pf,超过就会出错,一个都建立不了
num_vfs=6,0,0就是在端口1建立6个vf或者也可以改成num_vfs=3,3,0,就是2个端口分别虚拟3个vf。

(2)然后在下面

"/lib/modules/misc/mlx4_en.ko"
"/lib/modules/misc/mlx5_core.ko"
)
# check_viddid_to_insert_module (此行删除或注释掉)
insert_mt27500modules
############################## I40E
VIDDID_LIST=(
80861583 #Ethernet Controller XL710 for 40GbE * 2QSFP+
80861572 #Ethernet Controller XL710 for 10GbE * 4 SFP+


重新打包固件重启

运行/sbin/lspci

已经出现6张vf网卡了

lspci.png

1.3修复威联通自带的libnl库

  qnap的libnl库有问题,会导致直通SR-IOV VF网卡失败,解包固件删除/lib/目录下面所有“libnl-”开头的文件,把附件lib.tgz解压后全部拷贝进/lib/目录,在linux下解压用cp -a -d 复制进固件/lib目录,或者用tar zxvf./lib.tgz -C 指定目录固件目录
重新打包固件重启
rm -f ./xxx/lib/libnl-*
tar zxf ./lib.tgz -C ./xxx/
我这里用的是这里的https://github.com/thom311/libnl/releases/download/libnl3_5_0/libnl-3.5.0.tar.gz源码编译的,大家也可以自行编译

1.4 安装虚拟机补丁直通vf网卡给虚拟机
确保qnap的虚拟机pcie补丁已经正确打上,http://www.nasyun.com/thread-71762-1-2.html
  以我为例model.ini里面填主卡MT27500 Family [ConnectX-3]的pcie插槽数值0000:00:01.0。然后运行补丁
[ PT PCIE SLOT ]
PTSLOTS = 3
SLOT_1 = 0000:00:01.0
SLOT_2 = 0000:00:01.1
SLOT_3 = 0000:00:1c.7
patch.png

虚拟机Ubuntu18.04或者win10等,然后把其中的一个MT27500/MT27520Family [ConnectX-3/ConnectX-3 Pro Virtual Function]直通给虚拟机,注意不是直通MT27500 Family[ConnectX-3]

pcie.png

虚拟机Win10 Ubuntu等linux的话一样要安装上述的官方Mellanox官方驱动,才能正确使用识别vf网卡,今年新出的openwrt内核已经直接免驱vf驱动。

附件下载连接

游客,如果您要查看本帖隐藏内容请回复


评分

参与人数 2云币 +100 贡献 +100 收起 理由
admin + 50 + 50 大佬给力!
mojelly + 50 + 50 大佬技术666

查看全部评分

那是云论坛 - 国内知名的NAS交流平台
http://www.nasyun.com
分享淘帖
回复 印象

使用道具

0

精华

3

回帖

46

积分

入门用户

Rank: 1

云币
1
贡献
0
活跃
44
精华
0
只对迩丶恩宠一 发表于 2024-9-25 23:30 来自 中国北京
666666
66666666666666666666
回复 支持 反对 印象

使用道具 举报

0

精华

1

回帖

21

积分

入门用户

Rank: 1

云币
0
贡献
0
活跃
20
精华
0
legalcode 发表于 2024-7-20 09:23 来自 中国湖北十堰
Mellanox的ConnectX-3万兆网卡在qnap上开通sr-iov, 直通vf网卡给虚拟机流程,谢谢楼主。谢谢楼主。谢谢楼主。
回复 支持 反对 印象

使用道具 举报

0

精华

14

回帖

138

积分

入门用户

Rank: 1

云币
0
贡献
0
活跃
131
精华
0
爱过不约保大救 发表于 2024-7-3 09:35 来自 中国山东济南
11111111111111111111111111111111111
回复 支持 反对 印象

使用道具 举报

0

精华

5

回帖

44

积分

入门用户

Rank: 1

云币
0
贡献
0
活跃
41
精华
0
Dension 发表于 2024-6-18 13:17 来自 美国
谢谢分享!!!!!!!!
回复 印象

使用道具 举报

0

精华

13

回帖

108

积分

入门用户

Rank: 1

云币
0
贡献
0
活跃
101
精华
0
karl321 发表于 2023-9-12 02:11 来自 中国湖南长沙

感谢分享。。。。。。。
回复 印象

使用道具 举报

0

精华

43

回帖

335

积分

入门用户

Rank: 1

云币
0
贡献
0
活跃
313
精华
0
jiexuan357 发表于 2023-7-4 11:13 来自 中国北京
Mellanox的ConnectX-3万兆网卡在qnap上开通sr-iov, 直通vf网卡给虚拟机流程
回复 支持 反对 印象

使用道具 举报

0

精华

1

回帖

12

积分

入门用户

Rank: 1

云币
0
贡献
0
活跃
11
精华
0
米米米米米 发表于 2023-4-23 01:01 来自 中国辽宁
谢谢大佬分享{:3_46:}{:3_46:}{:3_46:}{:3_46:}{:3_46:}
回复 支持 反对 印象

使用道具 举报

0

精华

67

回帖

831

积分

入门用户

Rank: 1

云币
7
贡献
83
活跃
381
精华
0
pcg240 发表于 2023-1-18 02:31 来自 加拿大
学习一下 ,看看能不能用
回复 支持 反对 印象

使用道具 举报

0

精华

86

回帖

1310

积分

发烧玩家

Rank: 2

云币
0
贡献
23
活跃
1152
精华
0
pureivan 发表于 2022-12-20 19:46 来自 中国广东珠海
好东西啊
多谢楼主
回复 支持 反对 印象

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回列表 搜索 官方QQ群
懒人地图| 手机版|小黑屋| 智能生活 , 上那是云 |闽ICP备2020018196号-1 |网站地图