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 上网卡

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元起

EDUP 翼联 AX210 无线网卡 WiFi6

EDUP 翼联 AX210 无线网卡 WiFi6

119元起

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

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

17.9元起

MERCURY 水星网络 USB无线网卡 WiFi6

MERCURY 水星网络 USB无线网卡 WiFi6

19.9元起

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

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

29.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元起

COMFAST CF-922AC双频5g免驱USB接口无线网卡

COMFAST CF-922AC双频5g免驱USB接口无线网卡

49元起
15评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

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

相关文章推荐

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