xen架构.docx_第1页
xen架构.docx_第2页
xen架构.docx_第3页
xen架构.docx_第4页
xen架构.docx_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Xen 架构小结:这个文档是从高层次分析Xen hypervisor的整体架构以及相关工具和应用程序。这个架构是基于2008年2月发布的Xen3.2版本。该文档是Xen架构的简介,更多信息请参考Xen books。Xen组成部分Xen虚拟环境由以下几个组成部分:Xen HypervisorXen管理程序Domain 0域0Domain Management and Control(Xen DM&C)域管理控制程序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和域U之间的事件信道,允许他们通过xen hypervisor进行域间的异步中断。域0收到xen hypervisor发来的中断,中断使得PV后端块设备驱动到域0和域U共享内存中读取合适的数据,内存中的数据通过域0写入硬盘。事件信道如下图所示,图中域0和域U之间的直接连接表示事件信道。实际上,事件信道要通过xen hypervisor使用xenstored中注册过的特定中断来实现域0和域U之间通过本地内存进行数据共享。图示详细的说明了整个过程。Glossary C: /; a computer programming language Daemons: /wiki/Daemon_(computer_software); a program running in the background rather than under direct control of a user Driver: /wiki/Device_driver; program allowing software to interact with hardware Full Virtualization: /wiki/Full_virtualization; a virtual machine not aware of its virtualization Interrupt: /wiki/Interrupt; signal from hardware to software requesting a specific action in software Kernel: /wiki/Linux_kernel; the central component of a computer operating system Paravirtualized: /wiki/Paravirtualization; virtual machine running on a hypervisor that is aware of it being virtualized Python: /; a dynamic object oriented programming language ROM BIOS: /wiki/BIOS; software instructions run on a machine w

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论