UNRAID 开启SR-IOV
一、前提条件
- 主板必须支持SR-IOV 这个可以去BIOS里面找,如果没有选项那几本就不用往下看了。另,本人的主板是MSI B460M迫击炮WI-FI,没有SR-IOV选项,降级刷了修改版的BIOS才能开启。
-
网卡需要支持SR-IOV,主板网卡都需要支持才可以,Intel I350、intel 82576这两款都是支持的,其他型号自行查看
二、开启确认
ssh登录UNRAID
# 查询PCIe网卡
lspci -nn | grep Eth
# 结果如下
01:00.0 Ethernet controller [0200]: Intel Corporation I350 Gigabit Network Connection [8086:1521] (rev 01)
01:00.1 Ethernet controller [0200]: Intel Corporation I350 Gigabit Network Connection [8086:1521] (rev 01)
01:00.2 Ethernet controller [0200]: Intel Corporation I350 Gigabit Network Connection [8086:1521] (rev 01)
01:00.3 Ethernet controller [0200]: Intel Corporation I350 Gigabit Network Connection [8086:1521] (rev 01)
04:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125] (rev 04)
# 根据查询到的ID 进行查询是否支持。 01:00.0 是我的,这里需要改成你们自己的
lspci -s 01:00.0 -vvv | grep Capabilities | grep SR-IOV
# 有看到结果SR-IOV,表示该网卡可以支持
Capabilities: [160 v1] Single Root I/O Virtualization (SR-IOV)
# 可以查看最大可以开多少VF网卡
cat /sys/bus/pci/devices/0000:01:00.0/sriov_totalvfs
7
三、开启SR-IOV
确定网卡可以支持之后
可以先通过配置开启
echo 7 > /sys/bus/pci/devices/0000:01:00.0/sriov_numvfs
配置完就可以在工具–系统设备中看到,如果不需要,改为0即可
我们进入main(主界面)–Flash(就是引导设备)–Syslinux 配置–Unraid OS,添加进如下代码
# 加入Unraid OS后应用,然后重启UNRAID
pcie_acs_override=downstream intel_iommu=on iommu=pt igb.max_vfs=7,7,7,7
注意:igb.max_vfs=7,7,7,7这行命令中,7,7,7,7这里我写了四个7你们几个网口就写几个,7如上面的命令查看最多开启VF网卡,还有要注意的每个数字之间的间隔,要用英文的逗号分开,切记切记。
代码主要注意
# Intel 平台
pcie_acs_override=downstream intel_iommu=on iommu=pt igb.max_vfs=7,7,7,7
# AMD 平台
pcie_acs_override=downstream amd_iommu=on iommu=pt igb.max_vfs=7,7,7,7
重启完成后我们进入tooles-System Devices 查看iommu下面的VF网卡是否成功,记下前面的ID,如[8086:1520],
将vfio-pci.ids=8086:1520加入main-Flash中,记得以空格分开,然后再次重启,我们就可以在虚拟机中添加该网卡了。