1. Xen概述
1.1 虚拟化简介
Xen对虚拟机的虚拟化分为两大类,半虚拟化(Paravirtualization)和完全虚拟化(Hardware VirtualMachine)。同一个Hypervisor上可以同时运行这两类guest虚拟机类型。此外,还可以在HVM Guest上使用PV技术,这种方式称为PV on HVM。
1.1.1 半虚拟化
半虚拟化(Paravirtualization)也称“超虚拟化”,简称为PV,由Xen开发的高效且轻量级的虚拟化技术。这种技术允许Guest操作系统感知到自己运行在Xen Hypervisor上而不是直接运行在硬件上,它不需要仿真硬件,从而能高效运行。在Xen Hypervisor上运行的半虚拟化的Guest操作系统,为了调用系统管理程序(Xen 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中对应的后端驱动通信以完成网络访问和块设备访问。
1.1.2 完全虚拟化
完全虚拟化(Hardware Virtual Machine)又称“硬件虚拟化”,简称HVM,是指运行在虚拟环境上的虚拟机在运行过程中始终感觉自己是直接运行在硬件之上的,并且感知不到在相同硬件环境下运行着其他虚拟机的虚拟技术。在Xen Hypervisor运行的完全虚拟化虚拟机,所运行的操作系统都是标准的操作系统,即无需任何修改的操作系统版本,同时也需要提供特殊的硬件设备。HVM依赖于Intel VT或AMD-V硬件扩展,同时,Xen