计算元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
完全虚拟化(Full virtualization)
完全虚拟化技术又叫硬件辅助虚拟化技术。完全虚拟化是通过虚拟机和宿主机之间的一个虚拟化逻辑层hypervisor(又称为VMM)来完全模拟底层硬件细节。
优缺点:
优点是客户机的操作系统内核不需要做特殊配置,部署便利,灵活,兼容性好,缺点是客户机操作系统的内核不能够直接管理底层硬件,内核通过hypervisor管理底层硬件需要有转换开销,性能比裸机操作要差。
举例:KVM ESX 等
全虚拟化
半虚拟化(paravirtualization)
半虚拟化又叫准虚拟化技术,是通过事先经过修改的客户机操作系统内核共享宿主底层硬件来实现的,增加了一个专门的API,这个API可以将客户操作系统发出的指令进行最优化。
优缺点:
优点是半虚拟化的虚拟机操作系统内核能够直接管理底层硬件,性能比全虚拟化技术更强。缺点是客户机操作系统内核需要事先进行修改,对于一些闭源的操作系统,例如Windows我们就无法使用半虚拟化技术,部署的便利性和灵活性都不够,兼容性不够好。
半虚拟化
实例:XenServer、Mircosoft Hyper-v等
虚拟化架构
目前虚拟化架构分为两种:裸金属架构和寄居式架构。
裸金属架构
定义:
裸金属架构就是直接在硬件上安装虚拟化软件,然后在其上安装操作系统和应用,依赖虚拟化层对硬件资源进行控制和管理。
架构图:
优缺点:
优点:虚拟机不依赖于操作系统,可以支持多种操作系统,多种应用,更加灵活。缺点:虚拟层内核开发难度较大,技术难度高。
实例举例:
KVM、Vmware ESX等。
寄居式架构
定义:
寄居式架构就是在操作系统上安装和运行虚拟化程序,依赖于主操作系统对设备的支持和物理资源的管理。
架构图:
优缺点:
简单,便于实现和使用。 缺点:安装和运行应用程序依赖于主机操作系统对设备的支持。
实例举例:
VmwareWorkstation、 Citrix Virtualbox