VMware快照功能如何工作

云计算 虚拟化
VMware快照功能是虚拟机磁盘文件(VMDK)的恢复复本,一旦虚拟机出现故障,它就是恢复的最后稻草,我们且看看这个救世主如何工作的。

VMware快照功能是虚拟机磁盘文件(VMDK)在某个点及时的复本。万一某些东西出错了,你可以通过使用恢复到快照来保持磁盘文件系统和系统存储。当升级应用和服务器及给它们打补丁的时候,快照是救世主。在这一系列文章中,TechTarget中国的特约虚拟化专家Eric Siebert将介绍VMware的快照功能,包括快照是什么、怎么工作以及一些先进的技术。

VMware快照功能之快照磁盘空间使用及增长率

如果你创建了多于一个的虚拟机快照,那么,你将有多个还原点可以用于恢复。当你创建了一个快照,那些现在可写的在那个点上就变成了只读的。使用in-file delta技术就能创建新文件记录所有的关于原始磁盘文件的变更(delta)。

快照文件的大小不能超过原始磁盘文件的大小。任何时候,一个磁盘块改变了,就将在delta文件里创建快照并能随着改变而更新。如果进行一次快照后,你改变了每个单独的磁盘存储块,这个快照将仍然象原始磁盘文件那么大。快照文件最初很小(16MB),不过,随着对虚拟磁盘文件的写入将增大。

16MB的快照空间用于降低SCSI预留冲突。当收到改变原始磁盘上存储块的请求,它代替在delta文件里的改变。如果先前在delta文件里更改了的磁盘存储块再次被更改,由于它简单地更新在delta文件里现有的存储块,不会增加delta文件的大小。

快照的增长率由服务器上磁盘写入活动发生次数决定。拥有磁盘写入增强应用的服务器,诸如SQL和Exchange服务器,它们的快照文件增长很快。另一方面,拥有大部分静态内容和少量磁盘写入的服务器,诸如Web和应用服务器,它们的快照文件增长率很低。当你创建许多快照时,新delta文件被创建并且原先的delta文件变成只读的了。每个拥有大量快照的delta文件可能变得和原始磁盘文件一样大。

VMware快照功能之快照的类型

*–delta.vmdk file——当你创建一个虚拟机快照时,这是一个特定的文件。它也是redo-log日志。delta文件是在基础VMDK(虚拟机磁盘)上的变更位图,因此,它不能增长到比VMDK还大。为虚拟机创建每一个快照时,都会创建一个delta文件。当快照被删除或在快照管理里被恢复时,这些文件将自动删除。

*.vmsd file——这些文件用于存储关于快照的元数据和信息。这个文件是本文格式的,里面包括诸如快照显示名称、UID(编号)和磁盘文件名等信息。在你没创建虚拟机快照之前,这个文件的初始大小为0字节。这样说来,只要进行快照,这个文件就会增大和持续更新。

在快照被移开后,这个文件不能被完全清除。一旦你删除了个快照,它将仍然在文件里为每个快照遗留位置,不过仅增加编号并在“Consolidate Helper”里放置名称,这可能是用来整合备份的。

*.vmsn file——这是快照状态文件,里面存储的是使用快照时,一台虚拟机精确的运行状态。这个文件大还是小取决于你选择保留这台虚拟机的存储作为快照的一部分。如果你选择保留虚拟机的存储,那么,这个文件将比较大,然后分配给虚拟机***化的RAM。

这个文件类似于VMware暂停状态文件.vmss。虚拟机每个快照都将创建一个.vmss文件;当移动快照时,这些文件自动删除。

VMware快照功能之创建快照

你可以通过VMware Infrastructure Client(VI Client)里的Snapshot Manager或直接使用ESX Service控制台上的指令行工具创建快照。使用指令可以启动或关闭一台虚拟机。当创建快照时也可以暂停虚拟机。如果虚拟机切断了电源,你将不能选择对虚拟机存储进行快照。

通过使用直接连接到一台ESX服务器或连接到VirtualCenter的VI Client来管理快照。如果你选择使用命令行界面来代替,创建快照的语法是“vmware-cmd createsnapshot”,例如“vmware-cmd myvm1.vmx createsnapshot snap1 ’before upgrade’ 1 1”。停顿与存储的选择是1或0。选择1将在进行快照前停止文件系统写入。选择1将快照虚拟机存储状态进行存储。如果创建多个快照,一旦新的快照被创建,先前的快照变成只读的。

VMware快照功能之删除或恢复快照

当你为一台虚拟机删除所有快照时,所有创建的delta文件被合并到虚拟机原先的VMDK磁盘文件,然后被删除。如果你选择只删除一个单独的快照,这个快照合并到它的父级快照。如果你选择恢复一个快照,当前的磁盘和存储状态被丢弃,虚拟机恢复到快照时的状态。无论你恢复哪个快照, 这个快照就成为新的父级快照。然而,这个父级快照通常不是最近的快照。如果你恢复到一个旧的快照,它就变成虚拟机目前状态的父级快照。在Snapshot Manager里可以看见这个父级快照,在它下面有一个标签“You are here”。

你能使用VI Client或vmware-cmd命令行工具删除或恢复快照。VI Client里的Snapshot Manager提供更高的灵活性,也比CLI(命令行界面)更容易使用。VI Client里的“Revert to Snapshot”选项与Snapshot Manager之间的一个重要差别是,恢复选项简单地恢复到***一次快照,而Snapshot Manager能灵活地选择恢复到某一特定的快照。这叫做“Go To in Snapshot Manager”。

如果你使用vmware-cmd,语法是“vmware-cmd removesnapshots”,这能移除所有快照,而“vmware-cmd revertsnapshot”能恢复到***一个快照。如果你需要移除或恢复特定的快照,你必须使用VI Client。

如果你恢复一个不包括存储状态的快照时,服务器将断电,一旦重新启动,将会使用先前的快照。如果快照包括存储状态,虚拟机将暂停,然后回到先前快照的磁盘和存储状态。


 

【编辑推荐】

  1. 使用NFS的VMware快照改进方法
  2. 解决VMware快照故障的方法
  3. 如何使用虚拟快照备份数据
责任编辑:佚名 来源: vmsky
相关推荐

2011-05-24 10:19:39

VMware快照

2011-05-24 10:24:29

创建与使用VMware

2009-07-22 18:44:17

Hyper-V快照备份

2015-08-24 09:44:16

VMware快照VMDK

2009-08-18 22:15:38

VMware快照改进方

2010-08-03 11:07:34

NFSVMware快照

2010-03-08 13:07:07

NFSVMware数据保护

2012-09-27 11:51:04

Windows SerHyper-V快照

2013-08-28 14:04:24

VMware

2013-10-18 09:44:37

VMware

2013-01-11 11:17:36

VMwarevCenter

2010-07-13 16:24:55

SQL Server快

2014-05-12 16:40:13

Linux命令快照

2010-03-01 10:52:25

VMware ESX ESX快照

2010-07-05 08:31:25

SQL Server快

2013-07-22 17:59:14

VMwarevSphere

2015-10-10 16:41:09

曙光存储快照

2011-04-01 09:43:28

SQL Server数据库快照

2009-08-22 21:14:12

VMware Work

2011-08-10 13:29:53

虚拟化VMware Viewvmware
点赞
收藏

51CTO技术栈公众号