我注意到 VirtualBox 在 4.1 版本中在存储部分添加了“固态硬盘”选项。
我还知道 Windows 7 将以不同的方式报告固态硬盘的可用空间,以便磁盘可以在其内置优化中重新使用这些扇区。
我想知道即使我的主机有旋转磁盘,是否也可以启用此功能。这是否会有效地将可用空间清零,以便我可以压缩虚拟磁盘?启用此功能是否会严重影响性能?
答案1
这只会改变您的客户操作系统是否能看到固态硬盘(并基于此启用/禁用功能)。由于VirtualBox 支持物理直通对于硬盘来说,这才是最重要的如果主机上有固态硬盘和在同一驱动器上拥有虚拟硬盘。
从客户操作系统的角度来看,它所做的只是禁用磁盘碎片整理,并尝试向驱动器发送 TRIM 命令(如果主机驱动器不支持这些命令,或者 VirtualBox 未使用直通 I/O 请求,则这些命令将被忽略)。除此之外,实际上由 SSD 控制器来选择从哪些扇区读取/写入数据,不是操作系統。
你可以打开它,但你不会看到任何性能差异。不过,不管怎样,没有人有理由打开它除非他们正在测试 SSD 特定的功能(即使如此,也可以使用模拟 SSD 测试所述功能)。
答案2
如果您确实要传递到 SSD,我非常肯定客户机已经将其视为 SSD。此标志与虚拟驱动器更相关。我不清楚此标志可以提供多少好处,特别是如果您在客户机上安装了客户机工具,但我想到了一些事情。
首先,有“TRIM”功能,它可以帮助主机操作系统知道一旦放弃未使用的文件系统页面,就不需要将其刷新到磁盘。
不仅如此,我认为一个潜在的好处是,大多数操作系统在面对 SSD 时会关闭其正常的磁盘 IO 升降调度。特别是如果您启用了主机 I/O 缓存,这可能是一个很大的好处,因为拥有两级升降调度可能会适得其反。
答案3
理论上人们会认为将 HDD 标记为 SDD可能这是一个好主意,因为它可以允许在线缩小虚拟磁盘(如果它是 VDI),从而释放主机上的一些空间。
实际上,在线缩减可能会影响性能,因为它会发生在 HDD 上,因此可能不会像在(速度更快的)SSD 上那样被忽视。
引自VirtualBox 论坛网站版主;粗体强调部分是我所加的:
如果您想要 SSD 的性能,只需将 VM 放在 SSD 上,就这么简单。Trim 是可选的附加功能。当 VDI 不在 SSD 上时将其标记为 SSD 不会提高性能。如果它导致图像块被打乱,从而造成额外的寻道延迟,则可能会降低性能。