主页 > 软件教程 > unRaid系列七:直通网卡、硬盘和其它PCI硬件设备

unRaid系列七:直通网卡、硬盘和其它PCI硬件设备

此文将全面阐述如何直通各硬件设备给虚拟机的方法,在这里,我们将展开直通网卡和硬盘的方法,其中网卡又分直通板载网卡和直通PCI网卡,PCI网卡又分全直通和分组直通,直通硬盘这里采用的是折中的方法,没有涉及到阵列卡的直通,只是直通相应的硬盘,这样操作起来更简便,另外将其它的PCI设备直通方法也介绍一下,首先我们以安装黑群晖来进行举例来展开讲。

一、安装黑群晖

 

这个网上有很多教程,我也就直接引用司波图的B站教程,说的非常详细,里面也会带出来直通的相应的教程,可以做为参考的,

视频里面,有演示,通过虚拟机安装群晖NAS后:

在直通硬盘和直通网卡的情况下,可以有效减少 UNRAID 的硬盘占用。家用媒体服务器NAS 使用UNRAID系统的正确的玩法!直通网卡、直通硬盘、挂载群晖虚拟机文件! 

当虚拟机安装了群晖NAS,并且直通硬盘,不过未直通网卡: 速度可以跑到80m/s,占用的资源并不多:

 

unRaid系列七:直通网卡、硬盘和其它PCI硬件设备 unRaid&PVE 第1张


 

二、直通硬盘

我们安装好群晖时如果不直通硬盘,那样会占用非常大的CPU,不利于使用,这样我们需要将硬盘直通给虚拟机用,比如直通硬盘给黑群晖用,当然这里的直通不是严格意义上的硬件直通,只能说是相应的将硬盘专门映射给虚拟机用,它不能使用将阵列卡直通,具体方法是,我们先用指令找到硬盘ID,然后通过输入相应的设置,将硬盘进行直通

首先我们用unraid自带的终端输入以下命令:

ls /dev/disk/by-id

找到需要直通的硬盘,将其整个复制下来:

 

unRaid系列七:直通网卡、硬盘和其它PCI硬件设备 unRaid&PVE 第2张

 

这里我们直通的就是如图的磁盘:

当然要能挂载未加入unraid阵列的磁盘

 

unRaid系列七:直通网卡、硬盘和其它PCI硬件设备 unRaid&PVE 第3张

 

当然我们需要挂载未加入阵列的硬盘还需要安装插件devices:

 

unRaid系列七:直通网卡、硬盘和其它PCI硬件设备 unRaid&PVE 第4张

 

查到后我们需要到虚拟机配置中添加硬盘,如图:

其中硬盘直通的代码为:

ls /dev/disk/by-id/ata-ST4000VN008-2DR166_WE20OV7P

 

 

 

unRaid系列七:直通网卡、硬盘和其它PCI硬件设备 unRaid&PVE 第5张

 

这样就能将硬盘直通给虚拟机了,这里是直通给了黑群晖,非常方便的直通硬盘

三、直通网卡(全直通)

直通网卡分两种直通,一种是直通板载网卡,一种是直通独立网卡,这两种都是全直通,比如你板载网卡是两个网口的或者PCI网卡是四个网口的,这里讲的是全部直通过去,后面再讲如何分组

1、直通PCI网卡

我们在正常添加配置完虚拟机后,需要打开XML设置:

 

unRaid系列七:直通网卡、硬盘和其它PCI硬件设备 unRaid&PVE 第6张

 

然后将涉及网卡的那部分删除:

 

unRaid系列七:直通网卡、硬盘和其它PCI硬件设备 unRaid&PVE 第7张

 

然后勾选相应的网卡即可:

 

unRaid系列七:直通网卡、硬盘和其它PCI硬件设备 unRaid&PVE 第8张

 

2、直通板载网卡

如果需要直通板载的硬件,比如网卡,必需使用一个插件来禁用Unraid来调用它,这个插件是VFIO PCI Config,没错就是这个神器,我们可以在app商店里面进行安装:

 

unRaid系列七:直通网卡、硬盘和其它PCI硬件设备 unRaid&PVE 第9张

 

安装后只需将相应的硬件勾选禁用重启即可:

 

unRaid系列七:直通网卡、硬盘和其它PCI硬件设备 unRaid&PVE 第10张

禁用以后就能在后面虚拟机中添加板载网卡了,不过注意的是在做这个之前,你需要有一个网卡给unraid用

 

如果因为网卡设置无法进入unraid怎么办?我们可以在终端启动项中选择第二项guip来恢复之前的设置

3、直通PCI网卡报错处理

在直通网卡后启动时会报错,这个怎么办呢,我们可以到可以到VM高级设置中开启PCI ACS模式,大多数选择downstream,而我的GEN8选择的是Multi-function,这个看大家去测试

 

unRaid系列七:直通网卡、硬盘和其它PCI硬件设备 unRaid&PVE 第11张

 

 

unRaid系列七:直通网卡、硬盘和其它PCI硬件设备 unRaid&PVE 第12张

 

四、分组直通

为什么要分组直通呢,这是因为你可能将网卡直通给不同的虚拟机,而现在如果不分组,那么将会把PCI的所有网卡都直通给一个虚拟机,那样比较浪费,比如我就将GEN8的板载双网卡分组,一个给unraid用,一个直通给黑群晖用,这样就需要分组直通,这就需要直通,(GEN8因为是老款设备还需要HMS,这样才能正常启动),我们先来对照分组前后就知道了区别了:

分组前:

 

unRaid系列七:直通网卡、硬盘和其它PCI硬件设备 unRaid&PVE 第13张

 

分组后:

 

unRaid系列七:直通网卡、硬盘和其它PCI硬件设备 unRaid&PVE 第14张

 

一,覆盖U盘原文件

分组这个需要替换U盘里面的文件,替换的为六个文件(三组):bzfirmware  bzfirmware.sha256  bzimage  bzimage.sha256  bzmodules  bzmodules.sha256 复制到unraid系统u盘并覆盖原文件

然后settings -- vm Manager --  PCIe ACS override: 开启  Downstream,这样就可以重启开通分组直通了。

unRaid系列七:直通网卡、硬盘和其它PCI硬件设备 unRaid&PVE 第15张

 

二,板载网卡的分组直通

板载网卡开通分组直通后,没法在虚拟机配置里直接勾选相应的网卡,这里需要到XML里面去添加相应的设置:

</memballoon>   </devices>   <qemu:commandline>     <qemu:arg value='-device'/>     <qemu:arg value='vfio-pci,host=01:00.0,bus=root.1'/>     <qemu:arg value='-device'/>     <qemu:arg value='vfio-pci,host=01:00.1,bus=root.1'/>     <qemu:arg value='-device'/>     <qemu:arg value='vfio-pci,host=02:00.0,bus=root.1'/>     <qemu:arg value='-device'/>     <qemu:arg value='vfio-pci,host=02:00.1,bus=root.1'/>     <qemu:arg value='-device'/>     <qemu:arg value='vfio-pci,host=07:00.0,bus=root.1'/>     <qemu:arg value='-device'/>     <qemu:arg value='vfio-pci,host=08:00.0,bus=root.1'/>     <qemu:arg value='-device'/>     <qemu:arg value='vfio-pci,host=09:00.0,bus=root.1'/>     <qemu:arg value='-device'/>     <qemu:arg value='vfio-pci,host=0a:00.0,bus=root.1'/>   </qemu:commandline> </domain>

或者单个 需要增加硬件,就增加<qemu:arg value='vfio-pci,host=0a:00.0,bus=root.1'/>的行数即可。其中01:00.0就只是需要直通的设备号:

比如我将GEN8的一个网卡直通给黑群晖,那么就是:

<qemu:commandline>
   <qemu:arg value='-device'/>
   <qemu:arg value='vfio-pci,host=03:00.1,bus=root.1'/>
 </qemu:commandline>

 

 

unRaid系列七:直通网卡、硬盘和其它PCI硬件设备 unRaid&PVE 第16张

 

设置完成后就自动勾选了,如:

 

unRaid系列七:直通网卡、硬盘和其它PCI硬件设备 unRaid&PVE 第17张

 

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!