我读过一篇VMware KB文章,其中快照将直接影响VM性能。
但是我的团队一直在问我快照如何影响性能。
我想给他们坚实的理由,说明快照是性能杀手。
谁能解释一下快照实际上如何影响性能的一些理论?仅仅是因为硬盘的磁盘I / O速率会变慢吗?
我读过一篇VMware KB文章,其中快照将直接影响VM性能。
但是我的团队一直在问我快照如何影响性能。
我想给他们坚实的理由,说明快照是性能杀手。
谁能解释一下快照实际上如何影响性能的一些理论?仅仅是因为硬盘的磁盘I / O速率会变慢吗?
Answers:
创建快照时,原始磁盘映像将以一致的状态“冻结”,并且从那时起所有写访问都将进入新的差异映像。甚至更糟的是,如此处和此处所说明,差异映像具有更改日志的形式,该日志记录了自拍摄快照以来对文件所做的所有更改。这意味着,读取访问不仅必须读取一个文件,而且还必须读取所有差异数据(原始数据以及对原始数据所做的所有更改)。级联快照时,数量增加更多。
在VM上创建快照时,这将创建Delta磁盘,并且操作系统将写入该文件,而不是原始VMDK。该文件称为VM_Name-Delta.VMDK,但是如果系统需要在快照之前引用该文件,则它将引用VM_Name.VMDK以增加此操作的I / O。如果要拍摄多个快照,则是指最后一个快照的最后一个增量文件,而不是原始VMDK,从而增加了I / O。
例。
操作系统--->快照(已创建文件A)--->(快照文件B已创建)
如果我需要引用文件A,它将通过3个VMDK进行查找。
另外,如果在快照时包括VM的内存状态,则会再次创建一个增量文件,并在需要时引用原始内存文件。
创建一个文件,其中列出了快照过程时创建的所有文件
随着虚拟机上快照的大小和数量增加,vmkernel中存储命令操作的数量也会增加。对于虚拟机客户机OS发出的每个存储命令,可能需要执行多个存储命令操作才能遍历整个快照链以读取最合适的数据块。