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

#楼主# 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
分享淘帖
回复 印象

使用道具

2

精华

46

回帖

4608

积分

技术达人

Rank: 6Rank: 6

云币
301
贡献
320
活跃
2781
精华
2
r-MT 发表于 2020-8-7 12:08 来自 中国江苏无锡
占楼备用
回复 印象

使用道具 举报

0

精华

46

回帖

929

积分

入门用户

Rank: 1

云币
0
贡献
8
活跃
864
精华
0
CiCiDei 发表于 2020-8-7 17:37 来自 中国江苏徐州
想请教一下,为什么别的版本的jellyfin不能硬解,你发的10.5.5可以,是jellyfin的原因还是威联通系统的原因?
还有请问能更新到新版本么?或者怎么样才能把转码解码器打包进最新的安装包里!
非常感谢!!!
回复 支持 反对 印象

使用道具 举报

0

精华

201

回帖

2833

积分

搞机大神

Rank: 3Rank: 3

云币
50
贡献
47
活跃
2494
精华
0
zeroqi2008 发表于 2020-8-9 08:57 来自 中国广东韶关
大佬技术666                        
回复 支持 反对 印象

使用道具 举报

0

精华

35

回帖

412

积分

入门用户

Rank: 1

云币
0
贡献
0
活跃
394
精华
0
自足 发表于 2020-8-18 01:22 来自 中国福建漳州
谢谢大佬分享
回复 支持 反对 印象

使用道具 举报

0

精华

43

回帖

261

积分

入门用户

Rank: 1

云币
0
贡献
0
活跃
239
精华
0
citroen818 发表于 2020-8-20 11:39 来自 中国上海
谢谢分享  楼主辛苦了
回复 支持 反对 印象

使用道具 举报

0

精华

44

回帖

682

积分

入门用户

Rank: 1

云币
1
贡献
0
活跃
660
精华
0
悦8398 发表于 2020-8-22 09:05 来自 中国广东珠海
感谢大神分享。先收藏再慢慢细读!
回复 支持 反对 印象

使用道具 举报

0

精华

30

回帖

244

积分

入门用户

Rank: 1

云币
1
贡献
0
活跃
229
精华
0
冷意冰鱼777 发表于 2020-8-27 11:38 来自 中国浙江台州
感谢lz分享,学习了,谢谢
回复 支持 反对 印象

使用道具 举报

0

精华

38

回帖

106

积分

入门用户

Rank: 1

云币
1
贡献
0
活跃
87
精华
0
^ō^应该实现 发表于 2020-8-28 18:25 来自 中国湖南长沙
正需要,支持楼主大人了!
回复 支持 反对 印象

使用道具 举报

0

精华

175

回帖

2916

积分

搞机大神

Rank: 3Rank: 3

云币
0
贡献
256
活跃
1548
精华
0
hjfgt 发表于 2020-8-29 11:55 来自 中国广东东莞
感谢分享。。。。。。。
回复 印象

使用道具 举报

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

本版积分规则

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