热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

VirtualBoxVM虚拟机恢复数据的两种方法

[导读]近期,我恰巧在工作中遇到一台已经崩溃并且无法启动的VirtualBoxVM。当类似的事情发生时,有一些VirtualBox灾难恢复办法供您选择。近期,我恰巧在工作中遇到一台已经崩溃并且无法启动的VirtualBoxVM。当类似的事情发生时,有一些VirtualBox灾难恢复办

[导读]近期,我恰巧在工作中遇到一台已经崩溃并且无法启动的VirtualBox VM。当类似的事情发生时,有一些VirtualBox灾难恢复办法供您选择。

近期,我恰巧在工作中遇到一台已经崩溃并且无法启动的VirtualBox VM。当类似的事情发生时,有一些VirtualBox灾难恢复办法供您选择。

Oracle VM VirtualBox 作为宿主机平台可支持服务器虚拟化或桌面虚拟化。我过去曾使用VirtualBox作为虚拟桌面平台,不幸的是数据存放在系统的虚拟机内而不是外部。如果您用VirtualBox进行桌面虚拟化,需要了解这些挽救数据的VM恢复的方法。

VM恢复方法

当把关键数据放到虚拟机的VHD(virtual hard disk)上时,简直无法想象宕机后需要重复多少工作才能重建数据。最佳的办法是恢复VHD,取出数据及时制止损失。

这种情况下有两种基本的VirtualBox VM恢复方法:

1.借助某些恢复介质启动VM,访问VHD并把所需数据拷贝到其它VHD或通过网络传输到共享端。

2.把VHD作为第二硬盘挂载到其它VM,启动并从中恢复数据。

第一种方式更安全,因为VHD和VM的改变都是最少的。第二种也可行,但我更喜欢第一种,原因是它能降低错误率。

问题总发生在细节上。当我启动VirtualBox VM恢复工作时,意识到很多细节跟最初设想不同。下面是一些您在使用这些灾难恢复方法时可能遇到的挑战。

VHD的位置

首先,您要掌握待处理磁盘镜像的类型和在哪台VM上。Oracle VM VirtualBox可以创建多种VHD镜像,它们之间的差别会对VM恢复造成影响。

多数情况VHD是“Normal”状态,即每次只有一台虚拟机可以访问目标磁盘,而镜像原地址通常在某台虚拟机上。如果磁盘状态为“shareable”,可以多台机器同时使用,那么损坏可能是由相连的任意一台VM导致,故障诊断更为困难(“write-through”磁盘和“Normal”相似,唯一差别在不支持快照上)。

在这些情况下,首先要关闭(不仅是挂起!)所有跟损坏磁盘相关的VM。然后,最好是内存最大的那台VirtualBox VM启动恢复。

多台VM可以同时共享“multi-attach”磁盘,但是每台VM另有自己的差分镜像部分。这种方式在需要多台VM之间共享某个磁盘主镜像时非常有用。但也同时意味着VirtualBox灾难恢复必须在使用了问题数据的VM上执行,否则VirtualBox VM是看不到数据的。如果您不确定是哪台VM,则需要在每台机器上进行检查。

关于恢复环境的一点注释:如果可能,最好在宿主机OS上挂载问题VHD默认为为只读状态(不幸的是Windows对此支持并不好)。

一旦确认了需要恢复的VM和VHD对象,下一步就是准备数据恢复目标地。

网络vs.本地磁盘

显然,创建一个全新的空白VHD,把它挂载给VM,通过某种恢复介质启动并把所有数据拷贝出来是可行的。这种VirtualBox VM恢复方法简单:所有需要做的就是挂载和格式化新介质。但同时也带来额外的步骤:如果您需要的数据存在于宿主机而不是VHD上,那么之后还需要再拷贝出来。

您可以借助连接到共享网络节省这一步,和宿主机建立共享区域,并把数据从共享区拷贝出来。不过这种方式也有一些注意点。

首先,如果您使用的VirtualBox VM配置不能访问网络,或本地网络不能跟宿主机通讯,您需要更改配置。这仅需要更改VM而不是OS的硬件配置,因为我们在恢复过程中不会真的去启动OS。

第二步,您需要确定恢复系统是否有网络连接。举个例子,如果虚拟机的适配器在不安装额外驱动的情况下无法识别的话,您可能需要改变网络适配器类型。

最后但不是最重要的一点,网络的拷贝速度根据目标的不同可能会成为问题。如果你使用的网络连接是跟宿主机之间的专线,那么拷贝的数据量不是问题。但如果连接到高延迟和带宽紧张的实际网络时,数据拷贝会慢得多。(把大量数据拷贝到本地连接的VHD会变慢,尤其是当源和目标磁盘镜像在同一个网络系统中时。这是需要关注的另外一点。)

完全跳过VirtualBox VM

另外还有种方式就是完全跳过VirtualBox,直接把硬盘挂载到宿主机OS,并把所有文件拷贝出来。具体的方法据宿主机不同OS而异。例如在Linux中就有自带的名为libguestfs的工具。

对于Windows,已经开始一个名为WinMount的计划。VDI格式的文件可以通过Explorer加载为另外一个驱动器盘符。通过7-Zip等归档工具,.VHD格式的文件可以为非压缩格式。该工具是免费和开源的。我试用这些工具的感觉不错。

这种VirtualBox VM恢复方法完全去掉了中间媒介的影响,可以自行处理文件。但是也有一些注意点:

 有助于VM完全关机。如果虚拟机宕机时磁盘位于不一致状态,而您希望在同样的OS下启动该虚拟机的另一个实例(或许通过.ISO镜像),先执行磁盘检查和完全关机,然后尝试离线恢复。

 这些工具都是第三方的,所以在功能一致性上没有保障。它们在多数情况下可以工作,但是使用VirtualBox的优点之一就是它的虚拟机数据恢复(尤其是.VDI文件格式)更有保证,磁盘可以保证正确加载和成功读取。

完成VirtualBox VM的恢复不是某人的乐趣,而在VirtualBox运行良好没有任何意外时,这也不是您的必备方法。但在虚拟机宕机之间,请先熟悉一下这些灾难恢复方法。


推荐阅读
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • 本文探讨了使用Python实现监控信息收集的方法,涵盖从基础的日志记录到复杂的系统运维解决方案,旨在帮助开发者和运维人员提升工作效率。 ... [详细]
  • 本文探讨了服务器系统架构的性能评估方法,包括性能评估的目的、步骤以及如何选择合适的度量标准。文章还介绍了几种常用的基准测试程序及其应用,并详细说明了Web服务器性能评估的关键指标与测试方法。 ... [详细]
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
  • WebBenchmark:强大的Web API性能测试工具
    本文介绍了一款名为WebBenchmark的Web API性能测试工具,该工具不仅支持HTTP和HTTPS服务的测试,还提供了丰富的功能来帮助开发者进行高效的性能评估。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 服务器虚拟化存储设计,完美规划储存与资源,部署高性能虚拟化桌面
    规划部署虚拟桌面环境前,必须先估算目前所使用实体桌面环境的工作负载与IOPS性能,并慎选储存设备。唯有谨慎估算贴近实际的IOPS性能,才能 ... [详细]
  • 汇总了2023年7月7日最新的网络安全新闻和技术更新,包括最新的漏洞披露、工具发布及安全事件。 ... [详细]
  • 在使用 PyInstaller 将 Python 应用程序打包成独立的可执行文件时,若项目中包含动态加载的库或插件,需要正确配置 --hidden-import 和 --add-binary 参数,以确保所有依赖项均能被正确识别和打包。 ... [详细]
  • Win10管理员权限安装问题解决方案
    本文提供了解决在Win10系统中以管理员身份安装软件遇到权限不足问题的详细步骤。 ... [详细]
  • 吴石访谈:腾讯安全科恩实验室如何引领物联网安全研究
    腾讯安全科恩实验室曾两次成功破解特斯拉自动驾驶系统,并远程控制汽车,展示了其在汽车安全领域的强大实力。近日,该实验室负责人吴石接受了InfoQ的专访,详细介绍了团队未来的重点方向——物联网安全。 ... [详细]
  • Ubuntu系统下的GIF动画录制解决方案
    在撰写文章或教程时,GIF动态图能够有效地传达信息。对于Windows用户而言,ScreenToGif是一款非常实用的工具。而在Ubuntu系统中,用户同样拥有多种选择来创建GIF动画,本文将重点介绍两款录屏工具——Byzanz和Peek。 ... [详细]
  • 解决Win10 1709版本文件共享安全警告问题
    每当Windows 10发布新版本时,由于兼容性问题往往会出现各种故障。近期,一些用户在升级至1709版本后遇到了无法访问共享文件夹的问题,系统提示‘文件共享不安全,无法连接’。本文将提供多种解决方案,帮助您轻松解决这一难题。 ... [详细]
  • 搭建个人博客:WordPress安装详解
    计划建立个人博客来分享生活与工作的见解和经验,选择WordPress是因为它专为博客设计,功能强大且易于使用。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
author-avatar
撒药拿拉的唐小妄
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有