NAS相关 篇一:UNRAID下开启SRIOV——曲折之路
创作立场声明:所有内容均来自网络公开资料+自我研究,纯分享。如对你有帮助,请多多支持鼓励。
说起来玩NAS有一段时间了。
一路过来遇到不少问题,也解决了不少问题。
而这次之所以写下这篇。是因为这个坑太大,卡住我太久啦。
既然已经把坑趟平,索性分享出来,希望各位机油少走一点弯路。
不过还是那句话,机和机毕竟不同,如果还遇到其他坑,勿怪勿怪。
一切的一切,都要从人生观大佬的一篇教程开始https://post.smzdm.com/p/awx0xe2k/。(非常感谢人生观、司波图、阿文菌等等大佬,带给我们机油无限的知识财富和欢乐。)
然而参照人生观大佬的教程,我在UNRAID下开启网卡SR-IOV并不成功。试了无数次各种网卡依然失败。
只能翻遍资料,慢慢试验。其中曲折不堪回首(换了有SR-IOV选项的主板,翻阅了一堆看不懂的英文文档)。
不过还好最后让我机缘巧合地弄好了。
不多毕毕,下面教程马上开始。
老规矩简单介绍一下今天的主角,SR-IOV。
SR-IOV能允许一个物理PCIe设备把自身虚拟为多个虚拟PCIe设备。
至于为什么要这样做,我们直接搬结论。
纯虚拟性能 < SR-IOV虚拟性能 < 物理直通性能
打个比方,在设备支持的情况下。只要开启了SR-IOV功能,就可以把一张显卡虚拟化成一百张,分配给一百台虚拟机;也可以把网卡上的一个网口虚拟化成一百个网口,分配给一百台虚拟机。
当然是打个比方,实际没有那么夸张,一般常见的设备,虚拟出几个设备还是可以的。
比如这样。
或者这样。
开启SR-IOV前,我们要保证主板CPU支持虚拟化功能,VT-D。
这是必须的。
除此之外,如果主板有单独的SR-IOV开关,那也要打开。
某些主板只支持VT-D,但是没有单独的SR-IVO选项,但是一样支持SR-IOV功能。
比如我实测的华擎Z370Mpro4,只有VT-D开关,没有单独的SR-IOV开关,依然支持SR-IOV。
所以只要主板支持VT-D功能,大家大胆去试,说不定有惊喜。
打开VD-T以后我们进入UNRAID。
查看系统信息(任意界面点击右上角的“信息”)。
如图所示。
支持HVM就是支持虚拟化。
下面我们直接修改MAIN-FLASH。
在UNRAID OS中加入下面语句。
intel_iommu=on iommu=pt pcie_acs_override=downstream pci_pt_e820_access=on pci=assign-busses
保存以后重启系统。
重启后来到工具-系统设备。
就可以看到PCIe网卡信息,并且单网口是单独的IOMMU分组。
这里我接了一张X540 T2,一张I350 T4。
然后我们来到UNRAID网络设置。
设置好各个网口对应的eth信息,并且记好。
如果你想识别一个特定的物理接口,可以用ethtool -p eth*命令来查看,ethtool命令会使eth*端口的LED灯闪烁。
这时候我们打开SSH终端
输入开启网卡SR-IOV功能的命令
echo 虚拟设备数 > /sys/bus/pci/devices/0000:设备ID/sriov_numvfs
输入 lspci 就可以查看设备ID
我这里X540 T2两个网口的设备ID是01:00.0;01:00.1。I350 T4四个网口的设备ID是05:00.0;05:00.1;05:00.2;05:00.3。
输入 cat /sys/bus/pci/devices/0000:设备ID/sriov_totalvfs 就可以查看最大虚拟设备数。
这里可以看到X540单网口最大可虚拟63个虚拟网口,I350单网口最大可虚拟7个虚拟网口。
假如我想让X540的01.00.0网口开启SR-IOV功能,开启全部63个虚拟网卡(VF),则执行如下命令。
echo 63 > /sys/bus/pci/devices/0000:01:00.0/sriov_numvfs
执行成功的情况下,不会有任何反馈。
我们只要进入工具-系统设备
就可以看到已经成功开启了63个虚拟网卡(VF)
非常壮观
当然这里只是举例,一般我们不会用到那么多的虚拟网卡。
如果我们想去掉虚拟设备,或者减少虚拟设备,只要再执行一次命令就可以了。
其中的虚拟设备数改成我们需要的。比如完全去掉就是0,其他数量就根据实际需要写入。
echo 0 > /sys/bus/pci/devices/0000:01:00.0/sriov_numvfs
命令实时生效。
确定好配置以后,我们把命令写入到go文件中,每次开机自动开启虚拟设备。
执行
nano /boot/config/go
把命令写入go文件即可
改好以后按 ctrl+X 然后键入y 再回车保存即可。
这样就可以完美开启网卡的SR-IOV功能了。
由于时间问题,这篇暂告一段落,请大家期待下篇。
到时把屏蔽虚拟设备让虚拟机可以使用的流程(其实跟屏蔽PCIe设备用作直通的操作一样),以及固定虚拟网卡MAC地址的方法,一并写完。
qn8j(8700Tes)+z370mpro4+hp561flr(X540T2)+华为SP212(I350T4)
最后贴下测试设备,大家下回见~!
telanx
校验提示文案
逆小夏
校验提示文案
东方小爽
校验提示文案
eMuzi
校验提示文案
eMuzi
校验提示文案
NGO_
校验提示文案
moli39703
校验提示文案
carlyang1986
校验提示文案
eMuzi
校验提示文案
hullopanda
sr-iov的主要用途还是桌面虚拟化和虚拟机的东西方向的流量上
校验提示文案
路远求索
校验提示文案
息耒
校验提示文案
joker95275
校验提示文案
无形之刃
校验提示文案
值友4871183247
校验提示文案
2018琪琪爸爸
校验提示文案
爱吃大锅饭
下面我们直接修改MAIN-FLASH。
在UNRAID OS中加入下面语句。
intel_iommu=on iommu=pt pcie_acs_override=downstream pci_pt_e820_access=on pci=assign-busses
校验提示文案
爱吃大锅饭
校验提示文案
爱吃大锅饭
校验提示文案
爱吃大锅饭
下面我们直接修改MAIN-FLASH。
在UNRAID OS中加入下面语句。
intel_iommu=on iommu=pt pcie_acs_override=downstream pci_pt_e820_access=on pci=assign-busses
校验提示文案
moli39703
校验提示文案
2018琪琪爸爸
校验提示文案
值友4871183247
校验提示文案
NGO_
校验提示文案
eMuzi
校验提示文案
无形之刃
校验提示文案
eMuzi
校验提示文案
东方小爽
校验提示文案
逆小夏
校验提示文案
joker95275
校验提示文案
息耒
校验提示文案
telanx
校验提示文案
路远求索
校验提示文案
hullopanda
sr-iov的主要用途还是桌面虚拟化和虚拟机的东西方向的流量上
校验提示文案
carlyang1986
校验提示文案
eMuzi
校验提示文案