虚拟化在过去十年中迅速流行,并一直主导着当今的IT世界。虚拟机在家庭环境和企业环境中都得到了广泛的应用,使得能够在一个硬件平台上运行多个不同类型和不同版本的独立操作系统,从而降低了购买和维护额外设备的成本。每个操作系统都运行自己的应用程序集,这些应用程序绝不相互干扰。然而,利用这一技术,容易让人产生错误的安全感,因为虚拟机仍然面临着各种问题,其中包括对关键的虚拟存储数据的访问的丢失问题。
虚拟机是一种特殊的软件,用来模拟物理机器的操作。尽管虚拟机位于真正的物理主机内并利用其资源,但它仍然完全独立:它使用自己的基于软件的组件(CPU、主板、视频适配器、网络接口、内存和硬盘),这些组件甚至可能与主机不同,并运行自己的操作系统和应用程序。
安装虚拟机的操作系统称为主机操作系统,而虚拟机本身的操作系统则称为客户操作系统。每个客户操作系统启动并在主机操作系统上的一个单独窗口中运行,类似于一个普通程序。
所有驱动客户操作系统的虚拟硬件都由一个名为hypervisor的特殊引擎处理。虚拟机管理程序被称为虚拟机管理器:它为每个系统分配物理资源,并确保它们不相互中断。通常,虚拟机监控程序是在软件级别上实现的,但也有嵌入到系统固件中的管理程序。
现代市场上领先的管理程序产品包括:
VMware提供了非常广泛的虚拟化解决方案,每种解决方案都适合特定的需求,例如Microsoft Windows和Linux的VMware Workstation,MacOS的VMware Fusion以及企业级虚拟机管理程序VMware ESXI,它直接在服务器硬件上运行,没有任何底层操作系统。大多数产品都有免费和付费的专业版本。
微软Hyper-V以前的WindowsServerVirtualization是一种高级虚拟化软件选项,它由Windows Server 2008、Windows 8及以上版本提供,主要用于服务器环境,通常用于创建私有云。Hyper-V支持Linux、FreeBSD和Windows的各种版本,它为轻松的服务器管理提供了多种工具,并为微软的Azure Cloud提供了动力。
Oracle VM VirtualBox是一种开放源码的跨平台虚拟化软件,它支持多种来宾操作系统,如Windows、Linux和BSD,并提供创建多台虚拟机并同时运行它们的能力。
Parallels Desktop这是一种专门为Apple Macintosh计算机开发的付费虚拟化解决方案,它使Mac用户能够运行Windows、Chrome OS或各种Linux发行版以及本机操作系统,或利用MacOS的第二个实例。
QEMU它是一个免费的开源虚拟化平台,在Linux用户中很受欢迎,但可以通过定制构建在MacOS和Windows上托管。QEMU能够模拟硬件和托管虚拟机,使VM的性能接近本机安装的性能。
Xen它是Citrix流行的虚拟化软件,具有开源代码,主要由大型互联网服务提供商等企业使用,用于托管服务器或桌面操作系统。Xen可以在专用的虚拟化平台(如XenServer)中实现,也可以作为Linux、BSD和Solaris操作系统的可选配置。免费和付费软件版本都是分发的。
大多数虚拟机被配置为将其数据(包括操作系统和应用程序)存储在一个称为虚拟磁盘的特殊文件中,该文件包含文件系统,并像普通物理硬盘驱动器一样呈现给来宾操作系统。这样的文件或一组文件可以存储在主机或远程计算机上,可以是虚拟机的一部分,也可以安装在物理机器的操作系统中。基本上,虚拟磁盘是实际的VM硬盘驱动器,可以是不同类型的硬盘,通常通过文件扩展名来区分:
一些虚拟机监控程序支持多种虚拟磁盘格式,例如,VirtualBox能够处理VHD和VMDK文件,而VMDK容器也支持QEMU和Parels。
毫无疑问,虚拟化带来了许多优势,例如减少硬件资源的支出、软件隔离、消除兼容性问题、移动性和更高效的IT操作,但正如通常情况一样,虚拟化也有许多缺点。
虚拟安装不能像真正的机器那样高效,特别是当几个VM正在运行时,因为它没有对硬件的直接访问,并且需要分配物理资源会产生额外的开销。
一个硬件上的几个系统的合并使其成为一个单一的故障点:如果物理主机崩溃,这将影响驻留在其上的所有虚拟机,使它们不可用。
主机操作系统和客户操作系统之间交换信息的一种常见方法是运行它们并使用虚拟网络传输。虚拟化软件通常为客户操作系统提供传输包装软件,允许通过简单的拖放过程进行文件交换。然而,在下列情况下,这一过程可能需要很长时间,或者根本不可能:
然而,对于来宾和主机操作系统之间的文件交换,有一个更好的解决方案。由于所需的文件已经存储在虚拟磁盘内的主机上,因此可以在逻辑级别从虚拟磁盘中提取这些文件。
虚拟机存在许多漏洞,这些漏洞通常会导致关键数据的损坏或丢失:
软件故障
虚拟化软件也可能有其内部缺陷和意外崩溃,从而导致虚拟存储文件的丢失;
虚拟磁盘损坏
与任何计算机文件一样,虚拟磁盘也容易损坏,这可能是由恶意软件攻击、软件故障或甚至是老化引起的;
迁移失败
VM迁移失败可能是由于各种因素造成的,如网络故障或在传输虚拟驱动器期间突然断开存储设备,并且很可能会损坏VM文件;
删除文件
VM配置文件或VD文件的意外删除可能是由于用户/管理员错误造成的,而大多数虚拟机监控程序没有提供内置的取消删除功能;
快照问题
快照的大小往往会迅速增长,当被删除/提交到原始VM磁盘时,甚至会造成空间不足,从而导致整个VM的损坏。多层快照也非常容易出错;
文件系统损坏
虚拟机所在的虚拟磁盘或主机的文件系统损坏,使其文件以标准方式无法读取;
电源故障
断电通常会导致系统被迫关闭,这不仅会损坏主机的硬件,而且如果虚拟机当时处于活动状态,则会导致虚拟机损坏。
成功恢复常见的虚拟磁盘格式,也能处理复杂的稀疏和平面VMDK,并能高效地将VMDK文件直接恢复到客户新建的服务器磁盘阵列中,让客户快速地恢复生产和经营。建议客户在虚拟机出问题后切勿随意删除虚拟机文件和快照,更不要新建虚拟机,以免影响虚拟机恢复的成功率。
关注公众号 |