Xen虚拟化计算图解Word下载.docx

上传人:b****4 文档编号:8161685 上传时间:2023-05-10 格式:DOCX 页数:12 大小:1.20MB
下载 相关 举报
Xen虚拟化计算图解Word下载.docx_第1页
第1页 / 共12页
Xen虚拟化计算图解Word下载.docx_第2页
第2页 / 共12页
Xen虚拟化计算图解Word下载.docx_第3页
第3页 / 共12页
Xen虚拟化计算图解Word下载.docx_第4页
第4页 / 共12页
Xen虚拟化计算图解Word下载.docx_第5页
第5页 / 共12页
Xen虚拟化计算图解Word下载.docx_第6页
第6页 / 共12页
Xen虚拟化计算图解Word下载.docx_第7页
第7页 / 共12页
Xen虚拟化计算图解Word下载.docx_第8页
第8页 / 共12页
Xen虚拟化计算图解Word下载.docx_第9页
第9页 / 共12页
Xen虚拟化计算图解Word下载.docx_第10页
第10页 / 共12页
Xen虚拟化计算图解Word下载.docx_第11页
第11页 / 共12页
Xen虚拟化计算图解Word下载.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Xen虚拟化计算图解Word下载.docx

《Xen虚拟化计算图解Word下载.docx》由会员分享,可在线阅读,更多相关《Xen虚拟化计算图解Word下载.docx(12页珍藏版)》请在冰点文库上搜索。

Xen虚拟化计算图解Word下载.docx

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内核虚拟机(LinuxKVM)

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.Xen

Xen采用超虚拟化技术和完全虚拟化技术。

一个Xen虚拟化环境由以下部件构成:

1)XenHypervisor

2)Domain0(包括Domain管理和控制工具)

3)DomainU(DomainUPV客户系统和DomainUHVM客户系统)

4.1Xen的体系架构

Xen的VMM(XenHyperviso)位于操作系统和硬件之间,负责为上层运行的操作系统内核提供虚拟化的硬件资源,负责管理和分配这些资源,并确保上层虚拟机(称为域)之间的相互隔离。

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

Xen的体系架构如图所示。

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

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

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

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

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

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

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

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

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

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

xen的实际体系架构如下:

为了提升IO操作的性能,xen采用零拷贝的策略处理数据传递。

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

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

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

4.2XenHypervisor,操作系统,应用程序

4.3Xen的半虚拟化和全虚拟化

半虚拟化:

子操作系统使用一个专门的API与VMM通信,VMM则负责处理虚拟化请求,

并将这些请求递交到硬件上,由于有了这个特殊的API,VMM不需要去做好为资源的指令翻译工作。

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

优点:

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

缺点:

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

完全虚拟化:

虚拟机与虚拟机监控器(VMM)的部件进行通信,而VMM则与硬件平

台进行通信,要在Xen中利用完全虚拟化方法,需要一个特殊的CPU,此CPU能解释虚拟操作系统发出的未修改的指令,如果没有这样的特殊CPU功能,是不可能在Xen中使用完全虚拟化的。

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

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

运行在xen上的半虚拟化虚拟机被称为“DomainUPVGuests”,全虚拟化虚拟机被称为“DomainUHVMGuests”。

Domain0中包含两个驱动:

4.4Xen的网络架构

4.4.1Xen支持三种网络工作模式

1)Bridge安装虚拟机时默认使用Bridge模式

2)Route3)NAT

Bridge模式下,Xend启动时的流程:

1)创建虚拟网桥xenbr02)停止物理网卡eth0

3)物理网卡eth0的MAC地址和IP地址被复制到虚拟网卡veth04)物理网卡eth0重命令为peth05)Veth0重命名为eth0

6)Peth0的MAC地址更改(FE:

FF:

FF),ARP功能关闭7)连接peth0、vif0.0到网桥xenbr08)启动peth0、vif0.0、xenbr0DomainU启动时的流程:

1)vif<

domainID>

.0连接到xenbr02)启动vif<

.0

Route模式下,xend启动时的流程1)开启Domain0的IPforwardDomainU启动时的流程:

1)创建vif<

.0,domUeth0的IP地址被拷贝到vif<

.02)启动vif<

3)为domU的配置文件中指向虚拟接口vif.0分配的IP地址增加静态路由NAT模式(不清楚)

NAT模式会使用虚拟局域网virbr0

4.4.2XenDomainUGuests发送数据包处理流程

4.4.3xen中虚拟网卡与物理网卡之间的关系

安装了xen的Linux机器,在Dom0中能看到以下几类网卡(网络接口设备):

(X,Y都为数字)pethYethYxenbrYvirbrY

vifX.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以及其他DomainU

启动,非守护进程

Xen相关可执行命令:

/usr/sbin/

xm、brct1、virt-clone命令

5.2/etc/xen/下的配置文件

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2