NAS相关 篇二:UNRAID下开启SRIOV——安全落地

2021-05-31 10:34:24 29点赞 116收藏 45评论

创作立场声明:所有内容均来自网络公开资料+自我研究,纯分享。如对你有帮助,请多多支持鼓励。

上篇说了unraid下开启SRIOV的方法。

不知道机油们是否顺利开启了?NAS相关 篇二:UNRAID下开启SRIOV——安全落地

NAS相关 篇一:UNRAID下开启SRIOV——曲折之路创作立场声明:所有内容均来自网络公开资料+自我研究,纯分享。如对你有帮助,请多多支持鼓励。说起来玩NAS有一段时间了。一路过来遇到不少问题,也解决了不少问题。而这次之所以写下这篇。是因为这个坑太大,卡住我太久啦。既然已经把坑趟平,索性分享出来,希望各位机油少走一点弯路。不过还是那句话,机和机毕竟不同转身就买| 15 评论4 收藏70查看详情

今天我们把最后的部分补上。

主要是三部分。

第一、如何屏蔽虚拟设备(VF),让虚拟机可以调用虚拟设备。

第二、如何固定虚拟设备的MAC地址,避免每次开机MAC地址随机变动。

第三、补充注意点

不多毕毕,下面教程马上开始。NAS相关 篇二:UNRAID下开启SRIOV——安全落地

第一部分

延续上一篇,在已经开启网卡SRIOV的情况下。

我们来到工具-系统信息看一下硬件信息。

可以看到我们的Virtual Function设备(VF),以及ID信息。

VF设备信息VF设备信息

我这里的VF设备ID是8086:1515

用过直通的小伙伴们都知道,直通之前要先屏蔽设备。

我们再次修改MAIN-FLASH。

在UNRAID OS中加入下面语句。

vfio-pci.ids=8086:1515

加入屏蔽设备命令加入屏蔽设备命令

注意这里ID大家不要照抄,根据自己实际情况填写!NAS相关 篇二:UNRAID下开启SRIOV——安全落地

保存以后我们重启unraid

然后到新建虚拟机界面

就可以看到可以选用许许多多的VF网卡啦NAS相关 篇二:UNRAID下开启SRIOV——安全落地

虚拟机可以用的VF设备虚拟机可以用的VF设备

设备太多截图都截不完。NAS相关 篇二:UNRAID下开启SRIOV——安全落地

纯展示,大家实际使用没必要虚拟那么多。 NAS相关 篇二:UNRAID下开启SRIOV——安全落地

只要给你的虚拟机分配需要的VF设备就可以啦。NAS相关 篇二:UNRAID下开启SRIOV——安全落地

第二部分

我们要做的就是给你的VF网卡固定MAC地址。

因为不固定的话每次重启MAC地址都会随机变动。

还记得篇一中提醒大家记下的UNRAID网络接口设置信息吗。NAS相关 篇二:UNRAID下开启SRIOV——安全落地

UNRAID网络接口设置UNRAID网络接口设置

我这里用作开启SRIOV示例的X540的01.00.0网口,对应的是eth5。NAS相关 篇二:UNRAID下开启SRIOV——安全落地

查看eth接口信息的命令是

ip link show dev 网络接口名称

所以我们输入以下命令查看eth5接口所有的连接信息。

ip link show dev eth5

eth5接口的所有连接信息eth5接口的所有连接信息

可以看到最上面的是网口物理MAC地址,下面所有的VF虚拟网口MAC地址都是00:00:00:00:00:00。

我们要做的就是把VF虚拟网口的MAC手动指定,绑定好固定下来,虚拟机在使用这些虚拟网口的时候,MAC才不会变化。NAS相关 篇二:UNRAID下开启SRIOV——安全落地

其实绑定MAC地址的命令非常简单。

命令如下。

ip link set eth接口名 vf vf序号 mac MAC地址

示例执行

ip link set eth5 vf 0 mac 00:54:0b:00:00:00

这里意思就是配置eth5接口0号VF的MAC地址为00:54:0b:00:00:00NAS相关 篇二:UNRAID下开启SRIOV——安全落地

然后再用 ip link show dev eth* 命令来验证一下

设置并且验证vf网口MAC地址设置并且验证vf网口MAC地址

可以看到VF0的MAC已经成功配置为 00:54:0b:00:00:00 NAS相关 篇二:UNRAID下开启SRIOV——安全落地

如果想配置其他VF网口,只要把命令改成对应的参数就可以啦。NAS相关 篇二:UNRAID下开启SRIOV——安全落地

这里我演示一下配置前6个VF网口。

执行以下全部命令即可。NAS相关 篇二:UNRAID下开启SRIOV——安全落地

ip link set eth5 vf 0 mac 00:54:0b:00:00:00

ip link set eth5 vf 1 mac 00:54:0b:00:00:01

ip link set eth5 vf 2 mac 00:54:0b:00:00:02

ip link set eth5 vf 3 mac 00:54:0b:00:00:03

ip link set eth5 vf 4 mac 00:54:0b:00:00:04

ip link set eth5 vf 5 mac 00:54:0b:00:00:05

再验证一下。

配置6个VF网口配置6个VF网口

配置成功,非常完美。NAS相关 篇二:UNRAID下开启SRIOV——安全落地

最后,我们只要把所有的MAC配置命令写进go文件,每次开机自动执行就可以啦!

老规矩

执行

nano /boot/config/go

添加命令

配置go文件,开机自动执行。配置go文件,开机自动执行。

改好以后按 ctrl+X 然后键入y 再回车保存即可。

提醒一下。你给VF的MAC地址里,最好用你自己看得懂的办法,标记一下这些VF是哪个网口开启的。方便多VM的情况下区分。比如我上面的MAC里就有540,意思就是X540。NAS相关 篇二:UNRAID下开启SRIOV——安全落地

到这里整个unraid下的SR-IOV配置流程就结束了。

大家可以根据自己实际情况实际需求来进行具体配置。NAS相关 篇二:UNRAID下开启SRIOV——安全落地

第三部分

后面说一下需要注意的地方。

开启了SR-IOV功能的网口,就不能用作物理直通了。

所以,有直通部分网口需求的朋友,只用部分网口开启SR-IOV即可。

而且在设备ID相同的情况下(同一张网卡所有网口的硬件ID都相同),不能直接用屏蔽设备ID的方法来开启直通。

想要实现部分网口直通,部分网口开启SR-IOV,要用下面的方法来。

在unraid6.9.1和unraid6.9.2下,来到设置-虚拟机管理器-打开右上角的高级视图。

PCIe ACS 覆盖 设置为 两者;VFIO 允许不安全的中断 设置为 是。

虚拟机管理器设置虚拟机管理器设置

应用以后重启unraid。

再来到工具-系统设备

勾选上你需要直通的网口(未配置过SR-IOV的网口),再点击下方的“在引导时对VFIO选择了绑定”按钮,然后重启unraid即可。

网口直通设置网口直通设置

重启之后就可以在虚拟机编辑界面选择你需要的任意网口了,带有Virtual Function的是VF虚拟网口,不带的就是物理网口。NAS相关 篇二:UNRAID下开启SRIOV——安全落地

配置好直通的物理网口配置好直通的物理网口

这里还要提醒一点。

如果改变了物理网口直通配置,unraid会直接屏蔽或者放弃屏蔽对应网口。

而剩下的网口对应的eth数值也会改变!NAS相关 篇二:UNRAID下开启SRIOV——安全落地

所以这里要特别注意了。可能之前配置的绑定SR-IOV虚拟网口MAC地址的命令会失效,因为网口eth数值已经变了!

所以每次改变物理网口直通配置以后,都要去设置-网络设置里,检查网口对应的eth值。

改动前改动前

改动后改动后

对照之前的数值,可以看到网口eth值已经发生改变。

检查确认好以后,再根据当前网口对应的eth值,去改已经写入go文件的MAC绑定参数。NAS相关 篇二:UNRAID下开启SRIOV——安全落地

所以这里又延伸出一个知识点。

如果你已经规划好了网络结构,最好先配置好物理直通,再操作开启配置网卡SR-IOV功能。NAS相关 篇二:UNRAID下开启SRIOV——安全落地

这里贴一下我自己实际的配置,仅供参考。

注意检查网口eth值注意检查网口eth值

我的情况

X540T2的第一个口用作SRIOV,开启了8个VF,第二个口用作直通。

I350T4的第一第二个口用作SRIOV,各自做了7个VF,第三口第四口用作直通。NAS相关 篇二:UNRAID下开启SRIOV——安全落地

大家自己举一反三就可以了。NAS相关 篇二:UNRAID下开启SRIOV——安全落地

以上就是教程的全部。NAS相关 篇二:UNRAID下开启SRIOV——安全落地

最后

为了开启这个SR-IOV功能。

先是参考人生观大佬的教程,开启失败。NAS相关 篇二:UNRAID下开启SRIOV——安全落地

以为自己主板不支持。从8代U+z370mpro4,换成了主板有单独SR-IOV开关的十代设备。结果失败。NAS相关 篇二:UNRAID下开启SRIOV——安全落地

以为是网卡问题又买了好几张网卡。还是失败。NAS相关 篇二:UNRAID下开启SRIOV——安全落地

觉得是系统问题,又折腾了好久ESXI。发现ESXI6.0以后的版本都不支持1G网卡开启SR-IOV,只支持10G以上网卡开启。再次失败。NAS相关 篇二:UNRAID下开启SRIOV——安全落地

后来的后来,换到PVE,发现终于可以开启了!简直不要太高兴。NAS相关 篇二:UNRAID下开启SRIOV——安全落地

结果抱着试试的心态换回8代 +z370mpro4,发现居然也能开启!NAS相关 篇二:UNRAID下开启SRIOV——安全落地 这就是痛并快乐着吗?

最后参考PVE下的方法,配合自己的亿一点点奇思妙想。终于搞定unraid下开启SR-IOV。NAS相关 篇二:UNRAID下开启SRIOV——安全落地

前前后后耗时无数,钱也花了不少(还好硬件能卖)。NAS相关 篇二:UNRAID下开启SRIOV——安全落地

一堆乱七八糟的白买的硬件,容我静静。一堆乱七八糟的白买的硬件,容我静静。

不管怎样,最后结果是好的,总算安全落地。NAS相关 篇二:UNRAID下开启SRIOV——安全落地

估计会有人问,这有啥意义?

我只想说:可以不用,不能没有。NAS相关 篇二:UNRAID下开启SRIOV——安全落地

最后的最后,希望大家都能顺利开启用上,完结撒花~!NAS相关 篇二:UNRAID下开启SRIOV——安全落地

参考资料(排名不分先后):

UNRAID 篇一:unRAID 开启SR-IOV简单小科普:什么是SR-IOV百度科普转送门,直接看,看不懂?我来说说我的理解,就是把物理网卡拆分成多分网卡(VF)然后把拆分出来的VF在直通给需要的虚拟机,不是都支持的,网卡能拆分出来的数量也有所不同,SR-IOV好处在于,性能介于虚拟、和直通之间,性能要比虚拟的网卡要好,使用又比硬件直通更灵活(人生观2019| 29 评论43 收藏177查看详情

如何:在具有 1GB/10GB/40GB 网络接口卡 (NIC) 的 UNRAID 中使用 SR-IOV

echo: write error: Cannot allocate memory

多个 IOMMU 组中的相同 PCI ID [已解决]

在PVE环境下打开SRIOV


展开 收起
45评论

  • 精彩
  • 最新
  • 网卡能支持,照理显卡也是可以的吗

    校验提示文案

    提交
    显卡是gvt-g,目前unraid692下可以通过插件实现,不过限制比较大。

    校验提示文案

    提交
    收起所有回复
  • 大佬,按照你的教程已经成功把VF直通到虚拟机里面了,但我发现经常会断流,我用的也是I350 T4,请问你有没有遇到类似问题?

    校验提示文案

    提交
    没有,几个虚拟机7*24小时挂机,一直正常。

    校验提示文案

    提交
    sriov直通给群晖,群晖不识别sriov网卡呀

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 大佬,按照你教程成功虚拟了一组,但是现在我用网线连在路由器上,显示的是没有插网线 [傻笑]

    校验提示文案

    提交
    什么东西显示没有插网线?检查你的物理网口,物理口通SRIOV就通。

    校验提示文案

    提交
    你有解决这个问题吗

    校验提示文案

    提交
    收起所有回复
  • 在unraid下安装ikuai的时候,选择两个虚拟网卡给ikuai用,但是ikuai装好以后根本看不到这两块网卡,怎么破?

    校验提示文案

    提交
    那得先确定爱快支不支持驱动sriov

    校验提示文案

    提交
    搞定了,我是看的阿文菌的文章,用SR-iov和网卡直通照做都跟他的教程不一样,全都用不了。我的网卡是X550-T2,应该他的软路由可能比较常见,ikuai支持的比较好?我这块需要安装ikuai后的第一步,选9,把所有网卡驱动打开,然后就是直通网卡和虚拟网卡全都能看到和绑定了

    校验提示文案

    提交
    还有15条回复
    收起所有回复
  • 你直接开32个vf?不怕死机?540很容易出问题,建议3+3一共6个

    校验提示文案

    提交
  • 谢谢分享,看来教程信心倍增,准备买x520给pve玩,不知道楼主有没有虚拟op、ikuai,有没有问题? [高兴]

    校验提示文案

    提交
  • 楼主厉害,两篇文章照着做,全都一步成功!M920X + X550-T2

    校验提示文案

    提交
  • 楼主有没有试过openwrt下的SR-IOV?这个我是彻底搞不定了,完全看不见虚拟网卡,想装驱动都不知道怎么装。这些LINUX系统成熟度跟windows比真的差的太远、太远……想玩好,极其考验折腾的耐受度和UNIX水平

    校验提示文案

    提交
  • 我是在pve和esxi上试的。SR-IOV能启用,爱快 OPENWRT也能认,但是就是断连。
    和恩山这个老哥的类似。去看看

    校验提示文案

    提交
    我在unraid上开启rs-iov,也顺利将vf口直通给ikuai和op。ikuai在开始所有网卡驱动后,可以识别vf网口,但依然显示断开状态。op干脆直接就无法识别vf网口(可能是op版本内没编译进x540驱动?)。发愁!

    校验提示文案

    提交
    不玩SR-IOV了,直接万兆网卡插满物理交换 [耶]

    校验提示文案

    提交
    收起所有回复
  • 我的情况比较复杂:一个2.5G网口是Unraid的管理口,需要网线连接硬路由上网,这个网口也需要使宿主机的docker上网,同时还要负责Ikuai,Openwrt,群辉,macOS,Ubuntu,Windows等虚拟机上网,我不知道sr-iov可以同时满足这些docker和虚拟机以及物理网口上网吗?
    而且有的虚拟机如果不支持sr-iov驱动,是否可以在此网口上即开启sr-iov又开启纯虚拟网桥给虚拟机使用?期待大佬的回答,谢谢。

    校验提示文案

    提交
  • 楼主,你好,有两个问题我不太懂!一个是用物理万兆网卡sr-iov虚拟网卡vf后,要使vf能正常使用,物理网卡需要接网线么,如果不插网线是不是vf都会失效?第二个是:万兆的物理网卡如果是接千兆交换机,那这个万兆通过sr-iov虚拟出来的vf的速度在虚拟机之间传输是万兆还是千兆?有没有其他大佬能帮我解惑? [喜极而泣]

    校验提示文案

    提交
  • 问个问题,开了sriov的口不能直通了,是不是只要这口通过网线接到路由器下,那么这个口下面VF网卡绑定的虚拟机是不是就都通网了? 如果在unraid(或者PVE)网络里面把这个物理口桥接一个虚拟网卡,再把虚拟网卡分配到软路由lan下面,是不是这个物理口下面的所有VF网卡也都能自动获取IP了? 可以少插一根网线,这个物理口也能当lan口用了?

    校验提示文案

    提交
    或者说把其中一个VF口绑定到软路由lan下面,其他的VF口上的虚拟机能直接联网吗

    校验提示文案

    提交
    请问大哥弄明白了吗 我现在也想知道这个sriov可以这么用吗

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 牛* PLUS,

    校验提示文案

    提交
  • 你好,我直通vf给win,外网访问都正常,但是无法访问宿主机内网ip以及docker那些容器ip,你有遇到这种情况吗

    校验提示文案

    提交
    vf网卡和宿主机网络不互通,esxi下可以互通,pve下可以通过执行代码互通,unraid下暂时没有找到解决办法

    校验提示文案

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

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
116
扫一下,分享更方便,购买更轻松