Xen与虚拟化技术

合集下载

Xen虚拟化技术

Xen虚拟化技术

Xen虚拟化技术简介Xen是一种虚拟化技术,可用于创建和管理虚拟机。

它是一个开源的,基于x86架构的虚拟化解决方案。

Xen允许多个操作系统在同一台物理服务器上运行,并提供隔离和资源管理的功能。

本文将介绍Xen虚拟化技术的基本概念、架构和优势。

基本概念HypervisorHypervisor是Xen的核心组件,也是Xen与其他虚拟化技术的区别所在。

Hypervisor允许多个操作系统同时运行在宿主机上,每个操作系统都可以被认为是一个虚拟机。

Dom0是Xen虚拟化环境中的控制域。

它运行一个特殊的Xen内核,负责管理虚拟机的创建、销毁、资源分配等任务。

Dom0也可以运行其他操作系统,如Linux。

DomUDomU是Xen虚拟化环境中的客户域。

每个DomU都是一个独立的虚拟机,可以运行不同的操作系统,如Linux、Windows等。

DomU通过Hypervisor与Dom0进行通信和资源管理。

架构Xen虚拟化技术的架构可以分为四个层次:硬件层、Hypervisor层、Dom0层和DomU层。

硬件层是Xen虚拟化技术的底层,包括物理服务器、CPU、内存、存储等硬件设备。

Hypervisor层Hypervisor层是Xen的核心组件,负责虚拟化和资源管理。

它将物理硬件资源划分为多个虚拟资源,并为每个虚拟机提供独立的运行环境。

Dom0层Dom0层是控制域,运行一个特殊的Xen内核。

它负责管理虚拟机的创建、销毁、资源分配等任务,并提供管理接口供管理员使用。

DomU层是客户域,每个DomU都是一个独立的虚拟机。

DomU可以运行不同的操作系统,并通过Hypervisor与Dom0进行通信和资源管理。

优势Xen虚拟化技术相比其他虚拟化技术具有以下优势:高性能Xen采用了一种称为paravirtualization的虚拟化方式,它在虚拟机和物理硬件之间添加一层Hypervisor,使得虚拟机能够直接访问硬件资源,从而提高了性能。

服务器虚拟化技术Xen和KVM的比较

服务器虚拟化技术Xen和KVM的比较

服务器虚拟化技术Xen和KVM的比较在现代信息技术迅速发展的今天,服务器虚拟化技术成为企业及个人管理和应用服务器的重要工具和方法。

而Xen和KVM是目前应用较为广泛的两种服务器虚拟化技术。

本文将对它们的特点、优缺点以及适用场景进行比较和分析。

Xen是一种基于x86平台的开源虚拟化技术,由剑桥大学开发并于2003年发布。

Xen使用宿主机(Host)和客户机(Guest)的模式,即宿主机上运行宿主操作系统(Host OS),而客户机上则运行被虚拟化的操作系统(Guest OS)。

这种架构使得Xen可以实现高效的资源分配和管理,提供良好的隔离性和稳定性。

Xen采用了“半虚拟化”技术,它需要对Guest OS进行修改以适应虚拟化环境。

这一特点使得Xen相对于完全虚拟化技术来说,具有更高的性能和效率。

与Xen不同,KVM(Kernel-based Virtual Machine)是一种基于Linux内核的虚拟化技术,它于2006年由Red Hat公司发布。

KVM通过使用Linux内核的虚拟化功能,将宿主机作为一个虚拟机管理程序运行,从而提供了一种轻量级而高效的虚拟化解决方案。

KVM可以通过硬件的虚拟化扩展(Intel VT和AMD-V)来提供虚拟机的运行环境,同时它还能够利用Linux的丰富资源管理功能,实现更好的资源调度和利用效率。

相比于Xen的半虚拟化技术,KVM采用了全虚拟化技术,无需修改Guest OS,因此更加容易部署和维护。

就性能而言,Xen和KVM各有优势。

Xen的半虚拟化技术使得Guest OS可以直接访问物理硬件,因此在I/O密集型应用场景下具有较好的性能表现。

而KVM在处理CPU密集型任务时表现更加出色,因为它利用了硬件虚拟化扩展来提高CPU虚拟化的效率。

在可移植性方面,Xen相比于KVM更具优势。

Xen可以在多个操作系统平台上运行,包括Linux、Windows、FreeBSD等,这为多平台的应用提供了更好的支持。

Xen-VMware-ESXi-Hyper-V和KVM等虚拟化技术的原理解析

Xen-VMware-ESXi-Hyper-V和KVM等虚拟化技术的原理解析

Xen,VMware ESXi,Hyper-V和KVM等虚拟化技术的原理解析XEN 与 VMware ESXi,Hyper-V 以及 KVM 特点比较:XEN 有简化虚拟模式,不需要设备驱动,能够保证每个虚拟用户系统相互独立,依赖于 service domains 来完成一些功能;Vmware ESXI 与 XEN 比较类似,包含设备驱动以及管理栈等基本要素,硬件支持依赖于 VMware 创建的驱动;Hyper-V 是基于 XEN 管理栈的修改;KVM 与XEN 方式不同,KVM 是以Linux 内核作为管理工具得。

虚拟机的体系结构XEN 体系结构图 3. XEN 体系结构图一个XEN 虚拟机环境主要由以下几部分组成:XEN Hypervisor;Domain 0 —— Domain Management and Control(XEN DM&C);Domain U Guest(Dom U)下图4 显示除了各部分之间的关系:图 4. Xen 三部分组成之间关系图XEN Hypervisor :XEN Hypervisor 是介于操作系统和硬件之间的一个软件描述层。

它负责在各个虚拟机之间进行CPU 调度和内存分配。

XEN Hypervisor 不仅抽象出虚拟机的硬件,同时还控制着各个虚拟机的执行。

XEN Hypervisor 不会处理网络、存储设备、视频以及其他I/O. Domain 0:Domain 0 是一个修改过的Linux kernel,是唯一运行在Xen Hypervisor 之上的虚拟机,它拥有访问物理I/O 资源的权限,同时和系统上运行的其他虚拟机进行交互。

Domain 0 需要在其它Domain 启动之前启动。

Domain U:运行在Xen Hypervisor 上的所有半虚拟化(paravirtualized)虚拟机被称为“Domain U PV Guests”,其上运行着被修改过内核的操作系统,如Linux、Solaris、FreeBSD 等其它UNIX 操作系统。

虚拟化技术Xen及其应用

虚拟化技术Xen及其应用

虚拟化技术Xen及其应用[摘要]Xen是一个开放源代码,基于x86 CPU架构的虚拟机监视器(VMM),借助于Xen 可以在单个物理硬件上同时实现多个操作系统的运行。

主要介绍Xen 的特点和结构,实例演示以及应用领域。

[关键词]Xen虚拟机半虚拟全虚拟一、引言随着服务器整合需求不断的升温,虚拟化技术正越来越受到关注。

而伴随着现代计算机不断增强的处理能力,利用虚拟化技术实现多个不同的操作系统在同一台计算机上的高性能运行将带来广阔的发展前景。

利用Xen 可以在一台计算机实现多个操作系统的同时运行,Xen可以广泛应用于服务器整合领域以及软件开发过程中。

二、Xen简介Xen是一个开放源代码,基于x86 CPU架构的虚拟机监视器(VMM),借助于Xen 可以在单个物理硬件上同时实现多个操作系统的运行。

Xen支持x86/32, x86/64平台,其虚拟机的性能能够接近真实硬件环境,同时它实现了不同计算机间的虚拟机的动态迁移,即允许虚拟机操作系统以及其上的应用程序动态地在服务器间互相迁移,实现了服务器负载的均衡,最大限度的做到资源的合理应用。

Xen虚拟机能最大支持32个虚拟CPU(VCPU),并允许虚拟CPU的热插拔。

随着Intel和AMD在其CPU中增加辅助虚拟化技术(Intel VT和AMD-V),Xen已经实现全虚拟,即不用修改虚拟机操作系统即可实现对于系统的虚拟化,增加了Xen的应用范围。

从Xen3.0起Xen同时支持半虚拟(para-virtualization)和基于硬件的全虚拟(full virtualization)。

半虚拟化的Xen虚拟机主要为了实现系统的高性能,它需要通过修改客户操作系统来实现利用Xen提供的平台接口。

和半虚拟相比,全虚拟无须修改客户操作系统,但是它需要为客户操作系统提供一个完全虚拟化的平台。

三、Xen整体结构Xen 可以同时实现管理多个虚拟机客户操作系统的独立运行,通过Xen对各个域(Domain)的合理调度可以实现高效利用CPU资源。

虚拟化技术的代表产品Xen

虚拟化技术的代表产品Xen
为了突破这一瓶颈 , 多硬件 许 操 作 系统 的产生 改变 了人 们对 计 能满足各产业实际应用 的需求。 因 厂商和软件厂商都为此做 了大量研 算机使用方 式的定义和认知 , 是迈 此在软件虚拟技术成熟 的基础之上 究。例 如 Itl n e 已经在其新的 C U P 向信息 时代的第一步。
w o ks a i n、 Vi t a r t to r u l PC、 Xe n、
统可 以对硬 件资源进 行适当的调度
X n是在 l u e i x系统 内核 代码 n
Ln x i u KVM 都采用了这一技术 , 和管理 ( 完全软件模 拟虚 拟化技术 的基 础上修改添加 了许 多用来支持 目前对这一类虚拟化技术 ,人们统 中,虚 拟机操作 系统对硬件资源没 计算机虚 拟化 技术 的功 能 ,这样一
VMwa e r用软件模 拟计算机硬 而使得一台计算机 中同时产生运行
种数据信息 ,而人们又对计算机 的 件系统 ,这样 一来在一个真实的计 多个操作系统运行的硬件环境成为
性 能有 了新 的需求。
算机 系统 上 ( 包括操作系 统软 件 ) 可 能 。 与软件 初 算机系统研 究的主要方 向,而虚拟 台 上 安 装 VM w r a e,然 后 再 用
的计算 机系 统 中没有 操作 系统 软 机技术的完善使得这些新需求的满 VMwae r 虚拟机安装 l u i x操 作系 n 件, 计算机的主要功能也只是提供 足有 了更可行的捷径 。 科学计算 , 所以初期的计算机完全 需要人工操作 , 通 过 硬 件 线 路 的 连 接 来 实 现 计 算 程 序 的运行 。后来 由 于 计 算 机 硬 件 速 度 的 快 速 发 展 和 统 ,这样一来 ,用户可以在 同一个 最早计算机虚拟化技术完全 由 硬件平台上同时运行两个结构完全 不 同 的操 作 系统 。

服务器虚拟化平台比较HyperVvsXen

服务器虚拟化平台比较HyperVvsXen

服务器虚拟化平台比较HyperVvsXen 服务器虚拟化平台比较:Hyper-V vs Xen随着计算机技术的不断发展,服务器虚拟化成为了企业级IT基础设施中不可或缺的一部分。

虚拟化技术可以将一台物理服务器划分为多个虚拟机,从而提高服务器的利用率和灵活性。

在众多虚拟化平台中,Hyper-V和Xen是两个备受关注的候选者。

本文将对Hyper-V和Xen进行比较,并探讨它们的优势和不足之处。

一、Hyper-VHyper-V是微软推出的基于物理服务器的虚拟化平台。

作为Windows Server的一部分,Hyper-V提供了广泛的功能和易于使用的管理工具。

以下是Hyper-V的主要特点:1. 性能强大:Hyper-V能够在物理服务器上运行多个虚拟机,并为每个虚拟机提供高性能和快速的响应速度。

2. 多平台支持:Hyper-V不仅支持Windows虚拟机,还可以运行Linux和其他操作系统的虚拟机。

3. 管理工具:Hyper-V提供了丰富的管理工具,如Hyper-V管理器和System Center Virtual Machine Manager,使管理员能够轻松管理和监控虚拟机。

4. 安全性:Hyper-V提供了强大的安全功能,包括隔离和访问控制,以确保虚拟机之间的安全性。

尽管Hyper-V有许多优点,但它也存在一些限制。

例如,虚拟机的可移植性较差,因为Hyper-V主要针对Windows环境。

此外,Hyper-V 在某些方面的扩展性和灵活性上还有改进空间。

二、XenXen是一个开源的虚拟化平台,最初由剑桥大学开发。

它提供了一种高性能和灵活的虚拟化解决方案。

以下是Xen的主要特点:1. 性能优越:Xen采用了一种称为“典型模型”的虚拟化方式,可以实现接近原生性能的虚拟机性能。

2. 可扩展性:Xen支持将多个物理服务器组合成一个虚拟化集群,以提供更高的可用性和可扩展性。

3. 安全性:Xen具有强大的安全性功能,如虚拟机隔离和访问控制,以及全面的安全审计和监控机制。

服务器虚拟化平台比较XenvsVMware

服务器虚拟化平台比较XenvsVMware

服务器虚拟化平台比较XenvsVMware服务器虚拟化平台比较:Xen vs VMware服务器虚拟化技术是现代企业中广泛应用的一项重要技术,可以帮助企业提高服务器的利用率、降低运维成本,并提供灵活性和可扩展性。

在服务器虚拟化市场上,Xen和VMware是两个受欢迎的选择。

本文将比较Xen和VMware两种虚拟化平台的优势和特点。

一、Xen虚拟化平台Xen是一个开源的虚拟化平台,旨在提供高性能和可扩展性。

它基于虚拟机监视器(Hypervisor)的架构,能够将物理服务器划分为多个虚拟机,并在每个虚拟机上运行不同的操作系统。

以下是Xen虚拟化平台的几个关键特点:1. 性能优异:Xen具有较低的虚拟化开销和良好的性能隔离,可以实现接近原生硬件的性能。

2. 安全性高:Xen具有可靠的隔离机制,可以确保虚拟机之间的安全和隐私。

3. 社区活跃:作为一个开源项目,Xen有庞大的开发者社区支持,可以享受到最新的功能和改进。

4. 灵活性强:Xen可以在不同的硬件和操作系统上运行,提供更大的灵活性。

二、VMware虚拟化平台VMware是一家具有丰富经验的虚拟化技术提供商,其产品包括VMware vSphere和VMware ESXi等。

以下是VMware虚拟化平台的几个关键特点:1. 成熟稳定:VMware是市场上最早提供商之一,拥有广泛的用户基础和成熟的产品线。

2. 功能丰富:VMware提供了全面的管理工具和功能,例如vMotion和vCenter等,可以方便地管理和迁移虚拟机。

3. 兼容性强:VMware支持多种操作系统和硬件平台,并提供了广泛的驱动程序和兼容性支持。

4. 健壮性和可用性高:VMware的虚拟化平台具有高可用性和故障容错功能,可以确保持续性的业务运行。

三、Xen vs VMware通过对Xen和VMware虚拟化平台的比较,我们可以看到它们各自的优势和特点。

以下是Xen和VMware的比较:1. 性能和资源利用率:Xen在性能方面表现出色,与原生硬件执行效率接近。

虚拟化技术介绍及产品分析V1.0_part4_Xen及KVM产品分析

虚拟化技术介绍及产品分析V1.0_part4_Xen及KVM产品分析

VM
VM
• DVS 控制器
• • • • 虚拟器件 基于Web的界面 管理多个资源池 与被管理的资源池并存
VM VM
VM
1 2
虚拟化技术简介 VMware vSphere 产品分析 Microsoft Hyper-V 产品分析 Xen 及 KVM 产品分析
Xen 简介 Citrix XenServer 产品介绍 KVM 简介
2?
3?
降低成本
绿色环保,节能减排,提高数据中心机房空间使用率 ,提高能效 提高基础架构的利用率 提高易用性和灵活性 提高基础架构的可扩展能力 提高可用性和业务连续性 降低资源交付时间,提高资源交付的服务水平 增强安全性
4?
5?
6?
7? 8?
XenServer的不同?
• 开放的、高度可靠的、安全的平台,为用户提 供了高性价比的企业级虚拟化管理
虚拟化技术介绍及产品分析
1 2
虚拟化技术简介 VMware vSphere 产品分析 Microsoft Hyper-V 产品分析 Xen 及 KVM 产品分析
Xen 简介 Citrix XenServer 产品介绍 KVM 简介
3
4
Red Hat RHEV产品介绍
5
存储虚拟化产品介绍
Xen 的发展叱
• • • •
统一的管理端 在任何地方管理虚拟化资源 多服务器 包含在XenServer中
在线虚拟机迁移-XenMotion Live Migration
Shared Storage
劢态内存控制(DMC)
• 是虚拟机在一个可调整
的内存范围内运行 物理限制
• 累计最高扩展内存超出
• 分布式的内存资源提高
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录2010-6-211.虚拟化发展历史 (2)1.1硬件虚拟化 (2)1.2处理器虚拟化 (2)1.3指令集虚拟化 (2)2.虚拟化技术的类型 (3)2.1硬件仿真 (3)2.2完全虚拟化 (3)2.3超虚拟化 (3)2.4操作系统级的虚拟化 (4)2.5内核虚拟机(Linux KVM) (4)3.与Linux相关的虚拟化项目 (5)4.Xen (6)4.1Xen的体系架构 (6)4.2Xen Hypervisor,操作系统,应用程序 (8)4.3Xen的半虚拟化和全虚拟化 (9)4.4Xen的网络架构 (11)4.4.1Xen支持三种网络工作模式 (11)4.4.2Xen Domain U Guests发送数据包处理流程 (12)4.4.3xen中虚拟网卡与物理网卡之间的关系 (12)5.Xen的配置和管理 (13)5.1Xen相关配置文件 (13)5.2/etc/xen/下的配置文件 (14)1.虚拟化发展历史1.1硬件虚拟化IBM早在20世纪60年代开发System/360™Model67大型机时就开始使用该技术。

Model67通过VMM(Virtual Machine Monitor)对所有的硬件接口都进行了虚拟化。

在早期计算机中,操作系统被称为supervisor。

能够在其他操作系统上运行的操作系统被称为hypervisor(这个术语是在20世纪70年代出现的)。

VMM可以直接在底层硬件上运行,允许运行多个虚拟机(VM)。

每个VM都可以运行一个自己私有操作系统的实例——称为CMS(Conversational Monitor System)1.2处理器虚拟化虚拟化早期的另外一种用法是P-code(或伪码)机。

P-code是一种机器语言,运行于虚拟机而不是实际硬件。

它将Pascal程序编译成P-code,然后在一个P-code虚拟机上运行。

这就使P-code程序具有了高度的可移植性,而且,只要有可用的P-code虚拟机,P-code 程序就可以运行。

Java语言的虚拟机沿用了这种P-code模型。

1.3指令集虚拟化虚拟化最新的发展称为指令集虚拟化,或者二进制转换。

在这种模型中,虚拟指令集被转换成底层硬件的物理指令集,这个过程通常都是动态的。

当代码执行时,就会对代码的某个段进行转换。

如果出现分支情况,就会导入新代码集并进行转换。

这使它与缓存操作非常类似,后者是将指令块从内存移动到本地快速缓存中执行。

2.虚拟化技术的类型2.1硬件仿真最复杂的虚拟化实现技术。

可以在宿主系统上创建一个硬件VM来仿真所想要的硬件。

每条指令都必须在底层硬件上进行仿真,因此速度会减慢100倍甚至1000倍。

但优点是可以在一个ARM处理器主机上运行为PowerPC设计的操作系统,而不需要任何修改。

主要应用在硬件开发。

2.2完全虚拟化也称为原始虚拟化,是另外一种虚拟化方法。

这种模型使用一个虚拟机,它在客户操作系统和原始硬件之间进行协调。

“协调”在这里是一个关键,因为VMM在客户操作系统和裸硬件之间提供协调。

特定受保护的指令必须被捕获下来并在hypervisor中进行处理,因为这些底层硬件并不由操作系统所拥有,而是由操作系统通过hypervisor共享。

完全虚拟化的最大优点是操作系统无需任何修改就可以直接运行。

惟一的限制是操作系统必须要支持底层硬件。

有些比较老的硬件,例如x86,会给完全虚拟化带来一些问题。

例如,需要VMM处理的一些特定敏感指令并没有捕获。

因此,hypervisor必须要动态扫描并捕获这些特权模式代码来解决这一问题。

2.3超虚拟化超虚拟化(paravirtualization)也称为半虚拟化。

是另外一种流行的虚拟化技术,它与完全虚拟化有一些类似。

这种方法使用了一个hypervisor来实现对底层硬件的共享访问,还将与虚拟化有关的代码集成到了操作系统本身中。

这种方法不再需要重新编译或捕获特权指令,因为操作系统本身在虚拟化进程中会相互紧密协作。

超虚拟化技术需要为hypervisor修改客户操作系统,这是它的一个缺点。

但是超虚拟化提供了与未经虚拟化的系统相接近的性能。

2.4操作系统级的虚拟化它使用的技术与前面所介绍的有所不同。

这种技术在操作系统本身之上实现服务器的虚拟化。

这种方法支持单个操作系统,并可以将独立的服务器相互简单地隔离开来。

操作系统级的虚拟化要求对操作系统的内核进行一些修改,但是其优点是可以获得原始性能。

2.5内核虚拟机(Linux KVM)KVM是一种完全虚拟化解决方案,它有一个方面非常独特:它将Linux内核转换为一个使用内核模块的hypervisor。

这个模块允许使用其他客户操作系统,然后在宿主Linux 内核的用户空间中运行。

内核中的KVM通过/dev/kvm字符设备来公开虚拟化后的硬件。

客户操作系统使用为PC硬件仿真修改过的QEMU进程与KVM模块接口。

KVM模块向内核中引入了一个新的执行模块。

普通内核支持内核模式和用户模式,而KVM则引入了一种客户模式。

客户模式用来执行所有非I/O客户代码,而普通用户模式支持客户I/O。

3.与Linux相关的虚拟化项目项目名称类型Bochs硬件仿真QEMU硬件仿真VMware完全虚拟化z/VM完全虚拟化Kvm完全虚拟化(内核虚拟化)Xen超虚拟化UML超虚拟化Linux-Vserver操作系统级虚拟化OpenVZ操作系统级虚拟化4.XenXen采用超虚拟化技术和完全虚拟化技术。

一个Xen虚拟化环境由以下部件构成:1)Xen Hypervisor2)Domain0(包括Domain管理和控制工具)3)Domain U(Domain U PV客户系统和Domain U HVM客户系统)4.1Xen的体系架构Xen的VMM(Xen Hyperviso)位于操作系统和硬件之间,负责为上层运行的操作系统内核提供虚拟化的硬件资源,负责管理和分配这些资源,并确保上层虚拟机(称为域)之间的相互隔离。

Xen采用混合模式,因而设定了一个特权域用以辅助Xen管理其他的域,并提供虚拟的资源服务,该特权域称为Domain0,而其余的域则称为Domain U。

Xen的体系架构如图所示。

Xen向Domain提供了一个抽象层,其中包含了管理和虚拟硬件的API。

Dom0内部包含了真实的设备驱动(原生设备驱动),可直接访问物理硬件,负责与Xen提供的管理API交互,并通过用户模式下的管理工具来管理Xen的虚拟机环境。

xen2.0之后,引入了分离设备驱动模式。

该模式在每个用户域中建立前端(front end)设备,在特权域(Dom0)中建立后端(back end)设备。

所有的用户域操作系统像使用普通设备一样向前端设备发送请求,而前端设备通过IO请求描述符(IO descripror ring)和设备通道(device channel)将这些请求以及用户域的身份信息发送到处于特权域中的后端设备。

这种体系将控制信息传递和数据传递分开处理。

在xen体系结构设计中,后端设别运行的特权域被赋予一个特有的名字---隔离设备域(Isolation Device Domain,IDD),而在实际设计中,IDD就处在Dom0中。

所有的真实硬件访问都由特权域的后端设备调用本地设备驱动(native device drive)发起。

前端设备的设计十分简单,只需要完成数据的转发操作,由于它们不是真实的设备驱动程序,所以也不用进行请求调度操作。

而运行在IDD中的后端设备,可以利用linux的现有设备驱动来完成硬件访问,需要增加的只是IO请求的桥接功能---能完成任务的分发和回送。

xen的实际体系架构如下:为了提升IO操作的性能,xen采用零拷贝的策略处理数据传递。

当数据从用户域送出时,用户域允许IDD域中的设备驱动程序将包含数据的页面映射到IDD得地址空间并用于DMA 传输,从而避免了从用户域到IDD,从IDD再到设备的多次拷贝。

当IDD域将数据送往用户域时,xen通过页面交换重映射操作,将IDD域中的数据页面和用户域提供的一个空白页进行也表交换。

交换之后,空白页面进入到设备域中,而数据页面进入到用户域中,该技术也称为page-flipping方法。

4.2Xen Hypervisor,操作系统,应用程序IA-32X86-644.3Xen的半虚拟化和全虚拟化半虚拟化:子操作系统使用一个专门的API与VMM通信,VMM则负责处理虚拟化请求,并将这些请求递交到硬件上,由于有了这个特殊的API,VMM不需要去做好为资源的指令翻译工作。

而且使用准虚拟化API时,虚拟操作系统能够发出更有效的指令。

优点:使用准虚拟化API时,虚拟操作系统能够发出更有效的指令,效率更高。

缺点:需要修改包含这个特殊API的操作系统,而且这个缺点对于某些操作系统(主要是Windows)来说是致命的,因为它们不提供这种API。

完全虚拟化:虚拟机与虚拟机监控器(VMM)的部件进行通信,而VMM则与硬件平台进行通信,要在Xen中利用完全虚拟化方法,需要一个特殊的CPU,此CPU能解释虚拟操作系统发出的未修改的指令,如果没有这样的特殊CPU功能,是不可能在Xen中使用完全虚拟化的。

优点:完全虚拟化的优势在于,它安装了一个未修改的操作系统,这意味着运行于同样架构的所有操作系统都可以被虚拟化。

缺点:因为在Xen方法中不是每条虚拟操作系统发出的指令都可以被翻译为每个CPU都能识别的格式,因为这非常耗资源。

运行在xen上的半虚拟化虚拟机被称为“Domain U PV Guests”,全虚拟化虚拟机被称为“Domain U HVM Guests”。

Domain0中包含两个驱动:Domain U PV Guests中包含两个驱动:Domain U HVM Guests中没有PV Drivers,而是在Domain0中为每一个HVM Guests 启动一个特殊的守护进程Qemu-dm,由Qemu-dm负责HVM Guest的网络和磁盘操作请求。

4.4Xen的网络架构4.4.1Xen支持三种网络工作模式1)Bridge安装虚拟机时默认使用Bridge模式2)Route3)NATBridge模式下,Xend启动时的流程:1)创建虚拟网桥xenbr02)停止物理网卡eth03)物理网卡eth0的MAC地址和IP地址被复制到虚拟网卡veth04)物理网卡eth0重命令为peth05)Veth0重命名为eth06)Peth0的MAC地址更改(FE:FF:FF:FF:FF:FF),ARP功能关闭7)连接peth0、vif0.0到网桥xenbr08)启动peth0、vif0.0、xenbr0Domain U启动时的流程:1)vif<domainID>.0连接到xenbr02)启动vif<domainID>.0Route模式下,xend启动时的流程1)开启Domain0的IP forwardDomain U启动时的流程:1)创建vif<domainID>.0,dom U eth0的IP地址被拷贝到vif<domainID>.0 2)启动vif<domainID>.03)为domU的配置文件中指向虚拟接口vif.0分配的IP地址增加静态路由NAT模式(不清楚)NAT模式会使用虚拟局域网virbr04.4.2Xen Domain U Guests发送数据包处理流程4.4.3xen中虚拟网卡与物理网卡之间的关系安装了xen的Linux机器,在Dom0中能看到以下几类网卡(网络接口设备):(X,Y都为数字)pethYethYxenbrYvirbrYvifX.Y(X为DomaiID,Y表示该虚拟网卡是该Domain的第几块虚拟网卡)vethY(一般在xend启动完成以后就不存在了)这些网络接口设备之间的关系如下:5.Xen的配置和管理5.1Xen相关配置文件Xen以及支持Xen的linux内核:/boot/内核模块:/lib/modules/Xen配置文件:/etc/xen/Xen守护进程:/etc/init.d/xend(bash脚本)Domain启动脚本:/etc/init.d/xendomains负责第一个虚拟机Domain0以及其他Domain U 启动,非守护进程Xen相关可执行命令:/usr/sbin/xm、brct1、virt-clone命令5.2/etc/xen/下的配置文件vm000vm001vm002vm003vm004都是虚拟机Domain U的配置文件,文件名与创建虚拟机时虚拟机的名字对应。

相关文档
最新文档