然而,VMware的快照功能还有一些不足之处,也是应当注意的。
例如,当快照创建时虚拟机执行一个读操作,hypervisor会检查快照VMDK,查看是否有被读取的区块存在。如果有,则从快照中为虚拟机提供这个区块,如果没有,虚拟机还需要去读取基础VMDK。如果只有一个快照,这并不是什么问题,只不过是重复来读取VMDK。但是如果有大量快照存在,比如在两周内每天建立一个,那么hypervisor需要在14个快照文件中查找这个区块,这就会消耗大量的读I/O。
更糟糕的是,没有完善的机制来阻止这些快照的增长,如果你每天为一个Windows 2003虚拟机进行快照,大概每天需要消耗2GB的存储空间,这对大多数虚拟机来说还是非常保守的数字。大体上来说,你需要为虚拟机配置双倍的空间来存储这些更改。
如果换个角度来看,实际几乎所有的快照技术,包括SAN快照,都要消耗很大的存储空间。但有所不同的是VMware快照没有自动保护机制,防止VMFS卷被不断增长的快照填满。而大部分SAN当分配的快照空间被填满时会自动删除最早的快照。一旦VMSF卷被填满,当前的快照文件就不能再写入,而虚拟机也可能会崩溃。如果有很多虚拟机,并且快照都存在相同的VMFS卷上,这些虚拟机都可能会崩溃,这是灾难性的。
还有一个潜在的陷阱,hypervisor会通过磁盘停顿进程(disk quiescing)试图确认快照的应用程序持续状态,尽管可以再不停顿硬盘的情况下创建快照,但是这时候只能建立crash-consistent快照,如果在crash-consistent快照建立后恢复基础磁盘,操作系统和应用程序会出现貌似非正常关机时的状态。磁盘停顿功能让操作系统和应用程序可以找到合适的停顿点,比如完成写入,防止数据被损坏。
根据操作系统在虚拟机中的运行状况,可以通过不同的方式实现磁盘停顿。这些都需要应用安装在虚拟机操作系统中的VMware工具包。如果你运行的是一个新近版本的Windows系统,VMware工具将使用微软的卷影副本服务(VSS)在虚拟机I/O中创建一个临时的停顿,让VMware软件来创建更底层的磁盘快照。
然而,在进行大量磁盘I/O传输的虚拟机中,如微软SQL数据库平台或Exchange,卷影副本服务(VSS)可能会需要大量的调试才能工作正常。VSS工作并不是那么稳定,有时候,这次正常,而下次就可能出现故障。这是恼人的,特别是在希望通过停顿快照来对虚拟机进行更好的备份的时候。
小结:
尽管有这些不足,如果使用正确,VMware的快照可以说是一个优秀的工具,无论是在主要的升级或打补丁前为虚拟创建短期的实时副本,还是允许第三方备份软件对虚拟机执行direct-from-SAN的备份。然而,能有有效使用快照功能的前提是理解它们是如何工作的,可能偶尔需要进行一些调试。另外需要注意的是,如果要在运行关键任务的虚拟机应用VMware快照功能,要更加小心谨慎,最好先进行测试。
- 相关阅读:
- ·4U多功能优选 HP DL580 G7服务器促销
//server.zol.com.cn/558/5586338.html - ·企业级多功能 IBM x3850 X6服务器低价
//server.zol.com.cn/558/5581865.html - ·目前并不完美 软件定义存储现状分析
//server.zol.com.cn/557/5576287.html - ·AWS vs VMware vCloud Air:哪个更适合?
//server.zol.com.cn/555/5553747.html - ·多功能效率之选 IBM x3650 M5服务器低价
//server.zol.com.cn/553/5531202.html
- 第2页:虚拟机快照的不足之处