Hyper-V性能和保存状态BIN文件

假设情景 。 我们的小型企业服务器有2个400GB固态硬盘和6个慢速7200rpm SAS硬盘。 我们为SSD(以下称为快速磁盘)创buildRAID1arrays,为6x SAS驱动器(以下称Big Disk)创buildRAID10arrays。

后者显然也很快。 但

  • 快速磁盘也是昂贵的磁盘 – 每兆字节是宝贵的
  • 我们知道我们的物理主机系统驱动器的要求将永远不会增加超过50GB,因为它是在一个命运的头脑中购买的:运行Hyper-V(我们在确保这种情况下仍然如此)
  • 因此,要最好地利用Fast Disk,我们倾向于在S​​SD上存储一些固定大小的VHDX。

(当然,要避免将任何虚拟磁盘存储在我们主机的C:\驱动器上是理想的,但是我们发现自己的这个虚拟世界奇怪地缺乏逻辑,我们的客户或老板已经表示她没有无限的资金用于他们的服务器,没有像我们的真实世界,请用你的想象力。)

假设的解决scheme 。 物理服务器有128GB的内存,而且我们知道如果我们把大部分这个分配给我们的虚拟机,并且select启用“保存状态”,Hyper-V将创build大的BIN文件。

当然,我们不希望这些30-40GB文件占用我们珍贵的Fast Disk,所以我们将虚拟机的默认位置设置为Big Disk,这是安全的,因为知道这些BIN文件将存储在这里。 因此,我们的虚拟机具有专用于Big Disk上的用户数据的configuration文件和VHDX,以及专用于快速磁盘上的访客系统驱动器的VHDX。

问题 。 假设我们希望保持启用保存状态,也就是说我们不希望完全清除BIN文件,那么将这些文件存储在不同的磁盘上会有性能问题吗? 当Hyper-V保存状态时究竟发生了什么? 它是否将整个内存内容转储到该文件中? 还是已经在那里等着? 还是在幕后做了一些其他聪明的黑魔法/优化,使这个过程迅速发生?

它会在您保存的时候丢弃所有的内存。 虚拟机运行时不会发生I / O。 您可以安全地将该文件放在相对较慢的媒体上。

通常情况下,媒体只需要能够快速地保存虚拟机,以便主机重新启动,或者由于您正在使用备用电池运行而closures电源,就会发生其他问题。

另一方面,我不会build议在生产场景中保存虚拟机。 通过closures大多数服务器工作负载,您可以更加干净地closures服务器工作负载,而且更快速。