UNRAID直通网卡问题的一种解决方法

2020-02-29 22:46:14 31点赞 269收藏 64评论

创作立场声明:人人为我,我为人人,分享知识是一种快乐。

【写作说明】:疫情期间空闲在家里,正好研究一下如何利用闲置机器。于是看了多篇NAS方面文章,特别是阿文菌和司波图的介绍,基本上做到了保姆级教程,也让我从无到有搞起了第一台NAS。不过,为了实现网卡直通,费了很多力气,最后找到unraid官方论坛,终于解决自己遇到的问题,这里写出来,估计能帮到一些人。

基础知识

阿文菌的这篇文章,或者B站司波图的视频

家用媒体服务器NAS 使用UNRAID系统的正确的玩法!直通网卡、直通硬盘、挂载群晖虚拟机文件!蜗居的阿宅终于有了正当理由不出门,那么他们的生存秘诀是什么?全新上线的#宅家生活手册#征稿活动火热进行中,来分享你特殊时期的宅居规划吧>活动详情戳这里<时间:1月28日-2月29日前言大家好,俺又来了!本文内容有点长,而且十分干货,建议先收藏,再观看!最近一直忙着出威联通相关的折腾文章,忽略了unr< span="">阿文菌| 233 评论252 收藏1k查看详情


问题

直通网卡的好处前面已经说过了,但是我就一直报错,错误就是IOMMU没有权限等。这个也是官网论坛虚拟机分支里面高居第一的问题点,https://forums.unraid.net/forum/70-vms/

本人略懂一点英文,从论坛又找到了官网文档:

https://wiki.unraid.net/UnRAID_6/VM_Management#Help.21_Failed_to_set_iommu_for_container:_Operation_not_permitted,内容如下:

Help! Failed to set iommu for container: Operation not permitted

If you are getting the above message when trying to assign a graphics device to a VM, it is most likely that your device is in an IOMMU group along with another active/in-use device on your system. Please see this article written by Alex Williamson on IOMMU groups if you wish to better understand this issue and how it impacts you. Under Settings -> VM Manager you will find an option to toggle for PCIe ACS Override, which will forcibly break out each device into it's own IOMMU group (following a reboot of the system). This setting is experimental, so use with caution.

Another possibility here is that your system doesn't support interrupt remapping, which is critical for VFIO and GPU pass through. There is a workaround for this, but you will not be protected against MSI-based interrupt injection attacks by guests (more info about MSI injection attacks through VT-d). If you completely trust your VM guests and the drivers inside them, enabling this workaround should resolve the issue. The alternative is to purchase hardware that offers interrupt remapping support. To enable the workaround, you will need to modify your syslinux.cfg file, adding the bolded bit below:

label unRAID OS
menu default
kernel /bzimage
append vfio_iommu_type1.allow_unsafe_interrupts=1 initrd=/bzroot

具体操作

简而言之,就是在你直通网卡失败的时候,可以试试这个方法:

1、首先点击首页这个按钮

首页查看主机信息首页查看主机信息

确保这两个参数是如下的,如果不是则需要分别从CPU主板BIOS方面去满足条件。INTEL系列CPU和芯片组可以在INTEL官网https://ark.intel.com/content/www/cn/zh/ark.html查询。注意,VT-D关乎直通网卡成功与否,必须确保CPU、主板、BIOS三项都开启VT-D功能才行,而大部分CPU只支持VT-X,最好提前查询一下再做。

HVM对应VT-X,IOMMU对应VT-DHVM对应VT-X,IOMMU对应VT-D

2、满足上述条件之后,再将Settings/VMSettings里面这两个参数改成如图,注意右边按钮是ADVANCED VIEW

修改虚拟机参数修改虚拟机参数

3、修改保存之后,在Main/Flash中应该可以看到类似下图的样子;

UNRAID直通网卡问题的一种解决方法

3、修改保存之后,在Main/Flash中应该可以看到类似下如如果不是也可以把里面的内容直接修改成这样:

append pcie_acs_override=downstream,multifunction iommu=pt vfio-pci.ids=你的网卡信息 vfio_iommu_type1.allow_unsafe_interrupts=1 initrd=/bzroot

网卡信息在Tools/System Devices查到这个样子:

选择直通网卡关键信息选择直通网卡关键信息

4、修改保存之后,需要重启系统才能生效,然后就没有报错了。

总结

根据官方论坛和文档的说法,那些直通硬件(网卡、显卡等)报错的原因,多数是因为想要直通的硬件跟不想直通的硬件有捆绑,无法实现直通。而修改虚拟机的两个参数,目的就是解除这种捆绑关系。但是VFIO allow unsafe interrupts这个参数设为Yes可能会导致不安全的系统危害,所以只在有信任的虚拟机上这样设置。



展开 收起

清梅 随身wifi 上网卡

清梅 随身wifi 上网卡

1.7元起

COMFAST pcie无线网卡台式电脑WIFI6接收器AX200SE 5G3000MWiFi5.2

COMFAST pcie无线网卡台式电脑WIFI6接收器AX200SE 5G3000MWiFi5.2

89元起

Tenda 腾达 AX300 WiFi6免驱 usb无线网卡

Tenda 腾达 AX300 WiFi6免驱 usb无线网卡

19.9元起

COMFAST CF-812AC 1300M 千兆USB无线网卡(802.11ac)

COMFAST CF-812AC 1300M 千兆USB无线网卡(802.11ac)

29元起

Tenda 腾达 U2 V5.0 300M 千兆USB无线网卡 白色 Wi-Fi 6

Tenda 腾达 U2 V5.0 300M 千兆USB无线网卡 白色 Wi-Fi 6

17.9元起

EDUP 翼联 AX210 无线网卡 WiFi6

EDUP 翼联 AX210 无线网卡 WiFi6

119元起

UGREEN 绿联 CM448 650M 百兆USB无线网卡

UGREEN 绿联 CM448 650M 百兆USB无线网卡

29.9元起

MERCURY 水星网络 USB无线网卡 WiFi6

MERCURY 水星网络 USB无线网卡 WiFi6

19.9元起

COMFAST CF-BE200-M WiFi7无线网卡

COMFAST CF-BE200-M WiFi7无线网卡

168元起

TP-LINK 普联 AX3000 全屋WiFi6套装 5口AC路由器*1+3AP 白色

TP-LINK 普联 AX3000 全屋WiFi6套装 5口AC路由器*1+3AP 白色

1499元起

MERCURY 水星网络 水星WiFi6免驱 usb无线网卡 外置天线 台式机笔记本电脑无线wifi接收器 随wifiUX3H

MERCURY 水星网络 水星WiFi6免驱 usb无线网卡 外置天线 台式机笔记本电脑无线wifi接收器 随wifiUX3H

21.9元起

奋威(fenvi) AX210无线网卡WiFi6电竞千兆三频5374M笔记本台式机内置蓝牙AX200 WIFI 7 BE200NGW

奋威(fenvi) AX210无线网卡WiFi6电竞千兆三频5374M笔记本台式机内置蓝牙AX200 WIFI 7 BE200NGW

118元起

Newmine 纽曼 1300M免驱版 USB无线网卡 千兆5G双频 台式机笔记本电脑

Newmine 纽曼 1300M免驱版 USB无线网卡 千兆5G双频 台式机笔记本电脑

85元起

Tenda 腾达 U6 免驱版 300M USB无线网卡 Wi-Fi 4(802.11n)

Tenda 腾达 U6 免驱版 300M USB无线网卡 Wi-Fi 4(802.11n)

17.9元起

Tenda 腾达 U10 650M USB无线网卡

Tenda 腾达 U10 650M USB无线网卡

55元起

UGREEN 绿联 USB转无线网卡 AC1300

UGREEN 绿联 USB转无线网卡 AC1300

99元起
64评论

  • 精彩
  • 最新
  • 楼主是什么主板?目测是j3455?

    校验提示文案

    提交
    我是疫情在家空闲多,把废弃的台式电脑捡起来搞NAS。目前组合是INTEL Q9400S+Lenovo Q45主板,板载千兆网卡,又插了一块PCIE双口英特尔千兆网卡,查了不少资料终于搞起双口网卡、硬盘直通。在英特尔775针插座里面,只有Q45主板和Q9400、Q9505、Q9550(尾号S是低功耗版本)少数几个4核CPU能够同时支持VT-X和VT-D。

    校验提示文案

    提交
    我的是INTEL Q9400S+Lenovo Q45主板。在英特尔775针插座里面,只有Q45芯片组和Q9400、Q9505、Q9550(带S是低功耗版本)少数几个4核CPU同时支持VT-X和VT-D。

    校验提示文案

    提交
    还有4条回复
    收起所有回复
  • 如果只支持VT-X 是不是啥直通都不行了?

    校验提示文案

    提交
    只支持VT-X肯定不能直通,必须CPU支持VT-D、主板支持VT-D、BIOS设置激活VT-D三者都满足才可以尝试直通网卡、显卡。

    校验提示文案

    提交
    收起所有回复
  • USB网卡要添加直通参数?还是直接使用

    校验提示文案

    提交
    直通的意思是让unraid系统不要识别使用该设备,而是留给虚拟机使用,从而实现虚拟机直通设备,提高效率。如果机器上所有网卡都被直通了,unraid也就无法联网,变成单机版。USB网卡没用过,估计也是同样道理。

    校验提示文案

    提交
    请教下,我的两个板载网卡型号一样,屏蔽之后就都屏蔽了,有其他方法吗?

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 老哥这个适用于PCIE的网卡直通吗?我尝试了是失败的,,,

    校验提示文案

    提交
    应该无所谓是否PCIE,原理是通用的,但具体是否能成就要靠实践了。

    校验提示文案

    提交
    收起所有回复
  • 最近在折腾unraid,然后网卡硬件直通给软路由,确实有很多坑。也说一下我的情况吧,首先就是根据司波图大佬进行硬件直通,但是输入屏蔽代码过后,新建虚拟机是没有直通选项的。我的解决方案是:1,确定cpu是支持VTD的,这个可以去英特尔官网查。2,确认确实支持的情况下,去BIOS,打开高级设置中 北桥 里面有 VTD选择,选择开启。然后重启进入unraid就可以使用了。打开软路由直通硬件也不会抱错了。希望能帮到后面的值友。

    校验提示文案

    提交
    你好,想请教一下,我是双网口主板,按作者的设置,屏蔽网口以后,重启unraid分配不了ip了,安全模式可以分配。是不是因为把网口屏蔽的原因?我对直通理解应该有点问题,能指教一下吗?作者这种情况应该是主板自带网口,然后又拓展了网口,最后把拓展的网口屏蔽掉,不影响unraid使用。而我直接把所有网口屏蔽了,是这样吗?

    校验提示文案

    提交
    收起所有回复
  • 大佬请教下,俺买了一块网卡插在PCI 1X接口和板载网卡相同型号的,结果屏蔽的时候就把两块网卡都屏蔽了。。。只能进UI。。这个怎么破?

    校验提示文案

    提交
    同样的问题,也是PCI 1X接口网卡和板载网卡相同型号,屏蔽后web ui都进不了,你解决没有。

    校验提示文案

    提交
    同失败,同是j3455,pcie插的两口的82576,居然和板载的8111是一组,无解 全都提示不可行

    校验提示文案

    提交
    还有5条回复
    收起所有回复
  • 您的问题解决方法很适用。
    append pcie_acs_override=downstream,multifunction iommu=pt vfio-pci.ids=你的网卡信息 vfio_iommu_type1.allow_unsafe_interrupts=1 initrd=/bzroot
    这条代码很关键,思路就是首先让主板和网卡开通iommu功能,再屏蔽网卡,并成功分组。
    我按照您的思路和代码,解决了网卡分组问题。配合VFIO-PCI-CFG插件,将华擎H310CM+Intel G5400+BCM 5719 4网口扩展网卡的主机成功直通网卡。

    校验提示文案

    提交
    老哥 你是unraid哪个版本啊 bcm5719在unraid里能驱动么?

    校验提示文案

    提交
    老哥 你unraid是哪个版本的 bcm5719不直通也能驱动么

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 谢谢分享。我的是华擎J3455,就是直通的时候发现PCI网卡竟然和主板网卡都绑到一起的,去官网论坛,因为英文太差也搞不明白。本来已经放弃,看了你的文章决定再折腾一下。

    校验提示文案

    提交
    我也是J3455,一直搞不定PCI的网卡直通

    校验提示文案

    提交
    放弃了,反正群晖现在干的活也不多了,也不准备做虚拟软路由,只是可惜了买的4口千兆网卡了。

    校验提示文案

    提交
    收起所有回复
  • 按照您的设置,确实,原先捆绑在一起的四个网口,都独立开了,但是绑定到虚拟机上,启动虚拟机,依旧报错。。。。貌似无解了!没想到四口网卡那么麻烦!由于这台机器只有这四个网口,如果直接在第一种启动模式下屏蔽网卡,因为四口四个ID都是一样的,所以启动后,管理口也被屏蔽无法登陆,如果在GUI模式下,用鼠标键盘可以控制,但是虚拟机无法启动,报错!

    校验提示文案

    提交
  • J3455 支持VT-X 不支持VT-D是不是就没办法做网卡直通?虚拟群晖做网卡直通一直报错

    校验提示文案

    提交
    J3455 VT-X和VT-D都是支持的

    校验提示文案

    提交
    收起所有回复
  • 尝试失败,已经看到两个虚拟直通都是可以的,但是我的pei网卡和SATA,板载网卡什么的依然在一个组里面。

    校验提示文案

    提交
  • J3455直通PCI网卡 和 板载网卡都试过了 还是一样报错 无解 还是用回黑裙 50M/S的速度太捉急了

    校验提示文案

    提交
    Unraid下的速度?50M?

    校验提示文案

    提交
    虚拟黑裙是这个速度

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 貌似确实我的cpu不支持vtd,所以不支持vtd,所以unraid下群晖没法用是这个意思么?还是我另外加个pcie网卡就能用?

    校验提示文案

    提交
    应该是不能直通了,我也是这样,现在放弃了 [尴尬]

    校验提示文案

    提交
    收起所有回复
  • 折腾了好久 j3455网卡直通 不可行 在想要不要换j4105或者j5005 但是不确定会不会还是有类似问题

    校验提示文案

    提交
  • 我也俺斯波图设置 不成功,也是提示想要直通的网卡与其他设备捆绑在一起了,不知道按照楼主这办法能解决不

    校验提示文案

    提交
  • 设置了依然报错,没办法了

    校验提示文案

    提交
  • 总是报错,unkown pci header type '127'?另外我板载的与pcie的网卡认到是同一个号,不能屏蔽

    校验提示文案

    提交
    这个可以解决,重启unraid就行。如果想解决好点,搜一下“AMD reset bug”就能找到更好点的解决方案。我现在是直通后,显卡只发挥了8成功力,比较伤 [哭泣]

    校验提示文案

    提交
    收起所有回复
  • 我半年前弄过一台机器,该机器主板自带一块螃蟹卡,我又差了一块螃蟹卡,型号一样,ID一样,弄了很久,给我想出来一个方法,我先把屏蔽网卡的代码写在第二种启动模式里(也就是GUI),启动后,插上显示器、鼠标和键盘,将网卡分配一张给虚拟机(这时候可以看到虚拟机有两张网卡可以选择,因为两张螃蟹卡一模一样),设置完毕后,重启至第一个启动项,由于第一个启动项没有屏蔽网卡,而且PCI接口的螃蟹卡给虚拟机抢占了,只有管理口空着,那么我也能通过另一台计算机访问unraid后台!但是今天玩的这台服务器,四个口在一个组里,用您的方法,确实可以将四个口拆分开,但是绑定给虚拟机,启动虚拟机依旧报错,无解了!

    校验提示文案

    提交
  • 设置后无法连接宿主机,也无法进入系统,怎么破?

    校验提示文案

    提交
    据说单网口不要网卡直通

    校验提示文案

    提交
    兄弟最后怎么解决的?我也遇到这个问题了 [喜极而泣]

    校验提示文案

    提交
    收起所有回复
  • 主板CPU虚拟特性都支持也都打开了,网卡是惠普331t千兆4口网卡,x4转接卡,BCM5719芯片,6.9.1驱动正常但是四个口跟别的硬件混在一个组里,升级系统没用,博通官网只有驱动而且还是suse或红帽的,搜半天好像用这卡的就没刚好用unraid的,pve和esxi下偏偏都能单个网口直通,PCIe ACS 覆盖光是选下端也只是把博通四个口放一个组了,非得both才行

    校验提示文案

    提交
    兄弟,转接口的你是自动识别吗,有啥设置不,我插上去完全没反应呀

    校验提示文案

    提交
    bcm5719不支持拆分的不支持VRiov什么的

    校验提示文案

    提交
    收起所有回复
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章

szpttbank

Ta还没有介绍自己

关注 打赏
最新文章 热门文章
269
扫一下,分享更方便,购买更轻松