六大Linux虚拟化技术全面讲解

发表于:2012-4-20 10:22

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:张桂林    来源:51Testing软件测试网采编

  关于Linux虚拟化的优势我们大家已经有所了解。目前使用最多的虚拟化操作系统还是Windows系列,但是Linux的成长速度是惊人的,大有替代Windows的趋势。关于Linux虚拟化技术大致上可以分为六个不同的方式。在本文中,我们将讨论实现Linux虚拟化的这六种方式,以及Linux下的多种虚拟化解决方案。

  当我们讨论虚拟化解决方案的时候,常常都要提到具体厂商的具体产品,但是当我们提及Linux虚拟化解决方案的时候,我们更乐意讨论广泛而多样化的开源生态系统。Linux支持多种虚拟化平台,并延伸出多种技术,同样也是一个完整方案的一个元素。

  虚拟化—老树开新花

  虽然虚拟化现在如此的流行,但虚拟化不是一个新的技术,早在半个世纪之前IBM就已经开始部署虚拟化。最早虚拟化技术是在IBM M44计算机上进行实验,然后在IBM System/360大型机产品上开始普及。最早的真正意义上的整体应用虚拟化的硬件平台是IBM CP-40系统,在上世纪60年代末被用在商业应用上。

  虚拟化包含多个层面,比如硬件虚拟化,这种虚拟化从底层的硬件平台直接支持软件环境;另外一种是操作系统虚拟化,这是Linux的一个亮点。

  在硬件层之上,独立于操作系统的一层软件被称之为hypervisor,或者叫做虚拟机监视器。hypervisor创建了虚拟化平台,而操作系统实例则运行在这个平台上,这使得硬件平台可以被多个操作系统和应用所共享,从而降低硬件的成本。

  运行在hypervisor上面的实体被称为虚拟机,即VM,是用来放置操作系统、应用和数据元的“容器”。虚拟机中的操作系统和应用程序的数据被存储在虚拟磁盘中,hypervisor利用虚拟磁盘来启动虚拟化平台。虚拟机被封装为一个文件,这样比分布式的文件更好管理。

本地虚拟化和主机虚拟化模型

  早期的虚拟化模型被称为Type 1,或者叫本地虚拟化(native virtualization),这种模型下hypervisor直接运行在硬件之上,在hypervisor上面是虚拟机。后来出现了主机虚拟化(hosted virtualization)模式,被称为Type 2,hypervisor运行在操作系统之上,在同一平台上允许两个或更多的操作系统共存。

  Linux虚拟化技术基础

  了解了有关虚拟化的一些基本知识后,我们进入正题,来讨论一下Linux虚拟化的一些知识。首先是模拟(Emulation),是将一个操作系统(Host)的服务转换并显示成另一个操作系统(Guest)的过程,Host和Guest系统不一定是相同的,比如,Host系统可能是x86平台,可以提供PowerPC平台的模拟,即使是指令和架构完全不相同。

  另外,hypervisor的模拟器(emulator)可以提供多个平台的模拟,比如下面的图例,在Host系统上可以仿真出PowerPC和ARM系统。模拟过程并不仅限于Type 2虚拟化模型,在虚拟化技术中都存在这个过程。

虚拟化模型中的模拟过程

  Linux中最流行的两个模拟器(emulator)包括QEMU和Bochs(处理器和平台模拟器)。这种解决方案的优点是它们是非常“轻便的”,可以支持在不同的Host操作系统和平台上运行不同的Guest操作系统。而这种解决方案的缺点在于由于要模拟指令,导致效率比较低。QEMU通过动态编码转换的模拟方式,让内核和内部用户代码可以被加速。另外,QEMU是一个很好的嵌入式平台开发工具,可以为与主机相异的CPU开发和测试代码。QEMU还可以被用来其他虚拟化解决方案来进行设备模拟。

31/3123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号