免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3518 | 回复: 0
打印 上一主题 下一主题

VMware快照功能如何工作? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-08 10:35 |只看该作者 |倒序浏览
 磁盘“快照”是虚拟机磁盘文件(VMDK)在某个点及时的复本。万一某些东西出错了,你可以通过使用恢复到快照来保持磁盘文件系统和系统存储。当升级应用和服务器及给它们打补丁的时候,快照是救世主。在这一系列文章中,TechTarget中国的特约虚拟化专家Eric Siebert将介绍VMware的快照功能,包括快照是什么、怎么工作以及一些先进的技术。

  快照磁盘空间使用及增长率

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

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

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

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

  快照的类型

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

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

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

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

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

  创建快照

  你可以通过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将快照虚拟机存储状态进行存储。如果创建多个快照,一旦新的快照被创建,先前的快照变成只读的。

  删除或恢复快照

  当你为一台虚拟机删除所有快照时,所有创建的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。

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

  在第二部分中,我们将讲到更多的关于快照的先进技术。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP