学习资料:
鸟哥的
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
Domain
Management and Control
(
Xen DM&C
)
Domain U
(
Dom U
)
PV Guest
Domain U
(
Dom U
)
HVM Guest
下图描述了这几部分之间的关系:
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
的请求来从驱动器读写数据。
Domain U
所有的运行于
Xen
hypervisor
之上的半虚拟机(
Paravirtualization
),都叫做
Domain U PV Guests
,他们(
PV Guests
)运行的是修改后的
Linux OS
,
Solaris
,
FreeBSD
和其他
UNIX OS
。所有运行于
Xen hypervisor
之上的全虚拟机都是叫做
Domain U HVM Guests
,并且可以运行标准的
Windows
或者任何没有修改过的操作系统。
Domain U PV Guests
知道不能直接访问硬件,并且知道在本地机器上运行的其他虚拟机。
Domain
U HVM Guests
不知道它在分享处理器时间以及其他虚拟机的存在。
PV Guest
包含有两个针对网络和磁盘访问的驱动,
PV Network Driver
和
PV Block Driver
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 on
a typical machine so software is added to the Domain U HVM Guest
,
Xen virtual firmware, to simulate the BIOS an
operating system would expect on startup.
)。
域管理和控制
很多的
Linux
daemons
都被开源社区定义为域管理和控制的。这些服务支持对整个虚拟环境的管理和控制,存在于
Domain 0
的虚拟机中。
Xend
Xend daemon
是一个
python
程序,它被认为是
Xen
环境的系统管理员。
它利用
libxenctrl
库来发起对
Xen hypervisor
的请求。所有由
Xend
所处理的请求都是通过一个
XML RPC
接口,这些
RPC
请求来自于
Xm
工具。
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
。
Qemu-dm
每一个
HVM Guest
都需要一个
Qemu daemon
。这个工具
处理所有从
HVM Guest
发出的联网和磁盘请求
。
Qemu
必须存在于
Xen hypervisor
的外面,因为它需要访问网络和
IO
,因此它存在于
Domain
0
。
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
通信来完成一个网络或磁盘请求。
下图中的事件管道是
Domain
0
和
Domain U
之间的一个直接连接。事实上,事件管道贯穿
Xen hypervisor
,并且已经在
Xenstored
注册了具体的中断,允许
Domain 0
和
Domain U
的
PV Guest
通过本地内存快速的共享信息。
分享到:
相关推荐
Xen的配置,从安装开始,linux版本为centoOS 5.4
带Xen虚拟化技术支持的Linux内核定制编译.pdf
Linux 虚拟机Xen安装详细步骤 史上最详细 没有之一
在过去的一年里,Linux系统越来越受到电脑用户的欢迎,导致很多人开始学习Linux,学习时,你可能会遇到Ubuntu编译Linux-xen问题,这里将介绍Ubuntu编译Linux-xen问题的解决方法,在这里拿出来和大家分享一下。
G:\Xen-linux.rarG:\Xen-linux.rarG:\Xen-linux.rarG:\Xen-linux.rar
linux虚拟机xen之v3.0用户手册[收集].pdf
Xen安装windows和linux虚拟机参考.pdf
Linux Virtualization with Xen
redhat xen linux bonding
Xen的基本知识讲解,适合Xen的入门,Xen作为开源虚拟化解决方案,分析Xen的源码有利于进行虚拟化的研究
本文主要介绍Xen:一种使用在Linux/Unix 系统下「虚拟机器(Virtual Machine)软体」
主要介绍基于Redhat Enterprise Linux AS 5 的XEN安装与配置.Xen是一个基于虚拟硬件监控器技术的虚拟化软件。Xen运行在一个宿主linux系统上,提供同时引导启动多个linux实例的能力.
基于centos操作系统的xen安装文档,基于centos操作系统的xen安装文档,基于centos操作系统的xen安装文档
CentOS Linux 6.2 64位版安装调试Xen虚拟机指南
Linux虚拟机Xen架构与原理
Linux平台上Xen虚拟机的安装与配置v0.7
Xen基础架构安全性分析
Xen基础架构安全性分析
SUSE Linux Enterprise 10 是开放式、灵活安全的企业平台,可安装对于你企业运营的重要应用程式软件和资料库—个桌面系统到资料中心,满足您的各种业务需求。SUSE Linux Enterprise 平台紧密结合了 Novell 系统管理...
请与installXen_linux-2.6.31.8+xen-4.1.2.sh.txt配合使用.....