几类主流的虚拟化技术
虚拟化技术是将一台计算机虚拟为多台逻辑计算机。虚拟化使用软件的方法重新定义和划分 IT 资源,从而实现 IT 资源的动态分配、灵活调度、跨域共享,提高 IT 资源利用率,使 IT 资源能够真正成为社会基础设施,满足各行各业中灵活多变的应用需求。
根据虚拟化实现的方法,目前主流的虚拟化技术可以分为如下几类。
1、操作系统级别虚拟化(OS-Level Virtulization)
不需要对底层进行改动,也没有所谓的 VMM(Virtual Machine Manager,虚拟机管理器)去监管和分配底层资源,而是通过操作系统共享内核的方式,为上层应用提供多个完整且隔离的环境,这些实例(instance)被称为容器(container)。容器的虚拟化资源和性能开销很小,而且不需要硬件的支持,是一种轻量化的虚拟化实现技术。
2、全虚拟化(Full Virtualization)
全虚拟化又叫硬件辅助虚拟化,最初的虚拟化技术就是全虚拟化技术,它在虚拟机和硬件之间加了一个软件层——Hypervisor,又称作虚拟机管理器。因为运行在虚拟机上的操作系统通过 Hypervisor 来分享硬件,所以虚拟机发出的指令需经过 Hypervisor 捕获并处理。Guest OS(客户操作系统)不知道自己在一个虚拟化的环境里,硬件的虚拟化都在 VMM 或者宿主机中完成,客户机认为自己在用真实的控制命令调用硬件。
3、类/半虚拟化(Para Virtulization)
半虚拟化技术也叫准虚拟化技术,现在比较热门。它在全虚拟化的基础上,对 Guest OS 进行了修改,增加了一个专门的 API,这个 API 可以将 Guest OS 发出的指令进行最优化,即不需要 Hypervisor 耗费资源进行翻译操作,因此 Hypervisor 的工作负担变得非常小,整体的性能也有很大的提高。缺点是,要修改包含该 API 的操作系统,对于某些不含该 API 的操作系统(主要是 Windows)来说,就不能用这种方法了。
版权声明: 本文为 InfoQ 作者【穿过生命散发芬芳】的原创文章。
原文链接:【http://xie.infoq.cn/article/c5e723e7df49cc90cc13ff8e8】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论