设为首页 收藏本站
查看: 1629|回复: 0

[经验分享] XEN Architecture Overview

[复制链接]

尚未签到

发表于 2015-4-13 12:06:56 | 显示全部楼层 |阅读模式

  名词缩写
    VM: virtual machine
  Xen Components:
    xen虚拟环境由多个组件构成,它们一起提供虚拟化的环境。这些组件包括:
  xen hypervisor
  Domain 0
  Domain Management and Control (Xen DM & C)
  Domain U (Dom U) PV Guest
  Domain U (Dom U) HVM Guest
  
  下图为这些组件的基本组成图
   DSC0000.png
  
  
  Xen Hypervisor
    Xen hypervisor是基础软件抽象层,其直接位于硬件之上,操作系统之下。 它负责为运行硬件之上的多个VM提供CPU调度和内部划分管理。Xen hypervisor不仅仅为VM抽象出硬件层,它同时负责控制VM的执行,因为这些VM共享公共的进程环境。它对通常存在于计算机系统上网络,外部存储,视频以及其它公共I/O功能一无所知。
  
  DOM 0
    Dom 0是一个被修改过得linux kernel,它是唯一一个运行于Xen hypervisor 层之上拥有特权来访问物理I/O资源的VM,同时可以同其它VM进行通信。所以的Xen 虚拟化环境要求只有在Domain 0 VM启动之后,其它的VM才可以运行,也就是说Domain 0 VM 必须运行于其它VM之前。
  
  在Dom 0中包含了两个driver,分别用于支持从Dom U(PV or HVM)发起的网络和本地磁盘的请求,它们是Network Backend Driver 和 Block Backend Driver。
  Network Backend Driver 直接同本地的网络设备进行通信,用来处理来自于Dom U的网络请求。 Block Backend Driver同本地的硬件存储磁盘相通信,用来处理磁盘的读写请求,进而来满足Dom U的请求。
  
  DOM U
    在Xen hypervisor上运行的半虚拟化(paravirtualized)的VM称之为Dom U PV Guest, 在Dom U PV Guest里运行的是修改过的linux OS,比如Solaris, FreeBSD 或者其它的UNIX OS。
  在Xen hypervisor上运行的全虚拟化(full virtualized)的VM称之为Dom U HVM Guest,在Dom U HVM Guest上可以运行Window和其它未修改的OS。
  一个Dom U PV Guest VM包含两个driver分别是network driver和disk access driver,称之为PV Network Driver和PV Block Driver。
   DSC0001.png
  
  一个Dom U HVM Guest VM里面没有PV drivers,替代的是为每一个Dom U HVM Guest在Dom 0里面启动一个对应的Daemon, 叫做Qemu-dm。Qemu-dm用来支持Domain U HVM Guest的network和disk access 请求。
  
  Dom U HVM Guest 必须被初始化,使得它好像是某种特定的机器,而相应的软件要被加入到Dom U HVM Guest中去,这个软件是Xen virtual firmware,它被用来模拟一个OS在启动的时候需要的BIOS信息。
   DSC0002.png
  
  
  Domain Management and Control
    一系列的linux daemons被开源社区归类到Domain Management and Control. 这些服务支持所有的虚拟化环境的管理和控制工作,并且这些服务都存在于Dom 0 VM里面。
  Xend
    Xend daemon是一个Python App,它被认为是Xen 环境的系统管理器。 它通过使用libxenctrl 库来对Xen hypervisor发出请求。 所有对Xend发出的请求都是通过xm工具以XML RPC方式递交。
   DSC0003.png
  
  XM
    命令行工具,用来接收用户的输入,通过XML RPC将请求传送给Xend。
  
  Xenstored
    Xenstored daemon维护了一个包括内存和Domain 0和其他Domain U Guest之间的event channel link在内的registry信息。 Domain 0 vm通过这些registry信息来为其他VM建立device channel。
  
  libxenctrl
    libxenctrl是一个c语言编写的库,它为Xend提供通过Dom 0同Xen hypervisor通话的能力。 在Dom 0中一个特殊的称之为privcmd的driver,用来将Xend的请求交付给hypervisor。
  
  
   DSC0004.png
  
  Qemu-dm
    每一个在Xen 虚拟环境中运行的HVM Guest需要一个Qemu daemon。这个工具用来处理所有从HVM Guest来的network和disk请求,进而在Xen 虚拟化环境中实现全虚拟化。 Qemu必须存在于hypervisor之外,这是因为它需要访问网络和I/O,而这些功能存在于Dom 0,所有Qemu daemon存在于Dom 0.(一个新的feature正在开发当中,stub-dm,用来取代qemu-dm,可能随xen 3.3发布)
  
  xen virtual firmware
  xen virtual firmware是一个虚拟的BIOS,被嵌到每一个Dom U HVM VM 当中去,用来确保每个OS启动的过程中可以收到所有它期待的指令。
  
  Xen operation – Domain 0 to Domain U communication
    
  Xen hypervisor 不支持网络和disk请求,因此一个Dom U PV Guest必须通过Xen hypervisor同Dom 0 进行通信进而完成一个一次网络或disk请求。
  下面以一次Dom U PV Guest 写操作为例来进行说明。
  当在Dom U PV Guest 里面进行写操作时,Guest PV Block driver收到写disk操作请求,然后通过Xen hypervisor将数据写入本地内存当中,这块内存是和Dom 0 共享的。一个event channel存在于Dom 0和Dom U PV Guest之间,这使得它们可以通过在xen hypervisor中异步的inter-domain interrupt来进行通信。 Domain 0会收到一个从xen hypervisor来的interrupt,这使得Domain 0中Block Backend Driver 开始访问系统内存,将Domain U PV Guest本地共享内存的数据读出,然后Domain 0将读出的数据写入到本地disk相应的位置。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-56646-1-1.html 上篇帖子: Xen虚拟机时间的修改 下篇帖子: Configuring and Installing a Xen Hardware Virtual Machine (HVM) domainU Guest
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表