参考:
【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通过本地内存快速的共享信息。
- 大小: 24.9 KB
- 大小: 17.6 KB
- 大小: 17.8 KB
- 大小: 22.5 KB
- 大小: 20.7 KB
- 大小: 17.9 KB
- 大小: 24.1 KB
分享到:
相关推荐
Xen架构是一种虚拟化技术,主要用于创建和管理多个独立的操作系统实例在同一台物理硬件上运行。这个架构的设计目的是为了提供高效、安全的虚拟化环境,允许不同操作系统共享硬件资源,而不会相互干扰。 Xen ...
关于xen的总体架构,以及它的xenstore,超级调用,内存管理,处理器调度的基本介绍
### Linux虚拟机Xen架构与原理 #### 一、虚拟机器概述 虚拟机器(Virtual Machine,简称VM)是一种通过软件模拟的方式,在一个物理主机上创建多个独立的操作环境的技术。这种技术使得用户可以在单一硬件平台上同时...
《虚拟机Xen体系结构分析》 Xen是一款开源的虚拟化平台,广泛应用于云计算环境,为用户提供高效、可靠的虚拟化解决方案。Xen的核心设计理念是半虚拟化(Para-Virtualization),这种技术允许操作系统直接与虚拟化层...
接着,它详细阐述了Xen的架构,包括 Xen Hypervisor、Domain 0(特权虚拟机)和非特权虚拟机(Domain U),以及它们之间的交互机制。此外,还会讲解Xen的启动过程和管理工具,如xm命令行工具和XenCenter图形界面。 ...
### XEN虚拟机架构知识点详解 #### 一、XEN基本概念 XEN是一个开源的虚拟机监控器(Virtual Machine Monitor, VMM),也被称为Hypervisor。它能够在单一的物理机器上同时运行多个操作系统实例,实现硬件资源的高效...
Linux虚拟机Xen架构与原理 Xen是一种开源的虚拟化技术,主要用于创建和管理虚拟机,它在操作系统层面上实现虚拟化,使得多个操作系统可以在单一硬件平台上并行运行。Xen最初由剑桥大学开发,现在是Xen项目的一部分...
#### Xen架构 Xen采用了独特的多域模型来实现虚拟化,其中包含了两个主要部分:Domain 0(简称Dom0)和多个Domain U(简称DomU)。每个域代表一个独立的操作系统实例。 - **Domain 0**: 这是Xen启动时运行的第一个...
Xen架构分为两层:微内核(Microkernel)和 Dom0(Domain 0)。微内核负责基本的硬件抽象和调度,而Dom0是特权虚拟机,具有直接访问硬件的权利,负责管理和调度其他非特权虚拟机(DomU)。这种设计使得Xen能够高效、...
【Xen虚拟机架构与原理】 Xen是一种在Linux/Unix操作系统中广泛使用的虚拟化技术,它通过虚拟机器(Virtual Machine)实现硬件资源的有效利用和隔离。虚拟机器允许一台物理主机像多台独立的计算机一样运行不同的...
xen虚拟化技术 介绍的是Xen架构的相关知识,把Xen及相关的虚拟化技术详细的介绍一下。
解压并研究"xen-4.0.0"这个文件,你可以深入了解Xen的内核架构、驱动程序、工具链以及配置文件等内容。源码分析可以帮助开发者理解Xen的工作原理,定制自己的虚拟化解决方案,或参与到Xen的开发中,推动技术的进一步...
- Xen支持32位和64位x86架构,但在选择虚拟机类型时需要考虑宿主机和客户机的操作系统版本。 #### 在HostOS下安装Xen 安装Xen的过程包括几个关键步骤: **1. 准备工作** - 确认宿主机的硬件和操作系统符合Xen的...
1. **Xen架构与工作原理**:如"Xen and the Art of Virtualization"所述,Xen采用了半虚拟化(Para-Virtualization)和硬件辅助虚拟化(Hardware-assisted Virtualization)的混合模式。其中,最底层的称为 Dom0...
CPU虚拟化子系统主要包括虚拟CPU原理和结构、新架构下中断和异常处理机制的变化、时间和计时器相关操作,以及虚拟CPU的调度原理等;内存虚拟化子系统主要包括分页分段机制、内存分配和地址转换等;I/O设备虚拟化子...
首先,Xen架构分为三个主要层次:Hypervisor、Dom0(主域)和Guest Domains(客域)。Hypervisor是最底层,直接与硬件交互,负责调度、内存管理和设备驱动。Dom0是特权领域,拥有直接访问硬件的权利,用于管理其他...
在《Xen与虚拟化艺术》中,读者可以深入了解Xen的架构设计,包括其内存管理、I/O虚拟化、网络模型以及安全机制。书中还会探讨如何配置和管理Xen环境,包括如何创建和迁移虚拟机,以及如何实现高可用性与负载均衡。...
2. **VCPU (虚拟CPU)**:Xen使用`vcpu`结构来表示一个虚拟CPU。每个vCPU代表物理处理器的虚拟版本,其中包含类似于物理处理器寄存器的虚拟组件。vCPU的初始化过程涉及多个层次: - HVM vCPU初始化 - ...
这个“xen研究(ppt)”的文档集合可能包含了关于Xen的历史、架构、工作原理以及应用场景的详细讲解,虽然资料可能较旧,但Xen的核心概念和技术基础仍然值得我们深入探讨。 **1. Xen的历史** Xen项目始于2003年剑桥...
Xen的核心在于其微内核架构,它将虚拟化功能直接集成到操作系统内核中,提高了虚拟机(VM)的性能和效率。 ### Xen虚拟化技术原理 Xen采用半虚拟化(Para-virtualization)和全虚拟化(Full Virtualization)相...