- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
xen架构
Xen 架构小结:这个文档是从高层次分析Xen hypervisor的整体架构以及相关工具和应用程序。这个架构是基于2008年2月发布的Xen3.2版本。该文档是Xen架构的简介,更多信息请参考Xen books。Xen组成部分Xen虚拟环境由以下几个组成部分:Xen HypervisorXen管理程序Domain 0域0Domain Management and Control(Xen DMC)域管理控制程序Domain U(Dom U) PV Guest域U半虚拟化客户Domain U(Dom U)HVM Guest域U全虚拟化客户下图是Xen的架构Xen Hypervisor Xen管理程序Xen Hypervisor是软件的抽象底层,位于硬件和操作系统之间。它负责管理各个虚拟机的CPU时间分配和内存分配。由于管理程序和上层虚拟机共享进程环境,所以管理程序不仅向虚拟机抽象出底层的硬件,还对上层虚拟机进行控制,它不负责网络,硬盘,音频或者其他IO功能。域0域0,基于修改过的linux内核,它是一个运行在Xen Hypervisor上的虚拟机,它具有访问物理IO资源的权限,并能同其他的虚拟机( Domain U:PV HVM Guests )进行交互。域0启动后,通过域0来启动其他虚拟机。域0中带有(Network backend Driver)网络后端驱动和(block Backend Driver)块设备后端驱动,通过驱动可以访问网络和硬盘,其他虚拟机可以通过域0使用网络和硬盘资源(如下图)。网络后端驱动直接和网卡通信,处理其他虚拟机发送过来的任务。块设备后端驱动根据其他虚拟机的需求读写硬盘。域UXen Hypervisor上运行的半虚拟化的机器叫做PV客户机,可以运行修改过的linux操作系统,如Solaris、FreeBSD。Xen hypervisor上运行的全虚拟化机器叫做HVM客户机,可以运行Windows或者其他未修改过的操作系统。PV虚拟客户机不直接访问硬件,可以识别运行在同一机器上的其他虚拟机。HVM虚拟客户机可直接访问硬件,通其他HVM虚拟机共享CPU处理时间。PV虚拟客户机的网络和硬盘驱动分别是PV Network Driver和PV Block Driver。HVM虚拟客户机没有PV虚拟客户机的那两个驱动,它由域0给分配一个进程,叫Qemu-dm。Qemu-dm可以支持HVM虚拟客户机使用网络的硬盘资源。由于Xen用来模拟BIOS的虚拟固件要作为软件加载HVM虚拟客户机的底层,所以HVM虚拟客户机需要这样的要求进行初始化。域管理控制一些Xen相关的进程统称域管理控制进程。这些进程在域0虚拟机中,用于管理和控制整个虚拟环境。下图阐述了域0外的进程和域0的关系,可以清楚的理解整体架构。XendXend是基于Python语言的用于管理xen环境的进程。它通过libxenctrl库来访问xen hypervisor,所有要求xend处理的请求都由xm工具通过XML RPC接口发送给xend。XMXM命令工具接受用户的输入,通过XML RPC发送给xend。XenstoredXenstored进程包含内存、域0和其他虚拟机之间的事件链接的注册信息,域0虚拟机通过这些注册信息同系统内的其他虚拟机建立通信频道。LibxenctrlLibxenctrl是一个c库,用来支持xend通过域0同xen hypervisor之间的通信。域0中有个特别的驱动,用来向xen hypervisor发送请求。Qemu-dmXen环境中的每个HVM虚拟客户机需要有自己的Qemu进程,这个进程用来处理HVM虚拟客户集中所有的网络和硬盘请求,实现全虚拟化。由于Qemu要直接访问网络和IO口,所以它位于xen hypervisor的外面,也就是存在于域0中。一个叫做Stub-dm的新工具已经在开发中,采用Stub-dm之后,不用再每个HVM虚拟客户机中都建立一个Qemu,Stub-dm可以给HVM虚拟客户机提供服务。Xen 3.3以后的版本会包含这个工具。Xen 虚拟固件Xen虚拟固件时虚拟BIOS,插入每个HVM虚拟客户机,保证他们的操作系统在正常启动时能得到启动所需的所有标准指令。Xen操作这部分阐明一个半虚拟化的客户机如何通过域0和xen hypervisor访问网络和存储设备。域0和域U通信前面提到过,xen hypervisor没有支持网络和硬盘的驱动,所以域U必须通过xen hypervisor同域0通讯,进而完成网络和硬盘操作。下面的例子是PV虚拟客户机想硬盘中写入数据的过程。PV虚拟客户机的PV块设备驱动收到一个像本地磁盘中写入数据的请求,它先通过xen hypervisor将数据写入内存的合适位置(PV虚拟客户机和域0共
文档评论(0)