预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

XenServer,Xen的架构、存储架构1、Xen的架构该文档对XenHypervisor(管理程序)和其相关的工具以及所有支撑一个虚拟化环境所必需的应用程序做了一个较高层的,对于架构的综述。XenComponent,一个Xen虚拟环境包括几个重要组成部分:XenHypervisorDomain0DomainU(DomU)PVGuestDomainU(DomU)HVMGuestDomainManagementandControl(XenDM&C)下图描述了这几部分之间的关系:XenHypervisorXenhypervisor是对这个软件的最基本、最底层的抽象层。它主要负责针对运行在该硬件设备之上的多个虚拟机的CPU轮转,内存划分的工作。Hypervisor不仅仅对底层硬件设备进行了抽象,而且同时控制着虚拟机的执行。它不负责联网、外存、显示以及任何其他IO功能。Domain0Domain0是一个修改过的Linxukernel,一个运行在Xenhypervisor之上的独特的虚拟机,它可以控制物理IO资源,并且同时与其他运行于该平台上的虚拟机进行交互(DomainU:PVandHVMGuests)。所有的Xen虚拟环境都需要一个运行着的Domain0来启动其他的虚拟机。Domain0包括了两个驱动,来支持来自于其他虚拟机的网络和本地磁盘请求。(见下图);NetworkBackendDriver和BlockBackendDriver。NBDriver直接与本地网络硬件进行交互,来处理所有来自于DomainU的虚拟机请求。BBDriver直接与本地磁盘进行交互,基于DomainU的请求来从驱动器读写数据。DomainU所有的运行于Xenhypervisor之上的半虚拟机(Paravirtualization),都叫做DomainUPVGuests,他们(PVGuests)运行的是修改后的LinuxOS,Solaris,FreeBSD和其他UNIXOS。所有运行于Xenhypervisor之上的全虚拟机都是叫做DomainUHVMGuests,并且可以运行标准的Windows或者任何没有修改过的操作系统。DomainUPVGuests知道不能直接访问硬件,并且知道在本地机器上运行的其他虚拟机。DomainUHVMGuests不知道它在分享处理器时间以及其他虚拟机的存在。PVGuest包含有两个针对网络和磁盘访问的驱动,PVNetworkDriver和PVBlockDriverHVMGuest没有PV驱动安装在虚拟机上,但是针对每一个启动的HVMGuest都有一个特殊的daemon:Qemu-dm,Qemu-dm支持HVMGuests进行网络互联和磁盘访问请求。HVMGuests必须初始化,以便于软件能够添加到HVMGuests,XenVirtualfirmware来模拟BIOS来启动操作系统。(??TheDomainUHVMGuestmustinitializeasitwouldonatypicalmachinesosoftwareisaddedtotheDomainUHVMGuest,Xenvirtualfirmware,tosimulatetheBIOSanoperatingsystemwouldexpectonstartup.)。域管理和控制很多的Linuxdaemons都被开源社区定义为域管理和控制的。这些服务支持对整个虚拟环境的管理和控制,存在于Domain0的虚拟机中。Xend:Xenddaemon是一个python程序,它被认为是Xen环境的系统管理员。它利用libxenctrl库来发起对Xenhypervisor的请求。所有由Xend所处理的请求都是通过一个XMLRPC接口,这些RPC请求来自于Xm工具。Xm:一个命令行工具,它获取用户输入,通过XMLRPC传递给Xend。Xenstored:Xenstoreddaemon维护一个注册信息,这些信息包括了内存和事件管道(eventchannel),其将Domain0与所有其他的DomainU连接起来。Domain0虚拟机利用这个注册信息来设置与其他虚拟机的通信管道。Libxenctrl:一个C函数库,它提供给Xend与Xenhypervisor进行交互的能力,通过Domain0.在Domain0中的一个特殊驱动,privcmd将这些请求发送给hypervisor。Qemu-dm:每一个HVMGuest都需要一个Qemudaemon。这个工具处理所有从HVMGuest发出的联网和磁盘请求。Qemu必须存在于Xenhypervisor的外面,因为它需要访问网络和IO,因此它存在于Domain0。XenVirtualFirmware:是一个虚拟的BIOS,它被插入到每一个D