`
8366
  • 浏览: 809334 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Linux Xen 基础知识 (转载)

阅读更多

学习资料:

鸟哥的 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 配置详解

    Linux虚拟化技术是一种高效利用硬件资源的方法,Xen是一个开源的虚拟化平台,它允许在一个物理服务器上同时运行多个独立的操作系统实例,每个实例被称为一个域(Domain)。在这个配置详解中,我们将深入探讨如何在...

    带Xen虚拟化技术支持的Linux内核定制编译.pdf

    【标题】: "带Xen虚拟化技术支持的Linux内核定制编译" 【描述】: 本文主要讨论如何在Redhat Enterprise Linux 5上部署Xen虚拟化技术,特别是针对已有的内核编译方法不适用于带Xen支持的内核编译的问题,提出了定制...

    Linux 虚拟机Xen安装详细步骤

    Linux 虚拟机 Xen 安装详细步骤 Xen 是一个开源的虚拟机监控程序(Hypervisor),可以在单个物理机器上运行多个虚拟机。下面是 Linux 虚拟机 Xen 的安装详细步骤。 安装 Xen 1. 安装 Xen 所需的基本组件:`# yum...

    Linux虚拟机Xen架构与原理

    - **Xen0(Domain-0)**:这是Xen架构中的基础系统,负责管理和调度所有虚拟机资源。它通常运行一个轻量级的操作系统内核,并提供必要的管理工具和服务。如果Xen0出现故障,则会影响所有的XenU虚拟机。 - **XenU...

    G:\Xen-linux.rar在Redhat linux 安装XEN-llinux

    在Redhat Linux上安装Xen-Linux是一项技术性较强的任务,涉及到虚拟化技术、系统配置以及软件管理等多个方面的知识。Xen是一款开源的虚拟化平台,它允许在一个物理服务器上运行多个独立的操作系统实例,提高了硬件...

    详细介绍Ubuntu编译Linux-xen方法

    在过去的一年里,Linux系统越来越受到电脑用户的欢迎,导致很多人开始学习Linux,学习时,你可能会遇到Ubuntu编译Linux-xen问题,这里将介绍Ubuntu编译Linux-xen问题的解决方法,在这里拿出来和大家分享一下。

    Xen的基本知识和原理

    Xen是许多云平台的基础,如Amazon EC2、Rackspace Cloud和Citrix XenCloud。这些云服务提供商利用Xen的高效虚拟化能力,为客户提供弹性的计算资源和高可用的服务。 **学习Xen的源码** 深入研究Xen的源码有助于理解...

    linux虚拟机xen之v3.0用户手册[收集].pdf

    尽管大多数Linux发行版都有对Xen的支持,但是其他操作系统(如Windows)需要特定的补丁或驱动才能在Xen环境下运行。 【安装】: Xen的安装方法有多种,包括通过预编译的二进制tarball包、RPMs、源代码安装等。安装...

    基于centos操作系统的xen安装文档

    根据提供的标题、描述以及部分文本内容,我们可以详细探讨如何在CentOS操作系统上安装并配置Xen虚拟化平台。本文将围绕Xen的基本概念、安装步骤、配置过程以及基本的使用方法进行详细介绍。 ### Xen简介 Xen是一款...

    Linux运维就业班+Linux架构班 Linux零基础到运维架构大神

    ### Linux基础知识 #### 1. Linux操作系统概述 - Linux的发展历史与现状 - Linux与其他操作系统的区别 - Linux发行版介绍(如Ubuntu、CentOS等) #### 2. Linux基本命令与Shell脚本 - 常用命令行操作(如ls、cd、...

    Linux Virtualization with Xen

    Xen是一个开源的虚拟化平台,由剑桥大学计算机实验室的Ian Pratt领导的团队最初开发,原本是Xenoserver项目的一部分,旨在构建公共基础设施以支持大规模分布式计算。随着时间的发展,Xen已经超越了这个项目的初衷,...

    CentOS Linux 6.2 64位版安装调试Xen虚拟机指南

    在本指南中,我们将深入探讨如何在 CentOS Linux 6.2 64位系统上安装和调试Xen虚拟机。Xen是一款开源的虚拟化平台,它允许在一个物理服务器上运行多个独立的操作系统实例,提高了硬件资源的利用率并简化了管理。 ...

    Xen安装windows和linux虚拟机参考.pdf

    【Xen虚拟化技术】 ...在Xen环境下,Linux和Windows虚拟机的管理和维护可以通过这些命令和工具进行,确保高效、稳定地运行多个独立的虚拟环境。对于需要多操作系统并存的IT环境,Xen提供了一种实用的解决方案。

    linux虚拟机xen之v3.0用户手册文.pdf

    Linux Xen V3.0 用户手册...无论是用于服务器整合、硬件兼容性扩展,还是复杂操作系统的开发和测试,Xen都能提供可靠的基础设施。随着技术的不断进步,Xen在虚拟化领域的应用越来越广泛,成为IT领域的重要组成部分。

    linux操作系统下XEN的安装与配置

    ### Xen在Linux操作系统下的安装与配置 #### 一、简介 Xen是一种开源的虚拟化技术,它通过在宿主机上运行一个称为“虚拟硬件监控器”的组件来实现硬件级别的虚拟化。Xen可以在单个宿主机上同时运行多个独立的操作...

    xen实践手册(转载)

    本实践手册将详细介绍如何在Linux环境中安装和配置Xen。 1. **源代码安装Xen** Xen的源代码托管在Mercurial版本控制系统中。首先,你需要在本地创建一个目录来存放Xen的源代码,并通过`yum install mercurial`...

    xen虚拟机调用usb设备

    在深入了解具体操作之前,我们首先需要了解一些基础知识: 1. **Xen虚拟化平台**:Xen是一款开源的虚拟机监视器,它允许在单个物理服务器上运行多个操作系统实例,并且可以在这些实例之间共享和分配硬件资源,如CPU...

    基于Linux的Xen虚拟化的实现毕业论文.docx

    "基于Linux的Xen虚拟化的实现毕业论文.docx" 本文总结了当前虚拟机系统的发展现状,并对虚拟化技术的应用进行了分析。虚拟化技术已经广泛应用于桌面机、台式机、笔记电脑、存储装置、路由器等领域,提供了虚拟化...

    Linux虚拟机Xen架构与原理.zip

    Linux虚拟机Xen架构与原理 Xen是一种开源的虚拟化技术,主要用于创建和管理虚拟机,它在操作系统层面上实现虚拟化,使得多个操作系统可以在单一硬件平台上并行运行。Xen最初由剑桥大学开发,现在是Xen项目的一部分...

    Linux虚拟机Xen架构与原理.doc

    Xen是一种在Linux/Unix操作系统中广泛使用的虚拟化技术,它通过虚拟机器(Virtual Machine)实现硬件资源的有效利用和隔离。虚拟机器允许一台物理主机像多台独立的计算机一样运行不同的操作系统和应用程序,提高了...

Global site tag (gtag.js) - Google Analytics