Xen与虚拟化技术

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1目录2010-6-211.虚拟化发展历史............................................................................................................................21.1硬件虚拟化........................................................................................................................21.2处理器虚拟化....................................................................................................................21.3指令集虚拟化....................................................................................................................22.虚拟化技术的类型........................................................................................................................32.1硬件仿真............................................................................................................................32.2完全虚拟化........................................................................................................................32.3超虚拟化............................................................................................................................32.4操作系统级的虚拟化........................................................................................................42.5内核虚拟机(LinuxKVM)..............................................................................................43.与Linux相关的虚拟化项目........................................................................................................54.Xen.................................................................................................................................................64.1Xen的体系架构................................................................................................................64.2XenHypervisor,操作系统,应用程序.....................................................................84.3Xen的半虚拟化和全虚拟化............................................................................................94.4Xen的网络架构..............................................................................................................114.4.1Xen支持三种网络工作模式..............................................................................114.4.2XenDomainUGuests发送数据包处理流程.................................................124.4.3xen中虚拟网卡与物理网卡之间的关系..........................................................125.Xen的配置和管理......................................................................................................................135.1Xen相关配置文件..........................................................................................................135.2/etc/xen/下的配置文件...............................................................................................1421.1.1.1.虚拟化发展历史1.1硬件虚拟化IBM早在20世纪60年代开发System/360™Model67大型机时就开始使用该技术。Model67通过VMM(VirtualMachineMonitor)对所有的硬件接口都进行了虚拟化。在早期计算机中,操作系统被称为supervisor。能够在其他操作系统上运行的操作系统被称为hypervisor(这个术语是在20世纪70年代出现的)。VMM可以直接在底层硬件上运行,允许运行多个虚拟机(VM)。每个VM都可以运行一个自己私有操作系统的实例——称为CMS(ConversationalMonitorSystem)1.2处理器虚拟化虚拟化早期的另外一种用法是P-code(或伪码)机。P-code是一种机器语言,运行于虚拟机而不是实际硬件。它将Pascal程序编译成P-code,然后在一个P-code虚拟机上运行。这就使P-code程序具有了高度的可移植性,而且,只要有可用的P-code虚拟机,P-code程序就可以运行。Java语言的虚拟机沿用了这种P-code模型。1.3指令集虚拟化虚拟化最新的发展称为指令集虚拟化,或者二进制转换。在这种模型中,虚拟指令集被转换成底层硬件的物理指令集,这个过程通常都是动态的。当代码执行时,就会对代码的某个段进行转换。如果出现分支情况,就会导入新代码集并进行转换。这使它与缓存操作非常类似,后者是将指令块从内存移动到本地快速缓存中执行。32.2.2.2.虚拟化技术的类型2.1硬件仿真最复杂的虚拟化实现技术。可以在宿主系统上创建一个硬件VM来仿真所想要的硬件。每条指令都必须在底层硬件上进行仿真,因此速度会减慢100倍甚至1000倍。但优点是可以在一个ARM处理器主机上运行为PowerPC设计的操作系统,而不需要任何修改。主要应用在硬件开发。2.2完全虚拟化也称为原始虚拟化,是另外一种虚拟化方法。这种模型使用一个虚拟机,它在客户操作系统和原始硬件之间进行协调。“协调”在这里是一个关键,因为VMM在客户操作系统和裸硬件之间提供协调。特定受保护的指令必须被捕获下来并在hypervisor中进行处理,因为这些底层硬件并不由操作系统所拥有,而是由操作系统通过hypervisor共享。完全虚拟化的最大优点是操作系统无需任何修改就可以直接运行。惟一的限制是操作系统必须要支持底层硬件。有些比较老的硬件,例如x86,会给完全虚拟化带来一些问题。例如,需要VMM处理的一些特定敏感指令并没有捕获。因此,hypervisor必须要动态扫描并捕获这些特权模式代码来解决这一问题。2.3超虚拟化超虚拟化(paravirtualization)也称为半虚拟化。是另外一种流行的虚拟化技术,它与完全虚拟化有一些类似。这种方法使用了一个hypervisor来实现对底层硬件的共享访问,还将与虚拟化有关的代码集成到了操作系统本身中。这种方法不再需要重新编译或捕获特权指4令,因为操作系统本身在虚拟化进程中会相互紧密协作。超虚拟化技术需要为hypervisor修改客户操作系统,这是它的一个缺点。但是超虚拟化提供了与未经虚拟化的系统相接近的性能。2.4操作系统级的虚拟化它使用的技术与前面所介绍的有所不同。这种技术在操作系统本身之上实现服务器的虚拟化。这种方法支持单个操作系统,并可以将独立的服务器相互简单地隔离开来。操作系统级的虚拟化要求对操作系统的内核进行一些修改,但是其优点是可以获得原始性能。2.5内核虚拟机(LinuxKVM)KVM是一种完全虚拟化解决方案,它有一个方面非常独特:它将Linux内核转换为一个使用内核模块的hypervisor。这个模块允许使用其他客户操作系统,然后在宿主Linux内核的用户空间中运行。内核中的KVM通过/dev/kvm字符设备来公开虚拟化后的硬件。客户操作系统使用为PC硬件仿真修改过的QEMU进程与KVM模块接口。5KVM模块向内核中引入了一个新的执行模块。普通内核支持内核模式和用户模式,而KVM则引入了一种客户模式。客户模式用来执行所有非I/O客户代码,而普通用户模式支持客户I/O。3.3.3.3.与LinuxLinuxLinuxLinux相关的虚拟化项目项目名称类型Bochs硬件仿真QEMU硬件仿真VMware完全虚拟化z/VM完全虚拟化Kvm完全虚拟化(内核虚拟化)Xen超虚拟化UML超虚拟化Linux-Vserver操作系统级虚拟化OpenVZ操作系统级虚拟化64.Xen4.Xen4.Xen4.XenXen采用超虚拟化技术和完全虚拟化技术。一个Xen虚拟化环境由以下部件构成:1)XenHypervisor2)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)设

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功