实战DDA硬件直通:HyperV虚拟机直通NVMe固态硬盘

[探索] 时间:2024-05-06 18:04:43 来源:蓝影头条 作者:综合 点击:92次

虚拟机可以把一台电脑模拟成许多台完整的实战系统,并在他们当中安装运行各自的硬硬盘操作系统和软件应用。在使用虚拟机的拟机时候我们既可以利用NVMe固态硬盘的性能,同时承载多个虚拟机的直通读写请求,也可以让其中某个需要重负载读写的固态虚拟机独享它的性能,这时就需要用到DDA硬件直通。实战

image.png

DDA离散设备分配通常被玩家称“硬件直通”,硬硬盘它是拟机Windows Server 2016之后版本中Hyper-V所具备的特性,微软为它赋予了直通独立显卡和NVMe固态硬盘的直通能力。还有一些玩家利用该功能成功直通了第三方SATA控制器等硬件。固态

image.png

笔者使用了东芝RD500 1TB NVMe固态硬盘作为试验对象。实战RD500是硬硬盘铠侠(原东芝存储)在2019年末发布的新一代旗舰级NVMe固态硬盘,使用PCIe 3.0 x4接口、拟机NVMe 1.3协议,直通由8通道东芝主控搭配96层堆叠的固态BiCS4闪存。

Hyper-V虚拟机中硬盘有三种使用方式:虚拟硬盘、直接使用物理硬盘、DDA硬件直通。

虚拟硬盘方式:默认的选项,可以自由指定容量大小,可以在多个虚拟机之间共享硬盘。虚拟机设备管理器中磁盘驱动器名称为“Microsoft虚拟磁盘”。

image.png

使用物理硬盘:在磁盘管理中让东芝RD500处于“脱机”状态后,可以将其整体用于单个虚拟机独享,虚拟机设备管理器中直接显示RD500的名称,但存储控制器中没有NVMe控制器。但这种模式下虚拟机并不是直接访问硬件设备,效率没有下面要说的DDA硬件直通高。

image.png

DDA硬件直通:由单个虚拟机直接访问并控制硬件。硬件直通常见于直通显卡,可在虚拟机内高效玩游戏。这里笔者将东芝RD500 1TB固态硬盘直通给指定的虚拟机,使其获得强悍的硬盘性能,可用于数据库等重负载读写硬盘的应用。

三种模式下CrystalDiskMark测速对照:DDA硬件直通模式在随机读写性能上更强。

image.png

DDA硬件直通模式下,在虚拟机内可以直接使用CrystalDiskInfo或SSD Utility工具箱软件识别和管理东芝RD500,而在其他两种模式下无法识别到NVMe固态硬盘。

image.png

DDA硬件直通实现步骤:

DDA硬件直通需要CPU支持并开启虚拟化功能,在英特尔平台上需开启VT-d,AMD平台需开启SVM Mode。除此之外,为了满足SR-IOV的要求,主板还需要开启IOMMU特性(并非所有主板都具备该功能)。

在将东芝RD500直通给虚拟机之前,首先需要在宿主机设备管理器中禁用RD500对应的“标准NVM Express控制器”,并在属性中找到“位置路径”,记录下它的值。然后以管理员身份打开Windows Powershell,执行Dismount-VMHostAssignableDevice –Force –LocationPath位置路径,将RD500从宿主机中脱离。然后再执行Add-VMAssignableDevice –VMName虚拟机名称 –LocationPath位置路径,将RD500挂载至指定的虚拟机上。

需要将直通给虚拟机的RD500收回给宿主机管理和使用时,首先关闭虚拟机,在宿主机PowerShell中执行Remove-VMAssignableDevice –LocationPath位置路径 –VMName虚拟机名称,接触RD500与虚拟机的关联。然后执行Mount-VMHostAssignableDevice –LocationPath位置路径,将RD500重新挂载至宿主机系统。

总结:

DDA是Hyper-V中为虚拟机提供硬件直接访问的高级功能,允许虚拟机单独使用显卡或高性能NVMe固态硬盘,在VMWare ESXi中也有类似的功能。

随着个人电脑CPU核心数量的增长,越来越多的DIY硬件发烧友希望打造多合一的家庭服务器。利用东芝RD500的强劲效能可以同时满足多个虚拟机应用的访问需求,也可以利用DDA特性将其直通给指定的某个虚拟机,使其获得接近于物理机的磁盘IO效能。

(责任编辑:百科)

    相关内容
    精彩推荐
    热门点击
    友情链接