VMware快照能否修复VMDK文件?

日期: 2015-08-23 作者:Mike Preston翻译:王学强 来源:TechTarget中国 英文

我们可以使用快照将系统回滚到升级失败之前 的状态,但是能否使用快照来修复受损的VMDK文件呢? 在思考是否能够使用快照来恢复受损的VMDK文件之前,我们首先需要了解VMDK文件和快照在vSphere环境当中的工作原理。 快照工作原理 当创建VMware快照时,实际上我们并没有复制原始磁盘当中的任何数据。而是将原始磁盘设置为只读状态,并且创建一个回滚日志——有时也称之为增量磁盘,这种增量磁盘其实就是在快照创建之后,针对任何虚拟机写入操作所产生的占位符。 图1.增量文件当中包含的仅仅是快照创建之后的虚拟机变化部分 图一展示了快照的工作流程。

假设磁盘当中包含了一个单词“SNAPSHOT”,并且每个字……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

我们可以使用快照将系统回滚到升级失败之前 的状态,但是能否使用快照来修复受损的VMDK文件呢?

在思考是否能够使用快照来恢复受损的VMDK文件之前,我们首先需要了解VMDK文件和快照在vSphere环境当中的工作原理。

快照工作原理


当创建VMware快照时,实际上我们并没有复制原始磁盘当中的任何数据。而是将原始磁盘设置为只读状态,并且创建一个回滚日志——有时也称之为增量磁盘,这种增量磁盘其实就是在快照创建之后,针对任何虚拟机写入操作所产生的占位符。
图1.增量文件当中包含的仅仅是快照创建之后的虚拟机变化部分

图一展示了快照的工作流程。假设磁盘当中包含了一个单词“SNAPSHOT”,并且每个字母都位于自己的磁盘块当中。当我们创建磁盘快照的时候,原始磁盘变为只读状态,一个新的增量VMDK文件被创建。这时第二个块变为“L”,并且“S”被加入到第九个块当中,这样就产生了新的单词“SLAPSHOTS”。

为了保证所有文件都是安全的,我们需要进行一系列操作。我们可以删除快照,这样将会简单地将新的块合并到原始的VMDK文件当中,并且将“SLAPSHOTS”提交给虚拟机——或者我们可以回滚到另外一个时间点,比如磁盘刚刚读入“SNAPSHOT”的时候。每次创建快照的时候,都会创建一个新的增量磁盘,保证我们能够回滚到快照链当中的任何时间点。

能否修复VMDK文件?


如果原始VMDK文件遭到破坏或者被删除,那么管理员就会面临很多棘手问题。正如图二所示,包含“SNAPSHOT”的原始磁盘已经消失。现在我们手中只剩下了包含字母“L”和“S”的增量磁盘,而指向磁盘的元数据(metadta)已经消失。
图2.如果只使用损坏或者丢失VMDK文件的快照,那么无法重建原始文件。

也许你已经得出了结论:如果包含“SNAPSHOT”的原始磁盘或者原始块丢失,那么使用增量磁盘当中的部分数据无法重建任何东西。

缺失文件种类决定能否进行恢复


仅仅使用快照文件来恢复丢失的VMDK文件是不可能的,但是根据丢失VMDK文件的不同,我们可能拥有几种解决方案。一个虚拟机磁盘由两个不同的文件组成:VMDK文件——虚拟磁盘的最重要组成部分——保存了所有数据,以及描述符文件——VMX文件——为虚拟机配置文件提供相关磁盘信息。

如果VMDK文件丢失,那么只能寄希望于保存了备份文件,而如果描述符文件丢失,那么可以使用ESXi命令行进行恢复。可以参考VMware knowledge base当中的文章1002511进行恢复。

作者

Mike Preston
Mike Preston

TechTarget中国特约专家

翻译

王学强
王学强

TechTarget特邀编辑,毕业于计算机专业,现任职于外企IT分析师,负责网络、防火墙和服务器等系统运维工作,对虚拟化、网络安全和渗透测试拥有浓厚兴趣,工作外热爱旅行、汽车和健身。

相关推荐