购买了 10k RPM Velociraptor 300GB 硬盘,打算用它来存储我的 VMWare Workstation 虚拟机磁盘。
但是我现在想知道,使用它来存储主操作系统 (Windows 7) 是否会看到更多的整体性能改进。目前操作系统位于较旧的 7.2k rpm 驱动器上。
您认为最好的行动方案是什么?
答案1
最近,我刚刚经历了更换用于 VMWare 驱动器映像的驱动器的经历,我学到了一些事情。首先,缓慢出现的坏簇问题会导致 VMWare 驱动器性能下降,因此需要更换。其次,本机命令队列在使我的 VM 响应更加灵敏方面发挥了非常显著的作用。
当我第一次制作驱动器时,NCQ 还不是所有驱动器都通用的,尽管现在大多数驱动器都有它。在深入研究 I/O 子系统(Linux,因此这比 Windows 容易一些)时,我发现在类似负载下,平均队列等待时间明显较低,这是几个因素的因素之一,其中之一是磁盘延迟。10K 驱动器的扩展性将比我拥有的 7.2K 驱动器更大。即使使用 NCQ,它仍会在某个时候遇到性能瓶颈,但需要更长的时间。
也就是说,如果您正在运行的虚拟机已经遇到 I/O 瓶颈,那么 10K 驱动器将有所帮助。如果它有 NCQ 而旧驱动器没有,它将更加有帮助。就我而言,在我的旧 7.2K 驱动器上,没有 NCQ,同时启动两个 Vista VM 足以使平均队列等待时间飙升。使用 NCQ,等待时间会延长,但还算合理。
至于 OS 与 VM,我倾向于 VM。Windows 足够智能,可以允许一个 SATA 驱动器上的 I/O 争用不会严重妨碍其他 SATA 驱动器。此外,如果您使用该 OS 驱动器执行工作站操作,例如运行 Outlook 并在其上执行日常任务,则需要不寻常的工作负载才能让将 10K 驱动器放在 OS 端而不是 VM 端更明智。根据我的经验,VM I/O 负载足够随机,值得使用更昂贵的套件。
答案2
这实际上取决于您的工作负载设置方式。假设您为每台虚拟机分配了足够的 RAM,则操作系统将从 10k 驱动器中获得更大的好处。如果您在虚拟机内部工作,并且 RAM 较少,则将虚拟机存储在驱动器上将显示改进。这是由于交换访问的工作方式。
虽然虚拟机将交换到磁盘,但如果主机操作系统有足够的内存来缓存物理磁盘访问,则实际的磁盘访问可能来自内存。
VM Reads from Disk
Host OS process command
if Data stored in Host Disk Cache
return from memory
else
read from physical disk`
答案3
当您运行虚拟机时,几乎从不访问操作系统磁盘;因此您确实应该使用更快的磁盘进行虚拟机存储。
即使您的主机需要进行大量交换(我希望不会),虚拟机仍可能比主机执行更多的磁盘 I/O,特别是当您运行两个或更多虚拟机时。
答案4
也许你应该将 10K RPM 驱动器划分为两个分区,将虚拟机放在一个分区上,将主机的交换文件放在另一个分区上?
如果你使用的是 ESX,那么最佳做法是让虚拟机使用 10K RPM 驱动器。
顺便说一句,如果你真的关心虚拟机的性能,你真的应该运行 ESX 或ESXi(免费)