VMware快照能否修复VMDK文件?

网络
我们可以使用快照将系统回滚到升级失败之前 的状态,但是能否使用快照来修复受损的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进行恢复。

责任编辑:何妍 来源: TechTarget中国
相关推荐

2009-09-04 08:12:19

VMware快照功能

2011-05-24 10:24:29

创建与使用VMware

2011-05-24 10:19:39

VMware快照

2010-08-03 11:07:34

NFSVMware快照

2009-08-18 22:15:38

VMware快照改进方

2012-12-21 17:11:22

2010-03-08 13:07:07

NFSVMware数据保护

2012-09-27 11:51:04

Windows SerHyper-V快照

2013-09-09 09:54:43

VMwarevCloud混合服务

2013-08-29 10:02:32

VMware vClovCloud混合服务虚拟私有云

2010-11-18 19:57:45

2014-08-22 09:44:27

OpenStackVMware

2009-11-12 09:34:27

VMware桌面虚拟化view 4

2010-03-01 10:52:25

VMware ESX ESX快照

2015-10-10 16:41:09

曙光存储快照

2022-11-10 09:57:24

2024-06-19 16:25:42

2013-09-27 10:08:51

VMware虚拟化

2009-08-22 21:14:12

VMware Work

2009-09-07 08:39:49

虚拟化应用
点赞
收藏

51CTO技术栈公众号