Xen基本原理 _原创精品文档.pdf
1Xen概述
1.1简介
Xen是由剑桥大学计算机实验室开发的一个开源项目。是一个直接运行在计算机硬件之
上的用以替代操作系统的软件层,它能够在计算机硬件上并发的运行多个客户操作系统
(GuestOS)。目前已经在开源社区中得到了极大的推动。
Xen支持x86、x86-64、安腾(Itanium)、PowerPC和ARM多种处理器,因此Xen可以
在大量的计算设备上运行,目前Xen支持Linux、NetBSD、FreeBSD、Solaris、Windows和
其他常用的操作系统作为客户操作系统在其管理程序上运行。
标准计算机硬件和操作系统
使用Xen进行虚拟化的计算机硬件和操作系统
1.2Xen虚拟化类型
Xen对虚拟机的虚拟化分为两大类,半虚拟化(Paravirtualization)和完全虚拟化
(HardwareVirtualMachine)。
1.2.1半虚拟化
半虚拟化(Paravirtualization)有些资料称为“超虚拟化”,简称为PV,是Xen主导的
虚拟化技术。这种技术允许虚拟机操作系统感知到自己运行在XenHypervisor上而不是直接
运行在硬件上,同时也可以识别出其他运行在相同环境中的客户虚拟机。
在XenHypervisor上运行的半虚拟化的操作系统,为了调用系统管理程序(Xen
Hypervisor),要有选择地修改操作系统,然而却不需要修改操作系统上运行的应用程序。由
于Xen需要修改操作系统内核,所以您不能直接让当前的Linux内核在Xen系统管理程
序中运行,除非它已经移植到了Xen架构。不过,如果当前系统可以使用新的已经移植到
Xen架构的Linux内核,那么您就可以不加修改地运行现有的系统。
半虚拟化虚拟机示意图
1.2.2完全虚拟化
完全虚拟化(HardwareVirtualMachine)又称“硬件虚拟化”,简称HVM,是指运行在
虚拟环境上的虚拟机在运行过程中始终感觉自己是直接运行在硬件之上的,并且感知不到在
相同硬件环境下运行着其他虚拟机的虚拟技术。
在XenHypervisor运行的完全虚拟化虚拟机,所运行的操作系统都是标准的操作系统,
即:无需任何修改的操作系统版本。同时也需要提供特殊的硬件设备。
值的注意的是,在Xen上虚拟的Windows虚拟机必须采用完全虚拟化技术。
1.3基本组件
Xen包含三大部分:
XenHypervisor:直接运行于硬件之上是Xen客户操作系统与硬件资源之间的访问
接口(如:)。通过将客户操作系统与硬件进行分类,Xen管理系统可以允许客户操
作系统安全,独立的运行在相同硬件环境之上。
Domain0:运行在Xen管理程序之上,具有直接访问硬件和管理其他客户操作系
统的特权的客户操作系统。
DomainU:运行在Xen管理程序之上的普通客户操作系统或业务操作系统,不能
直接访问硬件资源(如:内存,硬盘等),但可以独立并行的存在多个。
Xen组件结构图
1.3.1XenHypervisor
XenHypervisor是直接运行在硬件与所有操作系统之间的基本软件层。它负责为运行在
硬件设备上的不同种类的虚拟机(不同操作系统)进行CPU调度和内存分配。XenHypervisor
对虚拟机来说不单单是硬件的抽象接口,同时也控制虚拟机的执行,让他们之间共享通用的
处理环境。
XenHypervisor不负责处理诸如网络、外部存储设备、视频或其他通用的I/O处理。
1.3.2Domain0
Domain0是经过修改的Linux内核,是运行在XenHypervisor之上独一无二的虚拟机,
拥有访问物理I/O资源的特权,并且可以与其他运行在XenHypervisor之上的其他虚拟机进
行交互。所有的Xen虚拟环境都需要先运行Domain0,然后才能运行其他的虚拟客户机。
Domain0在Xen中担任管理员的角色