虚拟化就是通过恰当的基础设施建设,从管理层面将资源的功能从资源的实体上分离出来,从而达到更加灵活、专业、低成本地使用资源的目的。也可以说是把物理资源转变为逻辑上可以管理的资源,以打破物理结构的壁垒。虚拟化技术就其本质而言属于一种资源管理技术,它将硬件、软件、网络、存储等硬件设备隔离开来,使用户能更合理、更充分地控制与管理的各种资源。
虚拟化主要分如下三类:
一、 平台虚拟化
二、 资源虚拟化
三、 应用程序虚拟化
1、 平台虚拟化
平台虚拟化技术,通过使用控制程序,隐藏特定计算平台的实际物理特性,为用户提供抽象的、统一的、虚拟的计算环境,称为虚拟机(virtual machine)。虚拟机负责一个在硬件平台上模拟多个独立的和实际硬件相同的虚拟机硬件系统,其中每个虚拟硬件系统均可运行不同的操作系统。虚拟机中运行的操作系统被成为客户操作系统(Host OS),客户操作系统将通过虚拟机监视VMM来访问实际的物理资源。运行虚拟机的真实系统称为主机系统。平台虚拟化技术可以细分为6个子类。
1) 完全虚拟化
完全虚拟化使用一个虚拟机,它在客户端操作系统和原始硬件之间使用Hypervisor共享底层硬件和进行协调。如下图,Hypervisor(VMM)是关键,在客户操作系统和裸硬件之间进行协调。底层硬件并不由操作系统所拥有,而是由操作系统通过Hyervisor共享。
完全虚拟化的速度比硬件仿真的速度要快,但是其性能要低于裸硬件,因为中间经过了Hypervisor的协调过程。完全虚拟化最大优点是操作系统无需任何修改就可以直接运行,唯一的限制是操作系统必须要支持底层硬件。
总结:这种虚拟化技术对底层硬件进行了模拟。这使得一个操作系统能够直接运行在硬件上的应用程序也可以运行在虚拟机上,支持多种子操作系统。
2) 超虚拟化
它与完全虚拟化类似,使用Hypervisor来实现对底层硬件的共享访问,将与虚拟化有关的代码集成到了操作系统本身,如下图,这种技术不再需要重新编译或捕获特权指令,因为操作系统本身在虚拟化进程中会相互紧密协作。
超虚拟化技术需要为Hypervisor修改客户操作系统,这是他的一个缺点。但是超虚拟化提供了与未经虚拟化的系统相接近的性能。与完全虚拟化类似,超虚拟化技术可以同时支持多个不同的操作系统。
3) 硬件辅助虚拟化
硬件辅助虚拟化是一种对计算机或操作系统的虚拟。虚拟化对用户隐藏了真实的计算机硬件,表现出另一个抽象计算平台。
硬件虚拟化与应用所在的操作系统无关,只与系统硬件相关。硬件虚拟模式的优点是100%物理隔离和安全,不占用任何系统资源。缺点是操作相对复杂,最小粒度是一颗CPU,而且在进行分区资源变更的时候,移出CPU的分区需要重启操作系统。
4) 部分虚拟化
模拟了部分底层硬件。最关键的特征是地址空间的虚拟化,从而保证为虚拟机提供它们自己的地址空间。它比完全虚拟化更加容易实现,在没有硬件辅助的基础上,半虚拟化的子操作系统在网络和磁盘I/O方面是最高性能的虚拟机。但是在半虚拟化虚拟机中运行的操作系统如果不做大量的修改,则无法运行,虚拟机向下兼容能力较弱,也不是非常便携。
5) 操作系统级虚拟化
操作系统级虚拟化技术是在操作系统本身上实现服务器的虚拟化,操作系统的虚拟化技术支持单个操作系统,并可以将独立的服务器相互简单的隔离开来。如下图,
X86架构中,操作系统提供了4个特权级(0环~3环)如下图。0环用于运行操作系统内核;1环和2环用于操作系统服务;3环用于应用程序,以及分段和分页的内存保护机制。但目前多数操作系统只使用了0环和3环两个特权级,对应地存在两种特权特权解除方式:0/1/3模型(VMM运行在0环,操作系统运行在1环,应用程序在3环)和0/3模型(VMM运行在0环,操作系统和应用程序在3环)。
操作系统的虚拟化要求对操作系统的内核进行一些修改。虚拟化将0环上的权限通过在某一环中植入虚拟机,来取得CUP、内存和I/O资源的访问。
总结:这种虚拟化是基于一个操作系统的,资源很有限而且效率很高,只需要管理和更新一个操作系统。不支持同时运行不同系列的操作系统,安全性较差。
6) 本地虚拟化
这种虚拟化是x86架构虚拟化技术中的最新技术,又被称为混合虚拟化。这种类型的虚拟化是完全虚拟化或者半虚拟化与I/O加速技术的结合。与完全虚拟化相同,子操作系统不需要修改就可以直接安装。它的优势是用硬件而不是软件中的捕获模拟技术来处理不可虚拟的命令。有选择的应用了内存和I/O加速技术。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删