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

[经验分享] Linux Xen 基础知识 (转载)

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-1-9 13:30:21 | 显示全部楼层 |阅读模式
学习资料:
鸟哥的 Linux 私房菜--利用 Xen 设计虚拟机器
 
http://www.ha97.com/book/vbird_linux/linux_enterprise/xen.htm
 
参考:
【1】
http://wiki.xensource.com/xenwiki/XenArchitecture?action=AttachFile&do=get&target=Xen+Architecture_Q1+2008.pdf
 
该文档对Xen Hypervisor(管理程序)和其相关的工具以及所有支撑一个虚拟化环境所必需的应用程序做了一个较高层的,对于架构的综述。
Xen Components
一个Xen虚拟环境包括几个重要组成部分:
Xen Hypervisor
Domain 0
DomainManagement and Control(Xen DM&C)
Domain U(Dom U)PV Guest
Domain U(Dom U)HVM Guest
下图描述了这几部分之间的关系:

DSC0000.jpg
 Xen Hypervisor
Xen hypervisor是对这个软件的最基本、最底层的抽象层。它主要负责针对运行在该硬件设备之上的多个虚拟机的CPU轮转,内存划分的工作。Hypervisor不仅仅对底层硬件设备进行了抽象,而且同时控制着虚拟机的执行。它不负责联网、外存、显示以及任何其他IO功能。
Domain 0
Domain 0是一个修改过的Linxu kernel,一个运行在Xen hypervisor之上的独特的虚拟机,它可以控制物理IO资源,并且同时与其他运行于该平台上的虚拟机进行交互(Domain U:PV and HVM Guests)。所有的Xen虚拟环境都需要一个运行着的Domain 0来启动其他的虚拟机。
Domain 0包括了两个驱动,来支持来自于其他虚拟机的网络和本地磁盘请求。(见下图);Network Backend Driver和Block Backend Driver。NB Driver直接与本地网络硬件进行交互,来处理所有来自于Domain U的虚拟机请求。BB Driver直接与本地磁盘进行交互,基于Domain U的请求来从驱动器读写数据。

DSC0001.jpg
 Domain U
所有的运行于Xenhypervisor之上的半虚拟机(Paravirtualization),都叫做Domain U PV Guests,他们(PV Guests)运行的是修改后的Linux OS,Solaris, FreeBSD和其他UNIX OS。所有运行于Xen hypervisor之上的全虚拟机都是叫做Domain U HVM Guests,并且可以运行标准的Windows或者任何没有修改过的操作系统。
Domain U PV Guests知道不能直接访问硬件,并且知道在本地机器上运行的其他虚拟机。DomainU HVM Guests不知道它在分享处理器时间以及其他虚拟机的存在。
PV Guest包含有两个针对网络和磁盘访问的驱动,PV Network Driver和PV Block Driver

DSC0002.jpg
 HVM Guest没有PV驱动安装在虚拟机上,但是针对每一个启动的HVM Guest都有一个特殊的daemon---- Qemu-dm。Qemu-dm支持HVM Guests进行网络互联和磁盘访问请求。
  
HVM Guests必须初始化,以便于软件能够添加到HVM Guests,Xen Virtual firmware来模拟BIOS来启动操作系统。(??The Domain U HVM Guest must initialize as it would ona typical machine so software is added to the Domain U HVM Guest,Xen virtual firmware, to simulate the BIOS anoperating system would expect on startup.)。

DSC0003.jpg
 域管理和控制
很多的Linuxdaemons都被开源社区定义为域管理和控制的。这些服务支持对整个虚拟环境的管理和控制,存在于Domain 0的虚拟机中。
Xend
Xend daemon是一个python程序,它被认为是Xen环境的系统管理员。它利用libxenctrl库来发起对Xen hypervisor的请求。所有由Xend所处理的请求都是通过一个XML RPC接口,这些RPC请求来自于Xm工具。

DSC0004.jpg
Xm
一个命令行工具,它获取用户输入,通过XML RPC传递给Xend。
Xenstored
Xenstored daemon 维护一个注册信息,这些信息包括了内存和事件管道(event channel),其将Domain 0 与所有其他的Domain U连接起来。Domain 0 虚拟机利用这个注册信息来设置与其他虚拟机的通信管道。
Libxenctrl
  
Libxenctrl是一个C函数库,它提供给Xend与Xen hypervisor进行交互的能力,通过Domain 0.在Domain 0 中的一个特殊驱动,privcmd将这些请求发送给hypervisor。
 
  
DSC0005.jpg
 Qemu-dm
每一个HVM Guest都需要一个Qemu daemon。这个工具处理所有从HVM Guest发出的联网和磁盘请求。Qemu必须存在于Xen hypervisor的外面,因为它需要访问网络和IO,因此它存在于Domain0。
Xen Virtual Firmware
Xen Virtual Firmware是一个虚拟的BIOS,它被插入到每一个Domain U HVM Guest中,来确保操作系统收到所有标准的启动指令。
Xen Operation
Domain 0 与Domain U交互
Xen hypervisor是不支持网络或者平请求的,因此一个Domain U PV Guest必须通过xen hypervisor与Domain 0通信来完成一个网络或磁盘请求。
下图中的事件管道是Domain0 和Domain U之间的一个直接连接。事实上,事件管道贯穿Xen hypervisor,并且已经在Xenstored注册了具体的中断,允许Domain 0 和Domain U的PV Guest通过本地内存快速的共享信息。

DSC0006.jpg

运维网声明 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-162202-1-1.html 上篇帖子: ubuntu11.04 安装 xen 下篇帖子: centos xen rpm repo
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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