在 VMware 环境中模拟 SSD 虚拟磁盘

虚拟化2年前 (2023)更新 刘丰源
227 0 0

我每天都对我们的 VMware 工程部门正在解决的所有令人敬畏的功能和挑战感到惊讶,昨天就是另一个例子。内部提出了一个关于为在VMware Fusion中运行的嵌套ESXi环境模拟SSD设备的问题。我认为这将是一个简单的答案,并将用户指向我几年前写的一篇博客文章,介绍如何通过 ESXCLI 使用 SATP 声明规则在 ESXi 中伪造 SSD 设备。事实证明,其中一位工程师知道一种更好的方法来模拟 SSD 虚拟磁盘,不仅可以使用嵌套的 ESXi 虚拟机,还可以用于支持 SSD 设备的任何其他来宾操作系统。

那么,为什么要模拟SSD设备呢?对于 vSphere 环境,您可能希望从功能角度试用新的“交换到主机缓存”功能,以了解其工作原理。您可能正在开发一个脚本来启用此功能,并且拥有“假”SSD 设备将允许您创建此类脚本并对其进行测试。对于其他来宾操作系统,也许您想查看系统对 SSD 设备的反应,可能需要驱动程序或配置,并且您希望在安装真正的 SSD 设备之前运行这些过程。

因此,该解决方案实际上非常简单,它只是虚拟机配置文件(VMX)中的一个高级设置,也可以使用vSphere Web Client,vSphere C#客户端或vSphere API追加到其中。此设置仅在运行虚拟硬件 8 或更高版本的虚拟机上受支持。要将特定虚拟磁盘配置为显示为 SSD,只需添加以下内容:

方法一:

 scsiX:Y.virtualSSD = 1

其中 X 是控制器 ID,Y 是虚拟磁盘的磁盘 ID。
在 VMware 环境中模拟 SSD 虚拟磁盘

方法二:

先将虚拟机关机,然后鼠标右键点击虚拟机,找到编辑设置界面
在 VMware 环境中模拟 SSD 虚拟磁盘
在“虚拟机选项”页面找到编辑设置
在 VMware 环境中模拟 SSD 虚拟磁盘
添加添加对应的参数,截图所示scsi0:1.virtualSSD中的1表示的是第一块盘,若是多快盘添加,记得修改自己的参数

此配置向来宾操作系统显示 SCSI 查询页0xB1的 mediumRotateRate 字段,并将值设置为 1,然后来宾将其报告为固态设备。如您所见,这不仅可以运行嵌套 ESXi,还可以在其他需要“假”SSD 设备的其他来宾操作系统上进行各种测试。

注意:虽然您可以模拟SSD设备,但它不能替代实际的SSD设备,在模拟环境中进行的任何开发或性能测试也应该在真实的SSD设备中进行审查,尤其是在性能方面。

同样重要的是要注意,SSD 设备的报告将在很大程度上取决于 guestOS,以下是一些常见来宾操作系统如何识别 SSD 设备的高级表格。

来宾操作系统 固态硬盘报告
Windows 8 IDE、SCSI 和 SATA 磁盘可以识别为 SSD
Windows 7 IDE和SATA磁盘可以识别为SSD,但SCSI是机械磁盘
Linux (Ubuntu & RHEL) IDE、SCSI 和 SATA 磁盘可以识别为 SSD
Mac OS X SATA可以识别为SSD,但IDE和SCSI是机械的

下面是具有模拟 SSD 设备的嵌套 ESXi 主机的屏幕截图:
在 VMware 环境中模拟 SSD 虚拟磁盘
以下是带有模拟 SSD 设备的新 Windows 8.1 预览版的屏幕截图:
在 VMware 环境中模拟 SSD 虚拟磁盘
注意:虽然我使用 vSphere 演示了这一点,但这也适用于 VMware Fusion(亲自测试)、工作站和播放器。唯一的要求是您运行的是虚拟硬件 8 或更高版本,并且您的 guestOS 支持报告 SSD 设备。

从嵌套 ESXi 的角度来看,我肯定会使用此方法而不是使用 ESXCLI 来浏览 SATP 声明规则,这更容易记住。我还要感谢Regis Duchesne分享这个技巧,感谢Srinivas Singavarapu和虚拟设备团队开发这个很棒的功能。你们摇滚!

© 版权声明

相关文章

暂无评论

暂无评论...