快照技术对于VMware备份任务来说是一个伟大的工具,但如果你改变了客户操作系统,并且这一变化导致意外行为发生,那么你需要删除或还原快照,使虚拟机返回到原来的状态。如果不这样做,可能会导致客户操作系统不可用。如果你的手头上没有备份副本,你可能会失去近几周有价值的数据。
在此提示,我会解释如何让原来的客户操作系统进行工作,以及如何通过增加VMware虚拟机磁盘格式( VMDK )的文件快照到一个新的虚拟磁盘,来恢复丢失的数据,并在另外一个客户操作系统增加磁盘和作为一个额外VMDK的快照。
快照技术如何解决客户操作系统失败问题
一般而言,对快照来说最佳的做法是创建一个,测试一个补丁或安装新软件,然后将其删除或还原快照。但是,这不可能总是这样。偶尔,我忘了快照,或其他人创造出了一个,并没有告诉我。那么这将是一个在客户操作系统中的重大失败。
现实生活中我最喜爱的例子包括Windows2003小型企业服务器版( SBS )在重新启动时死机。Active Directory ( AD )数据库崩溃了,而且没有人知道还原模式密码。我们可以恢复快照到我们知道AD工作正常的那一天,但在这样做时,我们将失去几周的Microsoft Exchange和SQL Server数据。进一步复杂化的情况是,我们没有一个像样的备份服务器,作为两个不同部分的人误以为是另一组负责备份服务器。
VMDK
在这种情况下,你可能会发现自己需要的数据,但还需要恢复虚拟客户操作系统到数星期前创建一个的还原点。但是,一个简单的过程中使用vmkfstools从VMware ESX的服务控制台,你可以导入最新的数据到一个新的VMDK磁盘 ,使你能够恢复并操纵一个快照而不丢失最新的数据。
开始操作时,要确保客户操作系统已经关机并登录到该服务控制台。这有助于改变客户操作系统和VMDK文件的路径。默认情况下,快照保存在同一目录中。你会看到delta VMDK的快照,和一个flet VMDK预先快照数据。如果你看一下在目录中现有的文件,你会看到每个虚拟磁盘有两个VMDK文件。较小的文件是指针VMDK 。它包含与磁盘相互对应的设置。
其中的一个设置指的是VMDK实际的数据文件。最好不要搞乱文件,除非你有来自VMware的支持。当你使用有快照版本的虚拟机,所有磁盘的变化被写给这个delta VMDK 。在下面的截图中,ubuntu - 000001.vmdk文件指向ubuntu - 000001 - delta.vmdk ,和ubuntu.vmdk指向ubuntu - flat.vmdk 。当你有一个以上的快照,这些数字的文件名会以此类推递增。为了简洁明了,让我们假设我们只有一个快照。 (如果你有几个,你可以把它们导入不同的文件并在你的问题发生时跟踪它们。)
快照
导入快照到一个新的VMDK
现在,您可以将快照导入到一个新的VMDK磁盘 。如果你有一个以上的磁盘,您必须为每个VMDK执行此步骤。命令中的语法使用的名称是指针文件名。以下是如何将一个快照导入磁盘的具体步骤,在操作之前,你为备份VMDK创建一个新文件夹:
#mkdir /vmfs/volumes/DS-LUN1/ubuntubackup
vmkfstools –i [source file] [destination file]
例如:
#vmkfstools –i /vmfs/volumes/DS-LUN1/ubuntu/ubuntu-000001.vmdk /vmfs/volumes/DS-LUN1/ubuntubackup/ubuntubackup.vmdk
该文件将开始克隆。根据原来的大小和快照中总的数据量, 这可能是需要一段时间才能完成克隆,但至少在此观察期间,你会有一个不错的进展指标。
VMware
现在你可以从vCenter服务器恢复你的快照而不丢失那些变化。在vCenter客户中,转到客户操作系统,右键单击并选择快照,恢复到快照,然后单击是。
vCenter服务器
你可能想知道是否所有的变化正在写入到原始的VMDK磁盘,因为你已还原了快照。不,你实际上已经删除了在原来的快照中所有的变化,但新的变化去的另一delta文件,我这里的情况是000002。
vCenter
现在你可以从vCenter中删除快照,以便开始将变化写到原始的磁盘,或让发生在您的排错过程中的变化写入delta文件。我更喜欢后者,因为等一切问题都解决之后,起码你还有一个潜在的还原点。
将VMDK作为一个额外的磁盘添加到客户操作系统当中
那么,我们怎样处理我们刚刚创建的VMDK?因为它可能无法启动,我总是将其作为额外的磁盘添加到一个客户VM,之后复制所需要的数据到稳定和有效的客户系统。要做到这一点,修改你的客户操作系统的设置并添加一块硬盘。选择使用现有的磁盘选项,浏览你刚才备份的VMDK文件 。在我的例子中,将是ubuntubackup.vmdk 。现在在你的客户操作系统中履行其承担的任务,先必须找到新的硬盘驱动器。在Windows系统中的磁盘管理管理单元中,你将点击右键并选择重新扫描磁盘,这个功能通常会在计算机管理MMC控制台中发现。
操作系统
上面这个过程让我从前面所述的潜在的灾难中脱离出来。我能保存当前的SQL和Exchange数据,从而将操作系统恢复到能够再次使用的状态。有一个快照可用,然而,并不能保证数据库的一致性。我可以很容易地恢复Exchange数据,但数据库管理员不得不清理SQL数据库。数据是现在的,但有更多的工作要做。一个适当的备份解决方案是首选办法。