Unraid 篇三:SR-IOV网卡虚拟分组直通及避坑指南

2022-05-31 11:20:15 12点赞 137收藏 15评论

写在前面

这个课题其实可以说是老生常谈了,自己很早就配置了.

主要是最近想把两年前的坑补上,并且留下记录以后备查方便.踩过的坑太多,自己写一段流畅的操作记录,比扒拉各个帖子更实在点.


Q:SR-IOV是啥?

A:简单讲就是讲一张网卡支持SR-IOV就可以将单个或多个网口分组直通出更多的虚拟网卡,提供给虚拟机或者docker等其他应用使用,节约成本,更高效利用,比较明显的缺点就是小包转发效率比正常单口直通要差.支持的设备有比较常见的 I350 , X520 等网卡.选购这些网卡也是有比较大的坑,本篇不详述.

Q:如何看自己的设备是否支持SR-IOV?

A:现在unraid已经非常无脑简单配置了,打开 工具 - 系统设备 ,鼠标移动到网卡的字段上,

如果在单根 I/O 后面有(SR-IOV)字样,就说明支持.


SR-IOV网卡虚拟分组直通及避坑指南



阅读完以上,如果你没有需求,alt+F4. 有需求,这篇文章可以让你少踩很多坑,我会提供我的方案,并且快速配置完.



正文


1.前提及准备工作:


主板开启 VT-d , 网卡支持 SR-IOV

以我这张 I350-T4 网卡( 01:00.0 ~ 01.00.3 )为例

查询是否支持的命令:

lspci -s 01:00.0 -vvv | grep Capabilities

查询可虚拟数量的命令:

cat /sys/bus/pci/devices/0000:01:00.0/sriov_totalvfs


我的显示8,所以最多能虚拟7个,1个被物理口占用,根据实际需求,可以不用一次全都单口虚拟成8个,一张网卡虚拟成64个可用口,因为虚拟的越多,虚拟网口效率自然更差.


2.正式施工:

还是以我的硬件条件为例 (主板H370N:2个物理网口+I350T4网卡:4个物理网口)

A. 规划,选择性虚拟直通(重要) :

eth0:主板上的i211网口 : 不直通,用作管理口

eth1:主板上的i219-v网口 : 直通给win10虚拟机

I350T4网卡 : 1~3口直通 , 4口不直通 , 分组后再直通虚拟出来的VF卡 (前3口提供直通,4口留作更多虚拟机的备用,虚拟7个网口)

提前规划,很重要的原因是: 如果不规划好,提前在网络里设置顺序及后续的MAC分配,重启以后,或者启动项修改成GUI方式等等原因,会造成之后的配置混乱,又要倒回来重新搞,必须一步到位,以免后患!SR-IOV网卡虚拟分组直通及避坑指南

B. 网络设置 :

  • 关闭阵列, 前往 设置 - 网络设置

eth0用作管理口,保持之前设置不动

SR-IOV网卡虚拟分组直通及避坑指南

  • 往下翻,找到 接口规则

按照我前面的规划,按照顺序分别分配

下图中,我的分配顺序,因为我已经直通过了,所以中间的网卡不显示,这里的eth8就是我的规划中,I350网卡的最后一个口不直通,所以能显示

SR-IOV网卡虚拟分组直通及避坑指南

配置完,保存

C. 测试获取硬件号 :

  • 先测试一下,以及获取对应硬件号留存备用:

echo 1 > /sys/bus/pci/devices/0000:01:00.3/sriov_numvfs

ip link set eth8 vf 0 mac 00:55:15:21:e1:f0

ip link show dev eth8

SR-IOV网卡虚拟分组直通及避坑指南

注 :

0000:01:00.3 - 对应我的第四个网口的子编号 ( 01:00.3 )

eth8 - 就是上文所述的要虚拟的口

echo 1 - 要分组几个就填几

vf 0 - 编号从0开始计

mac XX:XX:XX:XX:XX:XX - 网卡地址自定义

  • 工具 - 系统设备 : 记录下虚拟出来的硬件号 ( 8086:1520 )

SR-IOV网卡虚拟分组直通及避坑指南


D . 修改启动项 :

  • 打开Syslinux文件

: OS和GUI模式下都改,为的是万一系统被自己折腾出毛病,还能进GUI抢救的情况下,网卡配置不会乱,省的下次再改,如果进下面其他安全模式之类的,没有配置过,重启以后,顺序还是会乱的,这点注意

  • OS 和 GUI 模式 , 修改添加 :

append pcie_acs_override=downstream,multifunction vfio_iommu_type1.allow_unsafe_interrupts=1 intel_iommu=on iommu=pt pci_pt_e820_access=on pci=assign-busses xen-pciback.hide=(01:00.0)(01:00.1)(01:00.2) vfio-pci.ids=8086:1520 initrd=/bzroot

SR-IOV网卡虚拟分组直通及避坑指南

以上命令的解释:

(01:00.0)(01:00.1)(01:00.2) - 就是我的规划中所注,直通前I350网卡的前3个口,第四个口不能直通,需要RS-IOV.

vfio-pci.ids=8086:1520 - 是I350网卡开启SR-IOV以后出现的VF卡所对应的分组硬件号

其他命令是关于IMMO分组,开启虚拟机PCIe-ACS覆盖等的相关命令,照抄就行

E . 固定网卡地址

  • go文件添加 :

echo 7 > /sys/bus/pci/devices/0000:01:00.3/sriov_numvfs

ip link set eth8 vf 0 mac 00:55:15:21:e1:f0

ip link set eth8 vf 1 mac 00:55:15:21:e1:f1

ip link set eth8 vf 2 mac 00:55:15:21:e1:f2

ip link set eth8 vf 3 mac 00:55:15:21:e1:f3

ip link set eth8 vf 4 mac 00:55:15:21:e1:f4

ip link set eth8 vf 5 mac 00:55:15:21:e1:f5

ip link set eth8 vf 6 mac 00:55:15:21:e1:f6

SR-IOV网卡虚拟分组直通及避坑指南


F.重启,完工




避坑及拓展


  • 实测我的卡不能虚拟出来给群晖用,但是windows有效,其他卡也有别人的案例说分配爱快驱动问题,无法拨号,我没试过不知

  • 虚拟网卡主要作用是有限PCI插槽下,为了拓展给更多的虚拟机使用,量力而行,不要盲目为了多网口而去直通

  • 多口划分出来可以玩交换机vlan,参照 https://post.smzdm.com/p/a0dopz6z/

  • 如果你是2.5G网口,需要添加额外代码,否则容易出现断连 , 别人帖子里看到的解决方法 ,

    go 文件添加 :

/usr/sbin/ethtool -s eth8 speed 2500 duplex full
/sbin/ifconfig eth8 down
/sbin/ifconfig eth8 up



unraid国内的氛围太差,很多东西需要扒拉外网,挺累人的

打算把几年踩过的坑,趁这股劲一起扒拉出来写写完,写着写着又有点没动力了,主要是之前整套HTPC自动化观影布完,一下就养老了,也没啥新鲜的玩意儿完.现在就期待intel什么时候能推出平民级的GPU虚拟化方案,这个只能在11-12代期待能实现,所以目前还是继续用我现在的硬件配置来作这个多用体,既能搞定HTPC硬解,又是一台办公家用的windows/mac/linux, 有兴趣的可以参考我这篇哦SR-IOV网卡虚拟分组直通及避坑指南

Unraid 篇一:Docker核显硬解 + windows虚拟机外接显示器物理输出iGPU YES!_显示器_什么值得买 (smzdm.com)

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起

清梅 随身wifi 上网卡

清梅 随身wifi 上网卡

7.56元起

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

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

89元起

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

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

19.9元起

EDUP 翼联 AX210 无线网卡 WiFi6

EDUP 翼联 AX210 无线网卡 WiFi6

119元起

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

18.9元起

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无线网卡 外置天线

MERCURY 水星网络 水星WiFi6免驱 usb无线网卡 外置天线

25.9元起

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

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

119元起

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)

18.9元起

Tenda 腾达 U10 650M USB无线网卡

Tenda 腾达 U10 650M USB无线网卡

55元起

UGREEN 绿联 USB转无线网卡 AC1300

UGREEN 绿联 USB转无线网卡 AC1300

99元起
15评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

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

相关文章推荐

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