跳转至

Xen 半虚拟化(PV)和完全虚拟化(HVM)


2014-12-05 by dongnan

概念

在 Xen的技术栈中将虚拟机划分为两类,半虚拟化(Paravirtualization)和完全虚拟化(Hardware VirtualMachine)。

目前主流的虚拟化技术方案可以在同一个 Hypervisor上同时运行这两类Guest虚拟机类型。

半虚拟化

半虚拟化(Paravirtualization)也称超虚拟化简称为PV,由Xen开发的高效且轻量级的虚拟化技术。 这种技术允许Guest操作系统感知到自己运行在Xen Hypervisor上而不是直接运行在硬件上,由于它不需要仿真硬件可以高效率运行。

Xen上运行的半虚拟化的Guest操作系统,为了调用系统管理程序(Hypervisor),要有选择地修改操作系统PV不要求CPU支持虚拟化扩展,但依赖于Xen-PV-enabled内核和PV驱动程序。

目前自2.6.24起 Linux内核已经通过Linux pvops framework原生支持Xen-PV,因此大多数的 Linux发行版都能直接运行于PV环境。

PV客户机中包含两类特殊驱动: 网络前端驱动(Network Frontend Driver)和块设备前端驱动(Block Frontend Driver), 分别用以与Dom0中对应的后端驱动通信以完成网络访问和块设备访问。

全虚拟化

全虚拟化(Hardware Virtual Machine)又称硬件虚拟化简称HVM,是指运行在虚拟环境上的虚拟机在运行过程中始终感觉自己是直接运行在硬件之上的, 并且感知不到在相同硬件环境下运行着其他虚拟机的虚拟技术。

Xen Hypervisor运行的完全虚拟化虚拟机,所运行的操作系统都是标准操作系统,即无需任何修改的操作系统版本,同时也需要提供特殊的硬件设备。

HVM依赖于Intel VTAMD-V硬件扩展,同时Xen还使用Qemu来为HVM模拟PC硬件,而CPU的虚拟化扩展技术还能够大大提升这些仿真硬件的性能。 但需要注意的是HVM虚拟机需要仿真多种硬件,因此其性能不如PV虚拟机。

值的注意的是在Xen上虚拟的Windows虚拟机必须采用完全虚拟化技术。

参考

内容来自: Openstack和XenServer——基础架构

回到页面顶部