虚拟化技术介绍及应用
什么是虚拟化技术

什么是虚拟化技术虚拟化技术是一种将计算机资源进行抽象化的技术手段,通过软件或者硬件的虚拟化,将一台物理服务器分割成多个虚拟机,并使多个虚拟机能够独立运行不同的操作系统和应用程序。
通过虚拟化技术,可以更好地利用硬件资源,提升服务器的性能和灵活性。
本文将从虚拟化技术的基本原理、应用场景以及优势与挑战等方面来详细介绍什么是虚拟化技术。
一、虚拟化技术的基本原理虚拟化技术的基本原理是通过创建虚拟机管理器(VMM)来实现。
虚拟机管理器是一种软件或者硬件的抽象层,负责在物理服务器上创建、启动和管理多个虚拟机。
每个虚拟机拥有自己的独立的软件环境,包括操作系统、应用程序和虚拟硬件。
在虚拟化技术中,有两种主要的虚拟化方式:全虚拟化和半虚拟化。
全虚拟化方式通过在虚拟机中模拟全套的硬件,使得虚拟机能够完全独立运行。
而半虚拟化方式则是通过修改操作系统内核,使得虚拟机可以与宿主机共享硬件资源,提高性能的同时也减少了对硬件的要求。
二、虚拟化技术的应用场景虚拟化技术在各个领域都有广泛的应用。
以下是几个典型的应用场景:1. 服务器虚拟化:通过虚拟化技术,可以将一台物理服务器划分为多个虚拟机,提升服务器的利用率。
不同的虚拟机可以运行不同的操作系统和应用程序,实现不同的功能需求。
2. 桌面虚拟化:桌面虚拟化技术可以将用户的桌面环境从本地转移到远程服务器上,用户可以通过终端设备访问虚拟桌面,实现跨平台和远程办公。
3. 网络虚拟化:网络虚拟化技术可以将物理网络划分为多个逻辑网络,实现网络资源的灵活分配和管理。
通过虚拟化技术可以提供更好的网络性能和安全性。
4. 存储虚拟化:存储虚拟化技术将多个物理存储设备抽象为一个逻辑存储池,实现对存储资源的集中管理和分配。
三、虚拟化技术的优势虚拟化技术具有以下几个显著的优势:1. 提高硬件利用率:虚拟化技术可以将一台物理服务器划分为多个虚拟机,提高服务器的资源利用率,节约硬件成本。
2. 灵活性和可扩展性:通过虚拟化技术,可以根据实际需求快速创建、启动和停止虚拟机,实现资源的弹性分配和扩展。
虚拟化技术及其应用

虚拟化技术及其应用虚拟化技术(Virtualization Technology)是一种通过软件手段将一台物理计算机划分成多个虚拟计算环境的技术。
它提供了一种有效的方法,可以在一台服务器上同时运行多个虚拟操作系统,极大地提高了计算资源的利用效率。
虚拟化技术在云计算、数据中心、企业IT架构等领域得到广泛应用,并产生了深远的影响。
一、背景介绍随着信息技术的快速发展和应用需求的不断增加,传统的物理计算机资源利用率低下、资源浪费严重等问题日益凸显。
虚拟化技术的出现解决了这些问题,它通过将物理计算资源抽象为虚拟资源,实现了资源的灵活调度和共享利用。
二、虚拟化技术的分类1.服务器虚拟化服务器虚拟化是最常见和最早应用的虚拟化技术,它通过将一台物理服务器划分成多个虚拟机,从而实现资源的共享和隔离。
服务器虚拟化可以显著提高服务器的利用率,降低硬件成本和维护成本。
2.网络虚拟化网络虚拟化将网络资源进行抽象,使得多个虚拟网络可以在同一个物理网络上运行,实现了网络资源的灵活配置和管理。
网络虚拟化可以提高网络的可用性和性能,简化网络的管理和部署。
3.存储虚拟化存储虚拟化将存储资源进行抽象,使得多个虚拟存储池可以在同一个存储设备上运行。
存储虚拟化可以减少存储资源的浪费,提高存储的利用率和灵活性。
4.桌面虚拟化桌面虚拟化是将多个用户桌面环境运行在同一台物理计算机上的技术。
它可以将用户的桌面环境与应用程序隔离开来,提高数据安全性和管理效率。
三、虚拟化技术的应用1.云计算虚拟化技术是实现云计算的重要基础,它可以将物理计算资源虚拟化为云服务,提供灵活的计算能力、存储空间和网络资源。
云计算通过虚拟化技术可以实现资源的弹性扩展和按需分配,满足不同用户的需求。
2.数据中心虚拟化技术在数据中心中的应用非常广泛,它可以将多台服务器虚拟化为一个统一的资源池,实现资源的自动调度和管理。
同时,虚拟化技术可以提供高可用性和灾备能力,确保数据中心的稳定运行。
虚拟化技术的特点和应用

虚拟化技术的特点和应用一、前言在计算机科学领域,虚拟化技术是指将一台物理机器的资源,如计算、存储和网络等,虚拟出多个逻辑上的部分,使得多个操作系统能够运行在同一物理服务器上,从而提高资源的利用率。
虚拟化技术已经广泛应用于云计算、网络安全、应用开发、测试等领域。
本文将从虚拟化技术的特点和应用方向两个方面来介绍虚拟化技术。
二、虚拟化技术的特点1.资源隔离和安全性虚拟化技术将多个虚拟机隔离开来,每个虚拟机之间的资源是独立的,无法相互干扰。
这种隔离保证了虚拟化环境的安全性,预防了恶意软件或攻击者的攻击。
2.灵活性和易管理虚拟化技术能够快速地部署多个虚拟机实例,减少了对硬件的依赖,从而使得整个处理过程变得更加灵活,并简化了管理和维护的任务。
例如,在一台服务器上同时运行多个操作系统或应用,无需多台服务器,节省了硬件成本和人力成本。
3.资源利用率高通过虚拟化技术,可以使多个虚拟机共享一台物理机器的资源,在保证服务质量和性能的同时充分利用硬件资源。
这种高效利用硬件资源的方式不仅节省了资金,也节约了能源和空间。
4.高可用性和可靠性虚拟化技术隔离了不同虚拟机之间的资源,当一台虚拟机出现故障时,不会影响其他虚拟机的运行,同时,通过快速迁移虚拟机,可以保证整个系统的高可用性和可靠性。
三、虚拟化技术的应用方向1.云计算云计算是一个高度虚拟化的环境,虚拟化技术是实现云计算的核心手段之一。
虚拟化技术在云计算中的应用包括资源池化、资源隔离、虚拟机快速部署、快速弹性扩缩容以及虚拟机迁移等。
2.网络安全虚拟化技术在网络安全中的应用包括虚拟隔离、流量监管、虚拟审计等。
一些恶意软件会针对网络安全设备的漏洞进行攻击,因此,在这种情况下,利用虚拟化技术,将安全设备置于虚拟化环境中进行隔离操作,可以有效地避免恶意攻击。
3.应用开发和测试虚拟化技术可以帮助应用开发人员提高开发效率,例如,可以通过快速克隆虚拟机来创建多个相似的环境,这样开发人员可以在不同的环境下进行测试和开发,提高工作效率。
虚拟化技术的概念与应用

虚拟化技术的概念与应用随着云计算的发展和应用,虚拟化技术逐渐成为大众熟知的技术。
虚拟化技术是一种将计算机硬件资源(如CPU、内存、硬盘等)抽象出来的技术,从而使多个操作系统和应用程序可以共享同一物理服务器的资源。
本文将介绍虚拟化技术的概念、分类和应用。
一、虚拟化技术的概念虚拟化技术是一种软件技术,可以通过一定的方式将硬件资源进行抽象和复用。
虚拟化技术可以将一台物理计算机划分成多台虚拟计算机,每台虚拟计算机可以运行不同的操作系统和应用程序,相互之间互不干扰,就好比在一台物理机上建立了多个独立的“容器”。
虚拟化技术可以实现不同操作系统和软件之间的互相隔离,从而提高了计算资源的利用率和安全性。
虚拟化技术的实现有很多种方式,最常见的方式是利用Hypervisor软件创建虚拟化环境。
Hypervisor软件是一种允许多个虚拟机共享物理资源的中间软件层。
虚拟化技术的产生源于“服务器冗余”问题。
在过去,为了保证应用程序高可用性,通常会在每台服务器上安装相同的操作系统和应用程序,从而增加了维护成本和硬件购置成本。
而虚拟化技术的应用,可以将多个服务器的负载合并到一个或几个物理服务器上,这样可以提高服务器的利用率,降低维护成本和硬件成本。
二、虚拟化技术的分类虚拟化技术可以分为以下几类:1.操作系统虚拟化:这种虚拟化方式是最简单的,它是通过在一个物理机上运行多个操作系统实例来实现的。
每个操作系统实例都像一个独立的虚拟机,它们彼此之间互相隔离,可以独立运行、独立配置和管理。
2.应用程序虚拟化:这种虚拟化方式是通过软件层技术实现的。
应用程序虚拟化可以将应用程序与其相关依赖项打包在一起,形成一个独立的容器,从而使应用程序可以像一个独立的应用程序一样运行。
应用程序虚拟化可以降低应用程序的部署和运维成本,同时提高应用程序的可移植性和安全性。
3.存储虚拟化:存储虚拟化是通过将物理存储设备进行抽象,创建虚拟存储设备来提供存储资源。
虚拟化技术与应用

虚拟化技术与应用虚拟化技术是近年来信息技术领域中的一项重要发展,通过将一台物理主机分割为多个虚拟机实例,实现更高效的资源利用和灵活的应用部署。
本文将重点介绍虚拟化技术的基本原理、分类以及在不同领域的应用。
一、虚拟化技术基本原理虚拟化技术是通过软件层面的抽象,将物理资源(如计算、存储、网络等)划分为多个逻辑实例,每个实例都具备完整的操作系统和应用环境,可以独立运行。
虚拟化技术的基本原理包括以下几个方面:1. 虚拟机监视器(Hypervisor):虚拟机监视器是实现虚拟化的核心组件,它负责将物理主机的资源进行抽象和管理,并协调多个虚拟机实例的运行。
虚拟机监视器有两种类型:第一种是基于硬件的,也称为Type 1 Hypervisor,直接运行在物理主机上,例如VMware ESXi、Microsoft Hyper-V等;第二种是基于操作系统的,也称为Type 2 Hypervisor,运行在操作系统之上,例如Oracle VirtualBox、VMware Workstation等。
2. 虚拟机实例:虚拟机实例是虚拟化环境中的基本单位,每个虚拟机实例都具备自己的操作系统和应用环境,与其他虚拟机实例相互隔离。
虚拟机实例可以根据实际需求进行创建、启动、停止和删除等操作,实现灵活的资源调度和管理。
3. 虚拟设备:虚拟设备是虚拟机实例与物理硬件之间的中介,提供给虚拟机实例访问物理资源的接口。
常见的虚拟设备包括虚拟CPU、虚拟内存、虚拟磁盘、虚拟网络等,它们通过虚拟机监视器进行管理和分配,为虚拟机实例提供与物理硬件相似的性能。
二、虚拟化技术分类根据虚拟化技术的不同应用场景和目标,可以将其分为以下几种类型:1. 服务器虚拟化:服务器虚拟化是最常见和广泛应用的虚拟化技术,它可以将一台物理服务器划分为多个虚拟机实例,实现更高效的资源利用和灵活的应用部署。
服务器虚拟化可以提升服务器的利用率,减少硬件投资和能耗开支,同时可以提高应用的可靠性和灵活性。
云计算中的虚拟化技术及其应用

云计算中的虚拟化技术及其应用云计算是当今互联网技术领域中的一个重要发展方向,它为用户提供了一个随时随地可以获取数据和计算资源的平台。
而云计算中的虚拟化技术则是实现这一目标的重要技术之一。
本文将会对云计算中的虚拟化技术做一个详细的介绍,并探讨虚拟化技术在云计算中的应用。
一、虚拟化技术的定义虚拟化技术是一种在物理硬件能力下实现多个逻辑上独立的计算机执行环境的技术。
简单来说,就是将一台物理服务器分成多个虚拟机来使用,每个虚拟机都有自己的操作系统、应用程序和数据。
虚拟化技术主要有两种,一种是全虚拟化技术,一种是半虚拟化技术。
全虚拟化技术是指在虚拟机内运行非修改过的操作系统,它会将虚拟机内的指令转换为对底层物理硬件的指令。
这种方式可以提供最高的隔离性和安全性。
而半虚拟化技术则是在客户机操作系统中运行特殊的驱动程序,它可以直接访问物理硬件,这种方式可以提高虚拟机的性能和效率。
二、虚拟化技术的应用1. 虚拟化在服务器领域中的应用虚拟化技术最常见的应用就是让一台物理服务器同时支持多个虚拟机,从而提高服务器的利用率。
在这样的情况下,虚拟化技术可以帮助企业节省服务器的成本,并提高服务器的可用性和可维护性。
此外,通过虚拟化技术,企业可以快速部署新的应用程序或操作系统,同时也可以快速地恢复故障。
2. 虚拟化在云计算领域中的应用在云计算领域中,虚拟化技术更是发挥了巨大的作用。
云计算提供了大量的计算、存储和网络资源,而虚拟化技术则可以帮助云计算平台更加高效地管理这些资源。
首先,虚拟化技术可以帮助云计算平台在不影响其他用户的情况下,迅速为用户提供所需的计算资源。
其次,虚拟化技术可以帮助云计算平台实现资源的弹性伸缩,通过动态地分配物理资源,云计算可以根据用户需求来快速扩展或缩小计算环境,以提供更高的质量和更高的性能。
最后,虚拟化技术还可以实现不同物理硬件间的资源池化,这种方式可以大幅度降低服务器资源的浪费。
三、虚拟化技术的优缺点虚拟化技术的优点是显而易见的,它能够提高服务器资源的利用率,并且降低了成本。
简述虚拟化技术的概念和应用

简述虚拟化技术的概念和应用虚拟化技术的概念:虚拟化技术是一种将计算资源抽象和隔离的技术,使得一个物理计算机能够同时运行多个虚拟计算环境,每个虚拟环境都具有独立的操作系统和应用程序。
通过虚拟化,可以在一台物理服务器上运行多个虚拟机(VMs),每个虚拟机相当于一台独立的虚拟计算机,而它们共享物理计算资源。
虚拟化技术的关键在于虚拟机监视器(Hypervisor),它负责在物理硬件上创建和管理虚拟机。
虚拟机监视器使得每个虚拟机都能够独立运行,并且相互之间互不影响,提供了更高的灵活性、可靠性和资源利用率。
虚拟化技术的应用:1.服务器虚拟化:通过在一台物理服务器上运行多个虚拟机,服务器虚拟化提高了服务器的资源利用率,降低了硬件成本。
这使得企业能够更有效地利用计算资源,根据需求灵活调整虚拟机的配置。
2.桌面虚拟化:桌面虚拟化允许用户访问一个虚拟的桌面环境,而实际上这个桌面环境是运行在远程服务器上的虚拟机。
这提供了更好的安全性、灵活性和易管理性,同时减少了终端设备的要求。
3.存储虚拟化:存储虚拟化将多个物理存储设备抽象为一个虚拟存储池,使得存储资源能够更灵活地分配和管理。
这提高了存储的利用率,简化了存储管理的任务。
4.网络虚拟化:网络虚拟化通过将网络资源进行抽象和隔离,使得多个虚拟网络能够在同一物理网络上运行而互不干扰。
这提高了网络的灵活性和可管理性,支持更多样化的网络应用场景。
5.应用虚拟化:应用虚拟化允许将应用程序和其依赖的环境打包为一个独立的虚拟容器。
这使得应用能够在不同的环境中运行,无需担心依赖关系和配置问题。
6.云计算:虚拟化技术是云计算的基石之一。
通过虚拟化,云服务提供商能够实现资源的弹性分配和隔离,为用户提供灵活的计算资源,实现按需使用和付费模式。
虚拟化技术在提高硬件资源利用率、简化管理、提高灵活性等方面发挥了关键作用,成为现代数据中心和计算环境中不可或缺的技术之一。
虚拟化技术与应用

虚拟化技术与应用随着信息技术的不断发展,虚拟化技术逐渐成为IT领域的热门话题。
虚拟化技术通过将物理硬件资源进行抽象、隔离和共享,可以实现更加灵活高效的资源管理和利用。
本文将介绍虚拟化技术的概念和原理,并探讨其在不同领域的应用。
一、虚拟化技术的概念和原理虚拟化技术是一种将计算机资源进行逻辑划分和隔离的技术,它可以将一台物理服务器虚拟化为多个逻辑上独立的虚拟机。
虚拟化技术的核心是Hypervisor(也称为虚拟机监控器),它作为软件或硬件层面的虚拟化引擎,负责管理和协调不同虚拟机之间的资源分配和访问。
虚拟化技术主要包括以下几个关键组件:1. Hypervisor:负责在物理服务器上创建和管理多个虚拟机,并提供虚拟机的隔离和资源调度功能。
2. 虚拟机:是虚拟化技术的基本单元,每个虚拟机都具有独立的操作系统、应用程序和资源。
3. 虚拟化管理软件:用于管理和监控整个虚拟化环境,包括虚拟机的创建、删除和调度等功能。
4. 虚拟磁盘和网络:虚拟化技术通过模拟磁盘和网络设备,使每个虚拟机都可以独立访问这些资源。
二、虚拟化技术的应用领域1. 服务器虚拟化服务器虚拟化是虚拟化技术最为常见的应用之一。
通过将一台物理服务器划分为多个虚拟机,可以有效提高服务器的利用率和资源管理效率。
同时,服务器虚拟化还能实现快速部署和迁移,方便进行资源扩展和容灾备份。
2. 桌面虚拟化桌面虚拟化将个人计算环境从本地桌面转移到数据中心或云平台上,用户可以通过远程访问方式获得完整的桌面体验。
这种方式可以提高数据安全性,降低维护成本,并方便地实现对桌面环境的集中管理。
3. 网络虚拟化网络虚拟化可以将物理网络划分为多个逻辑网络,每个逻辑网络都可以独立配置和管理。
通过网络虚拟化,可以简化网络拓扑结构,提高网络资源利用率,并实现网络故障隔离和恢复等功能。
4. 存储虚拟化存储虚拟化技术可以将多个物理存储设备进行抽象和整合,以提供一个统一的存储资源池。
通过存储虚拟化,可以方便地进行存储容量管理、数据备份和恢复等操作,提高存储资源的利用效率。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
虚拟化技术介绍及应用1 虚拟化技术简介目前虚拟化技术深入人心,从服务器到桌面都呈现出一片繁荣的景象,由此相信多数人都不会怀疑虚拟技术的可用性和研究其的必要性。
通俗说来,虚拟化就是把物理资源转变为逻辑上可以管理的资源,以打破物理结构间的壁垒。
虚拟化技术就其本质而言属于一种资源管理技术,它将硬件、软件、网络、存储等硬件设备隔离开来,使用户能更合理更充分的控制与管理各种资源。
1.1 术语介绍1).宿主机,即虚拟机管理器所在的系统2).客户机,即运行在虚拟化管理器之上的系统3).VMM, Virtual Machine Monitor. 虚拟机监视器4).hypervisor,也称为虚拟机管理系统(包含VMM)2 虚拟化技术历史IBM 早在 20 世纪 60 年代开发 System/360™Model 67 大型机时就认识到了虚拟化的重要性。
Model 67 通过 VMM(Virtual Machine Monitor)对所有的硬件接口都进行了虚拟化。
但在x86平台上的虚拟化技术起步较晚,但随着x86平台CPU性能越来越强健,在市场上的应用越来越广泛,x86平台下的虚拟化技术同样得到了快速发展,特别是支持虚拟化技术的芯片辅助技术(即CPU虚拟化技术)出现以后,x86平台一直以来对虚拟化支持不佳的形象发生了很大改变,x86平台已经成为了虚拟化技术发挥作用的重要平台之一。
虚拟化技术的发展大概经历了下面两个阶段。
初级阶段:在虚拟化早期,人们采用模拟软件技术模拟出计算机硬件和软件。
模拟层与操作系统对话,而操作系统与计算机硬件对话。
在模拟层中安装的操作系统并不知道自己是被安装在模拟环境下的,你可以按照常规的方法安装操作系统。
这种虚拟化需要付出很大的性能代价。
高级阶段:随着虚拟技术发展的不断深化,虚拟化被带到了一个更高的级别。
在模拟层(负责被虚拟机器的指令翻译)和硬件之间,不需要任何主机操作系统运行硬件上的虚拟机。
虚拟机监控器直接运行在硬件上。
由此虚拟化变得更加高效。
3 虚拟化技术原理我们首先简要介绍一下虚拟化技术及其涉及的元素。
虚拟化解决方案的底部是要进行虚拟化的机器。
这台机器可能直接支持虚拟化,也可能不会直接支持虚拟化;那么就需要系统管理程序层的支持。
系统管理程序,或称为 VMM,可以看作是平台硬件和操作系统的抽象化。
在某些情况中,这个系统管理程序就是一个操作系统;此时,它就称为主机操作系统。
系统管理程序之上是客户机操作系统,也称为虚拟机(VM)。
这些 VM 都是一些相互隔离的操作系统,将底层硬件平台视为自己所有。
但是实际上,是系统管理程序为它们制造了这种假象。
3.1 VMM分类VMM是虚拟化技术的核心组件,当前主流的 VMM 实现结构可以分为三类:宿主模型 (OS-hosted VMMs),Hypervisor 模型 (Hypervisor VMMs),混合模型(Hybrid VMMs)。
下面分别介绍。
宿主模型如图3.1,该结构的 VMM,物理资源由 Host OS (Windows, Linux etc.) 管理,实际的虚拟化功能由 VMM 提供,其通常是 Host OS 的独立内核模块(有的实现还含用户进程,如负责 I/O 虚拟化的用户态设备模型)VMM 通过调用 Host OS 的服务来获得资源,实现 CPU,内存和 I/O 设备的虚拟化VMM 创建出 VM 后,通常将 VM 作为 Host OS 的一个进程参与调度如上图所示,VMM 模块负责 CPU 和内存虚拟化,由 ULM 请求 Host OS 设备驱动,实现 I/O 设备的虚拟化。
图3.1 宿主模型VMM结构图优点:可以充分利用现有 OS 的设备驱动,VMM 无需自己实现大量的设备驱动,轻松实现 I/O 设备的虚拟化。
缺点:因资源受 Host OS 控制,VMM 需调用 Host OS 的服务来获取资源进行虚拟化,其效率和功能会受到一定影响。
采用该结构的 VMM 有:VMware Workstation, VMWare Server (GSX), Virtual PC。
Hypervisor 模型该结构中,VMM 可以看作一个为虚拟化而生的完整 OS,掌控有所有资源(CPU,内存,I/O 设备)VMM 承担管理资源的重任,其还需向上提供 VM 用于运行 Guest OS,因此 VMM 还负责虚拟环境的创建和管理。
图3.2 Hypervisor 模型VMM结构图优点:因 VMM 同时具有物理资源的管理功能和虚拟化功能,故虚拟化的效率会较高;安全性方面,VM 的安全只依赖于 VMM 的安全。
缺点:因 VMM 完全拥有物理资源,因此,VMM 需要进行物理资源的管理,包括设备的驱动,而设备驱动的开发工作量是很大的,这对 VMM 是个很大的挑战。
采用该结构的 VMM 有:VMWare ESX Server, WindRiver Hypervisor, KVM(后期)混合模型该结构是上述两种模式的混合体,VMM 依然位于最底层,拥有所有物理资源,但VMM 会主动让出大部分 I/O 设备的控制权,将它们交由一个运行在特权 VM 上的特权 OS 来控制。
VMM 只负责 CPU 和内存的虚拟化,I/O 设备的虚拟化由 VMM 和特权 OS 共同完成。
图3.3 混合模型VMM结构图优点:可利用现有 OS 的 I/O 设备驱动;VMM 直接控制 CPU 和内存等物理资源,虚拟化效率较高;若对特权 OS 的权限控制得当,虚拟机的安全性只依赖于 VMM。
缺点:因特权 OS 运行于 VM 上,当需要特权 OS 提供服务时,VMM 需要切换到特权 OS,这里面就产生上下文切换的开销。
采用该结构的 VMM 有:Xen。
4 虚拟化技术分类虚拟化技术的核心部分是VMM (虚拟机管理器),VMM的实现方式直接决定真个虚拟化解决方案的效率和功能。
4.1 按实现层次按VMM的实现层次来分,目前有下面几种虚拟化实现方式。
1).指令级虚拟化,它是通过纯软件的方式模拟各种不同硬件的指令集来达到虚拟化的目的,这种方式的优点是可以完全的模拟出所需要虚拟设备的所有特性,这样必然会带来的一个缺点就是性能太差,而且实现复杂。
代表软件有QEMU。
2).硬件级虚拟化,硬件级虚拟化是基于虚拟的硬件一般与实际硬件指令集非常相似这一假设前提下实现,因为有上面的前提,通过硬件虚拟化可以把客户机的大多数操作指令通过映射方式在主机上直接执行,从而大大提供虚拟化的效率。
它的优点是简单高效,缺点是所虚拟的硬件平台范围有限,且可能需要硬件对虚拟化的支持。
代表软件有xen,kvm等。
3).操作系统级虚拟化,(待补充)。
4).编程语言级虚拟化,代表有JVM(Java虚拟机)。
5).程序库级虚拟化,代表有WIne库(在linux下模拟windows的运行环境),cygwin库(在windows下模拟linux运行环境)。
这里需要说一下的是,我们一般提到的虚拟技术仅包括上面前三种类别,后两种属于一种广义上的虚拟化技术的范畴。
本文中我们主要讨论的是狭义的虚拟化技术范畴。
4.2 按实现方式虚拟化按实现方式来分,可以分为下面几种。
1).全虚拟化(Full virtualization),顾名思义,全虚拟化就是完全虚拟出一个主机所需要的所有环境,因为运行于其上的虚拟机来说,它感觉不到虚拟化管理器的存在,所以此种方案是对客户机的支持类型最广泛的一种。
它的具体实现是灵活的,可以在指令级层,如QEMU,可以在操作系统级层,如Virtualbox, 也可以在硬件级层,如KVM(需要芯片辅助技术支持)。
2).半虚拟化(Para- virtuallization),半虚拟化技术是为了改善传统x86平台下硬件对虚拟化支持不佳而提出的一种改进技术,它的实现在硬件级虚拟化层。
为了提高虚拟化的效率,需要让客户机的操作指令直接让主机运行,以减少中间转换层造成的性能损失和时间延迟,但由于传统x86平台天生的缺陷--CPU指令的分环运行级存在等,导致一些操作系统指令必需在特权级(Ring 0)下运行,否则将会得到不同的运行结果,而这一点又是虚拟机管理器存在的环境中无法现实的。
解决此问题的方法有下面几种:一是修改客户机系统(改变此类特殊指令的实现方式),二是采用虚拟机管理器监视并重定向特殊操作指令,三是修改x86 CPU设计结构以支持此类特殊操作指令。
此三种方法中第一种方法即是半虚拟化技术中采用的,毕竟为了追求极致的虚拟化性能而小小的(可能不小)改变一点客户机的内容,而且完全不影响客户机的功能,这还是可以接受的。
但此方法的缺点是无法支持闭源操作系统作为客户机系统。
3).硬件虚拟化,硬件虚拟化是指硬件直接支持虚拟化操作,包括CPU虚拟化支持技术,内存支持虚拟化技术,其他设备I/O虚拟化支持技术等。
硬件虚拟化技术专门为改善 X86平台在虚拟化技术方面的落后局面而出现,比如在CPU 特权指令方面,新的支持VT(virtualiztion Technology)技术的CPU在传统的两环运行模式的基础上新加了一个运行级--特权级(或者也叫客户机模式),虚拟机管理器就运行于这一特权级模式,而其他的所有客户机的运行模式保持不变,仍运行在运行级0(Ring 0)和运行级3(Ring 3)两种模式下,硬件虚拟化技术解决了半虚拟化技术中的难题;在内存访问方面,新的内存技术将实现通过直接硬件地址转换来支持虚拟客户机的物理内存访问,由于内存是系统中最频繁访问的设备之一,所以新的支持虚拟化的内存技术可以大大提高虚拟机性能。
正式一系列硬件虚拟化技术的出现和发展,使得虚拟化可以同时得到全虚拟化的良好支持性和半虚拟的高效性,可以预想随着硬件虚拟化技术的发展,x86平台下的虚拟化技术必将取得辉煌的战绩。
5 虚拟化技术实现全虚拟化全虚拟化(Full virtualization), 也称为原始虚拟化技术, 该模型使用虚拟机协调客户操作系统和原始硬件(见图5.1). 这里"协调"是一个关键词, 因为VMM在客户操作系统和裸硬件之间用于工作协调. 一些受保护的指令必须由Hypervisor(虚拟机管理程序)来捕获和处理。
全虚拟化: 使用Hypervisor分享底层硬件图5.1全虚拟化的运行速度损失比较大, 因为客户机系统是在Hypervisor的协调下和硬件交互. 全虚拟化最大的优点是操作系统没有经过任何修改.半虚拟化半虚拟化(Paravirtualization). 它使用Hypervisor(虚拟机管理程序)分享存取底层的硬件, 它的客户操作系统集成了虚拟化方面的代码并知道自己是在虚拟模式下运行,因为客户操作系统自身能够与虚拟进程进行很好的协作.所以半虚拟化的性能接近于真实系统。