在VMWare快照中永久运行性能不佳?

我知道VMWare KB在长时间运行的快照上皱眉,主要是由于两件事(在我看来)

  • 大量的快照可以填满数据存储。 快照只是增量文件。 比方说,你有一个50G的VMDK,几乎已经满了,你拍一张快照。 在你的快照中,你翻转每一个位。 您的增量文件也将是大约50 GB。 再次快照,翻转位,另一个50千兆增量文件。 这些可以快速失控。

  • 提交大量快照会带来风险。 合并快照时,您正在将增量更改写入原始VMDK。 这需要时间,并带有风险,如果发生什么事情,你只是VMDK nucked。

他们的警告似乎是合乎逻辑的。

这就是说,从VMDK快照中永久运行我的机器本身是不好的? 我想让我的树如下:

  • 基础
    • Snap1
      • 快照2
      • 你在这里

在安装和configuration基本系统后,将立即执行快照1和2。 这些是我打算频繁刷新的机器,所以我会简单地让我的树看起来像下面这样:

  • 基础
    • Snap1
      • 你在这里
      • 快照2

删除Snap2并重新创buildSnap2。

我不明白这可能会有什么影响,原因如下:

  • 由于我只是简单地安装了一个基本的图像,并在没有办法填充数据存储之后马上拿走了我的三angular洲。 假设我的基本映像只有10 GB(在50 GB精简置备的磁盘上),即使我的增量翻转每一位,最大总使用量可能是60 GB(10 GB基本VMDK已locking+ 50 GB增量快照VMDK文件)。 这假定我不创build任何进一步的快照。

  • 由于我的使用案例不需要整合快照,所以我不会冒险整理我的错误。 当我移回Snap1并删除Snap2时,所有位于Snap2中的增量只会被​​删除。

  • 存储负载是完全一样的,所以我应该得到相同的IOPS。 我知道一些文件(主要是系统文件)将存在于原始的VMDK上,而其他的文件(基础之后的所有文件)将存在于delta中,但是我不明白ESXI是如何处理的。 所有文件都在同一个物理数据存储上,所以性能应该等同于在没有快照的情况下引用原始VMDK中的所有内容。

有什么想法吗? ESXI 5.5与数据存储RAID'd DAS。

我没有vCenter许可证,所以模板和克隆不在桌面上。

结果的testing

我今天早些时候进行了一些testing。 结果如下。 有一个performance惩罚,但我不知道为什么。

快照之前: 快照之前

快照后: Shapshoting之后

是的,对于长时间运行的快照有性能影响。 将增量VMDK整合回原始磁盘文件还有更大的影响。 这可能会导致虚拟机操作系统无响应或其他不良行为。

VMware内置了vCenter的模板化和克隆function 。 您需要600美元的vSphere Essentials许可才能启用此function。

您可以根据自己的喜好创build一个虚拟机,然后将其克隆到模板中。 然后可以使用该模板从“Golden Master”映像生成新的虚拟机 。

在这里输入图像描述

这使您可以拥有“干净的状态”,还可以从该主映像创build长时间运行或永久的虚拟机。 没有快照需要。

ewwhite的答案是正确的,但只是扩大一点或性能损失,请考虑以下情况:

你创build一个虚拟机。 从vmdk虚拟读取一个相同大小的物理磁盘读取。 非常坦率的。

现在想象一下你拍摄虚拟机的快照。 现在,对于每个虚拟读取,您将要产生两个物理读取,一个来自基本vmdk,一个来自delta vmdk,因为您需要两者的信息来获取当前状态。 你现在是物理磁盘读取的两倍。

对于两个快照,您正在读取三次,依此类推。 如果你有很多的快照,你可以看到这是一个相当显着的性能损失。 它不一定会转化成n倍差的性能(由于caching,没有改变的部分等),但这不是一个好的做法。