第一章 企业虚拟化的目的及本质
第三节 虚拟化的种类及简介
1.3.2 以虚拟化的程度区分
在Hypervisor本身,针对虚拟化程度的不同,也有不同的产品类别。
1. 完全虚拟化(Full virtualization)
当前大部分的主流虚拟机产品均属此类,主要是客户端操作系统在这种虚拟产品上运行时,不需要做任何修改。如VMware Workstation、vSphere、微软的Hypervisor等。
▲ 操作系统在运行时,根本不觉得自身在虚拟机中
2. 硬件辅助虚拟化(Hardware-assisted virtualization)
或称硬件虚拟机(HVM),主要是操作系统在其上运行时,必须靠系统的硬件来落实虚拟化的过程。在Intel的VT和AMD的AMD-V推出之后,主流虚拟机厂家也在现有产品的基础上,推出新版本来融入此功能。当前所谓的硬件辅助,通常都是指虚拟化中的特有功能,如Intel的VT-d功能,在不支持的服务器上,虽然能安装vSphere,但却无法使用特定的功能,在本书稍后有完整的说明。
▲ 大部分的CPU当前都已经支持虚拟化的硬件辅助了
3. 部分虚拟化(Partial virtualization)
此类虚拟机产品在运行时,系统只提供部分的虚拟化,无法常规安装完整的操作系统,在早期化产品的版本中还常见到,但当前在X86平台下,已经很少有这样的产品了。
4. 半虚拟化(Para-virtualization)
或称“半虚拟化”或“泛虚拟化”。操作系统运行此类产品时,必须修改内核才能顺利安装,早期的Xen就属于此类,现在也较少有类似的产品。
▲ 早期的Xen属于此类,现在Xen也全虚拟化了
5. 操作系统级虚拟化(OS-level virtualization)
这一类的虚拟机产品只能类比出主机的系统,如Linux上只能运行Linux,Windows上只能运行Windows,最有名的就是Virtuozzo,是当前大部分国外数据中心厂家在提供的Virtual Machine Host的主流技术。
▲ 只能虚拟同类的OS,如Windows就无法在其上安装Linux
6. 寄居环境(Hosted Environment)
最常见的就是Linux下的User Mode,可以在一个Linux下,以应用软件的方式来运行其他的Linux。注意这和Hosed寄居架构的完全虚拟化是不同的。
▲ Linux下的寄居环境是最有名的寄居环境