Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1676031
  • 博文数量: 585
  • 博客积分: 14610
  • 博客等级: 上将
  • 技术积分: 7402
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-15 10:52
文章存档

2013年(5)

2012年(214)

2011年(56)

2010年(66)

2009年(44)

2008年(200)

分类: 虚拟化

2008-11-17 12:04:05

虚拟机快照功能是维护和恢复ESX配置的一个有效方法;不过,需要适的管理当以避免性能问题。在这篇文章中,TechTarget中国的特约虚拟化专家Eric Siebert将探究先进的快照管理技术。(想了解快照的基本信息,请参见VMware快照功能如何工作) 

磁盘空间与删除多个快照 

先就要计划好在VMware虚拟机文件系统(VMFS)卷上为快照文件预留充足的磁盘空间,这很重要。这个经验法则是磁盘空间是虚拟机总磁盘大小 的25%。不过,这个数量能根据服务器类型、保留快照多长时间及你是否计划使用多个快照改变。如果你计划快照里包括存储状态,你也将需要额外的磁盘空间, 这个大小与分配给虚拟机的RAM等同。 

只有一个快照的虚拟机在删除快照时不需要额外的磁盘空间。不过如果你有许多快照,当删除所有快照时,你将需要额外的磁盘空间。这是由于这些快照要合并到原始磁盘文件。 

例如,假设你要删除有三个快照的虚拟机上的所有快照,我们称它们为快照1、快照2及快照3。首先,快照3将合并到快照2,快照2的大小将增加。接 下来,快照2合并到快照1,快照1的大小也将增加。最后,快照1将合并到原始磁盘文件,这不需要额外的磁盘空间。当原始磁盘文件在整个操作结束时更新,快 照文件被删除,而不是每个合并过程时删除。因此,当删除它们时,拥有20GB快照文件的虚拟机可能需要额外的20GB。如果你有一台低磁盘空间的ESX主 机,这将用光所有可用的磁盘空间,并且阻止你删除快照。 

使用较少额外磁盘空间来删除多个快照的解决办法是一个一个删除它们,从虚拟机父级快照开始到子级。使用这种方法,当快照被合并到先前的快照,只有先前快照增加了,然后删除。这个方法虽然沉闷,但不需要较多的额外磁盘空间。 

注意:当虚拟机有一个快照运行时,不要运行Windows磁盘碎片整理。碎片整理操作改变许多磁盘块并能引起快照文件急速增加。 

多长时间删除快照 

当使用VMware Infrastructure Client(VI Client)删除快照时,这个任务状态栏容易使人误解。一般来说,任 务状态跳到95%完成率时应该很快完成,不过能注意到它在95%一直不动,直到整个删除过程完成。VirtualCenter有15分钟的超时时间。因 此,就算你的文件仍然在删除,VirtualCenter将报告这个操作超时。 

找到任务完成的方法是使用VI Client里的数据存储浏览器查看虚拟机目录。当delta文件消失了,你就知道快照删除完成了。 

活动了很长时间的快照(因此变得很大)在删除时需要很长时间。快照删除需要的时间的变化取决于虚拟机活动等级;当关闭虚拟机时,删除时间短。ESX主机上的磁盘子系统活动数量也能影响快照删除时的时间。 

100GB的快照需要3到6小时合并到原始磁盘。使用ESX 3.5的话,由于整合算法的变更,将需要更长的时间。这将影响虚拟机和ESX主机的性能。正因如此,你应该限制保留快照的时间长度,在你不需要它们时就删除。 

快照和远数据锁定影响ESX性能 

快照对ESX主机和虚拟机的影响有几种方式。当你第一次创建一个快照时,虚拟机活动将暂时停止;当创建快照时,如果虚拟机响了,你将注意到超时。 同样,创建快照引起元数据更新,将导致SCSI预留冲突以致锁定LUN(逻辑单元号)。结果,在一小段时间里,LUN只能在ESX Server主机上可 用。 

如果你创建了个虚拟机快照并运行虚拟机,这个快照是活动的。如果这个快照是活动的,由于ESX有区别地写入delta文件,不如写入标准的 VMDK文件那样有效率,虚拟机性能将降低。由于元数据锁定了,当一个写入到磁盘时,其他的都不能写入到delta文件。同样,随着delta文件以每个 16MB增量增加,将引起另一个元数据上锁。这能影响虚拟机和ESX主机。性能影响有多大取决于虚拟机和ESX主机有多繁忙。在第三部分中,我将说明如何 解决VMware Snapshots的性能问题。 

最后,删除一个快照也创建一个元数据锁定。另外,当delta文件正被commit时,你正删除的快照将造成虚拟机性能的大幅度下降。如果虚拟机非常繁忙,这将很容易看到。为避免这个问题,最好在主机服务器不繁忙的闲时删除大的或多个快照。 

当快照运行时不要扩充磁盘文件 

当一个快照是活动的时候不能扩充虚拟磁盘。在ESX 3.0.x,你只能使用vmkfstools——X command扩充磁盘;不过,当你试 图扩充磁盘时,这个指令不会警告你磁盘拥有快照。你也可以通过VI Client扩充虚拟磁盘,VI Client允许你使用快照扩充磁盘。 VI Client将成功地报告任务完成,不过实际上却没有扩充磁盘文件。 

当一个快照活动时,如果你使用vmkfstools扩充虚拟磁盘,虚拟机将不再工作并出现错误:“不能打开磁盘‘.vmdk’或在它之上的一个快照磁盘。 

拒绝虚拟磁盘使用快照 

如果你的一台虚拟机有多个磁盘,你希望拒绝一个磁盘使用快照,你必须通过改变磁盘模式为独立来编辑虚拟机设置。独立设置能让你独立地控制每个磁盘的功能,磁盘文件和构造没有区别。一旦一个磁盘是独立的,它将不包括任何快照。 

另外,你将不能在拥有独立磁盘的虚拟机上包括存储快照。这么做是为了保护独立的磁盘,万一你恢复到先前的有存储状态的快照,有一个写入独立磁盘的应用在运行。当其他磁盘在恢复时,由于这个独立磁盘没有恢复,在它上面将有潜在的损坏数据。 

使用快照备份运行着的虚拟机 

当虚拟机开着时,快照提供了一个备份原始VMDK文件的好办法。所有的写入操作在原始文件上暂停了,因此,复制它在另一个存储卷很安全。这就是像 VMware Consolidated Backup和Vizioncore的vRanger功能那样的备份应用。它们给虚拟机进行快照、备份磁盘文件 并在完成时删除快照。 

诸如VMBK这样的脚本也提供这种功能。这些程序允许复制VMDK文件到本地存储或网络共享以提供另一种恢复重要虚拟机的方法。


阅读(1193) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~