云计算 频道

使用ESX恢复虚拟原始设备映射数据

  存储LVM和ext3文件系统

  尝试存储LVM和Linux ext3文件系统是令人沮丧的。在研究Web服务后,我发现一个新工具,很容易放进去,不能做它所说的事。

  然后我开始刷新虚拟机的-flat.vmdk文件。我尝试了其他故障检修方法都没用。更多的研究和更多的尝试让我回到了原点。

  同时,我寻求成功恢复的方法变得愈加重要,我现在需要给用户提供一些存档数据。时间越来越紧迫。

  加速解决问题

  有时,睡一个好觉醒来对问题就有了重新的认识。我醒来后就考虑到使用在创建备份时所保留的内存镜像来访问内存的内核分区和文件系统结构。

  下面是步骤:

  我尝试使用.vmss文件里的内容将.vmsn文件替换成.vmss文件,并重新启动虚拟机以尝试复快照。(注,当使用Vizioncore vRangerPro作为.vmsn快照时,.vmss文件是备份的一部分。)这种尝试失败了,也没有报道错误。

  接下来,我试着使用.vmss文件作为虚拟机的暂停文件。这不起作用。我一直得到msg.checkpoint.resume.fail错误,没有任何解释。上网搜索了一下,说可能是.vmsd文件的问题,因此我移除了现在没使用的快照目录文件。这也不起作用。

  我发送邮件给Vizioncore公司,看看他们是否有办法使用这个镜像。不过几个小时后,我有没收到任何回复。

  我也联系了我的一些朋友,他们说尝试下FTK-Imager。FTK-Imager找到LVM数据,但是对卷不起作用。这是Forensics公司一个很好的工具,不过对于恢复不起作用(它只与分区完整的VMDK工作)。

  Nucleus Kernel Linux节约时间

  在我对Linux ext3恢复的研究中,我重新找到了Nucleus Kernel Linux。Nucleus运行在Windows上,因此当我第一次碰见它时,我忽略了它。不过由于我现在在翻箱倒柜地找恢复方法,所以我决定尝试它。Nucleus不直接与虚拟机磁盘文件工作,因此我在Windows XP SP3虚拟机上安装它。在启动之前,我将虚拟RDM附属到虚拟机。

  经过了好些天的实验和错误,我最终解决了问题。Nucleus发现了缺失的分区,然后在分区上发现了文件。

  在购买和运行Nucleus Kernel Linux工具后,我从虚拟RDM复制数据到Linux系统很轻松。完成后,我使用合适的文件系统重新创建虚拟RDM,并恢复缺失的数据。(为了以防万一,我以VMDK格式保留了虚拟RDM的备份副本)。

  在我恢复VMFS和RDM的过程尝试中,我学到了几点。首先,不要漏掉出现错误的第一条线索——如果你突然发现看见了更多的分区,停下考虑这是为什么并不要立即删除它们。记住,启动的虚拟机维持它们的分区,你应该立即备份,不过虚拟RDM读原始磁盘,而不是核心数据结构,因此使用一些文件副本形式备份虚拟RDM。

  如果你想恢复虚拟RDM,需要能处理最终VMDK文件大小的VMFS,我的ESX上没有这么大的VMFS。不过我的Linux系统上有足够大的空间。最后,恢复缺失了分区表的VMFS是琐碎的,但是在LVM2分区里恢复包括Linux ext3文件系统的虚拟或物理RDM也同样琐碎。幸运的是Nucleus Kernel Linux工具能找到这些。

0
相关文章