学习资料:
鸟哥的
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
通过本地内存快速的共享信息。
分享到:
相关推荐
Linux虚拟化技术是一种高效利用硬件资源的方法,Xen是一个开源的虚拟化平台,它允许在一个物理服务器上同时运行多个独立的操作系统实例,每个实例被称为一个域(Domain)。在这个配置详解中,我们将深入探讨如何在...
【标题】: "带Xen虚拟化技术支持的Linux内核定制编译" 【描述】: 本文主要讨论如何在Redhat Enterprise Linux 5上部署Xen虚拟化技术,特别是针对已有的内核编译方法不适用于带Xen支持的内核编译的问题,提出了定制...
Linux 虚拟机 Xen 安装详细步骤 Xen 是一个开源的虚拟机监控程序(Hypervisor),可以在单个物理机器上运行多个虚拟机。下面是 Linux 虚拟机 Xen 的安装详细步骤。 安装 Xen 1. 安装 Xen 所需的基本组件:`# yum...
- **Xen0(Domain-0)**:这是Xen架构中的基础系统,负责管理和调度所有虚拟机资源。它通常运行一个轻量级的操作系统内核,并提供必要的管理工具和服务。如果Xen0出现故障,则会影响所有的XenU虚拟机。 - **XenU...
在Redhat Linux上安装Xen-Linux是一项技术性较强的任务,涉及到虚拟化技术、系统配置以及软件管理等多个方面的知识。Xen是一款开源的虚拟化平台,它允许在一个物理服务器上运行多个独立的操作系统实例,提高了硬件...
在过去的一年里,Linux系统越来越受到电脑用户的欢迎,导致很多人开始学习Linux,学习时,你可能会遇到Ubuntu编译Linux-xen问题,这里将介绍Ubuntu编译Linux-xen问题的解决方法,在这里拿出来和大家分享一下。
Xen是许多云平台的基础,如Amazon EC2、Rackspace Cloud和Citrix XenCloud。这些云服务提供商利用Xen的高效虚拟化能力,为客户提供弹性的计算资源和高可用的服务。 **学习Xen的源码** 深入研究Xen的源码有助于理解...
尽管大多数Linux发行版都有对Xen的支持,但是其他操作系统(如Windows)需要特定的补丁或驱动才能在Xen环境下运行。 【安装】: Xen的安装方法有多种,包括通过预编译的二进制tarball包、RPMs、源代码安装等。安装...
根据提供的标题、描述以及部分文本内容,我们可以详细探讨如何在CentOS操作系统上安装并配置Xen虚拟化平台。本文将围绕Xen的基本概念、安装步骤、配置过程以及基本的使用方法进行详细介绍。 ### Xen简介 Xen是一款...
### Linux基础知识 #### 1. Linux操作系统概述 - Linux的发展历史与现状 - Linux与其他操作系统的区别 - Linux发行版介绍(如Ubuntu、CentOS等) #### 2. Linux基本命令与Shell脚本 - 常用命令行操作(如ls、cd、...
Xen是一个开源的虚拟化平台,由剑桥大学计算机实验室的Ian Pratt领导的团队最初开发,原本是Xenoserver项目的一部分,旨在构建公共基础设施以支持大规模分布式计算。随着时间的发展,Xen已经超越了这个项目的初衷,...
在本指南中,我们将深入探讨如何在 CentOS Linux 6.2 64位系统上安装和调试Xen虚拟机。Xen是一款开源的虚拟化平台,它允许在一个物理服务器上运行多个独立的操作系统实例,提高了硬件资源的利用率并简化了管理。 ...
【Xen虚拟化技术】 ...在Xen环境下,Linux和Windows虚拟机的管理和维护可以通过这些命令和工具进行,确保高效、稳定地运行多个独立的虚拟环境。对于需要多操作系统并存的IT环境,Xen提供了一种实用的解决方案。
Linux Xen V3.0 用户手册...无论是用于服务器整合、硬件兼容性扩展,还是复杂操作系统的开发和测试,Xen都能提供可靠的基础设施。随着技术的不断进步,Xen在虚拟化领域的应用越来越广泛,成为IT领域的重要组成部分。
### Xen在Linux操作系统下的安装与配置 #### 一、简介 Xen是一种开源的虚拟化技术,它通过在宿主机上运行一个称为“虚拟硬件监控器”的组件来实现硬件级别的虚拟化。Xen可以在单个宿主机上同时运行多个独立的操作...
本实践手册将详细介绍如何在Linux环境中安装和配置Xen。 1. **源代码安装Xen** Xen的源代码托管在Mercurial版本控制系统中。首先,你需要在本地创建一个目录来存放Xen的源代码,并通过`yum install mercurial`...
在深入了解具体操作之前,我们首先需要了解一些基础知识: 1. **Xen虚拟化平台**:Xen是一款开源的虚拟机监视器,它允许在单个物理服务器上运行多个操作系统实例,并且可以在这些实例之间共享和分配硬件资源,如CPU...
"基于Linux的Xen虚拟化的实现毕业论文.docx" 本文总结了当前虚拟机系统的发展现状,并对虚拟化技术的应用进行了分析。虚拟化技术已经广泛应用于桌面机、台式机、笔记电脑、存储装置、路由器等领域,提供了虚拟化...
Linux虚拟机Xen架构与原理 Xen是一种开源的虚拟化技术,主要用于创建和管理虚拟机,它在操作系统层面上实现虚拟化,使得多个操作系统可以在单一硬件平台上并行运行。Xen最初由剑桥大学开发,现在是Xen项目的一部分...
Xen是一种在Linux/Unix操作系统中广泛使用的虚拟化技术,它通过虚拟机器(Virtual Machine)实现硬件资源的有效利用和隔离。虚拟机器允许一台物理主机像多台独立的计算机一样运行不同的操作系统和应用程序,提高了...