虚拟化技术介绍 V12.doc_第1页
虚拟化技术介绍 V12.doc_第2页
虚拟化技术介绍 V12.doc_第3页
虚拟化技术介绍 V12.doc_第4页
虚拟化技术介绍 V12.doc_第5页
免费预览已结束,剩余26页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

虚拟化技术介绍 2020年2月1日虚拟化技术介绍文档说明本文档只能做为一个参考。文档修改历史日期修改记录版本作者2010-5-20V1.12010-5-21V1.2目录1x86服务器虚拟化技术51.1服务器虚拟化技术的历史61.2x86服务器虚拟化技术分类71.2.1硬件仿真(Emulation)71.2.2全虚拟化(Full Virtulization)81.2.3半虚拟化(Parairtulization)81.2.4硬件辅助虚拟化(Hardware Assisted Virtualization)91.2.5操作系统级虚拟化(Operating System Level Virtualization)101.3漫谈虚拟化技术101.3.1虚拟化的三大特征101.3.2为什么X86架构很难被虚拟化?111.3.3CPU虚拟化111.3.4内存虚拟化121.3.5I/O虚拟化121.3.6总结131.3.7未来131.4x86 服务器所需虚拟化技术和服务器初选概览131.5x86 服务器虚拟化技术:XEN、KVM、VMWare的比较141.5.1VMWare 简介151.5.2XEN 简介191.5.3KVM 简介261.5.4KVM、VMWare、XEN技术对比271.5.5VMWare、XEN功能和性能比较271.6x86服务器虚拟化技术选择和服务器选择总结292总结301 x86服务器虚拟化技术虚拟化(Virtulization)是表示计算机资源的抽象方法。通过虚拟化可以对包括基础设施,系统和软件等计算机资源的表示,访问和管理进行简化,并为这些资源提供标准的接口来接受输入和提供输出。这一章节的内容主要阐述服务器的虚拟化,特别是x86架构服务器的虚拟化技术及其选型。服务器虚拟化通过使用虚拟化管理器(Virtual Machine Monitor,简称VMM)是在一台物理机上虚拟和运行一台或多台虚拟机(Virtual Machine,简称VM)。VMM主要有两种形式:u Hypervisor VM,它直接运行在硬件(Bare Metal/native)上面,提供接近于物理机的性能,并在I/O上面做了特别多的优化,主要用于服务器类的应用,也被称为“Type 1”。 u Hosted(托管)VM,它运行在物理机的操作系统上,虽然其本身性能不如Hypervisor(因为它和硬件之间隔了一层OS),但是其安装和使用非常方便,而且功能丰富,比如支持三维加速等特性,常用于桌面应用,也被称为“Type 2”。服务器虚拟化可以主要带来以下的好处:u 桌面应用,通过诸如VirtualBox和VMware Workstation等桌面虚拟化软件能让用户使用其他平台的专属软件,比如使用Linux的用户能够通过VirtualBox上虚拟的Windows环境来访问使用ActiveX技术的网上银行。 u 服务器整合,通过 VMware ESX 和 Xen 能够将多台物理机上的工作量整合到一台物理机上。现有普遍的整合率在1:8左右,也就是使用这些软件能将原本需要八台物理机的工作量整合到一台物理机上。服务器整合不仅能减低硬件,能源和场地等开支,还能极大地简化IT架构的复杂度。 u 自动化管理,通过使用类似DRS(Distributed Resource Scheduling,分布式资源调度),Live Migration(动态迁移),DPM(Distributed Power Management,分布式电源管理)和HA(High Availability,高可用性) 等高级虚拟化管理技术,能极大地提高整个数据中心的自动化管理程度。 u 加快应用部署,通过引入虚拟化应用发布格式OVF(Open Virtualization Format),不仅能使第三方应用供应商更方便地发布应用,而且使系统管理员非常简单地部署这个应用(大多数情况下只要轻轻一个点击就可以完成整套部署工作)。1.1 服务器虚拟化技术的历史 20世纪60年代 和70年代 IBM S/360 主机问世并推出了第一代虚拟化技术,它是第一个完全由硬件(例如CPU)就直接支持的虚拟化技术(Hardware Virtualization Virtual Machine),通过硬件(CPU)提供的虚拟化技术就直接可以把一台物理机器虚拟化成多台逻辑机器. 1967 年 IBM S/360-40 推出了 CP/CMS fully Virtualized 虚拟化 1972 年 IBM OS/370 主机推出了 CP67 半虚拟化技术(Paravirtualized ) 20世纪80年代 - 20世纪90年代:这个年代是虚拟化技术的沉寂期;此期间是C/S架构模型和分布式计算资源的时代。 2000初期:由于x86 架构体系的硬件越来越便宜和性能越来越高,再加上应用项目传统的部署方式和实施方式,导致运行相应应用的硬件资源(例如CPU资源)的利用率很低。 在2001年,VMware 发布了 GSX 和 ESX Server 1.0 ,从此VMWare确定在x86虚拟化商用领域的霸主地位。 2003-2008 PowerVM :IBM 在Power 架构体系上的虚拟化技术,它是以Paravirtualized为核心,Hardware Virtualized 为辅助的虚拟化技术;它基本上不与x86体系架构下的虚拟化技术不形成竞争者关系,它在risc芯片体系的虚拟化技术独一无二,性能最强、功能最强,它的功能和性能远远超过x86体系架构下的任何一个虚拟机技术。 2003年,Xen 问世 Xen 源自于英国剑桥大学,从此在x86虚拟化领域方面,VMWare 遇到了一个非常强大的竞争对手也促进了VMWare的发展 2008 年Xen 被Citrix 收购用于Citrix 在云计算领域中与VMWare 竞争的利器。当然Xen 还是免费和开源的,仅仅Citrix 在Xen基础上形成的XenServer和XenApp 系统的高级版本是收费,XenServer和XenApp 系统的基本版本是免费的。并且Citrix 对Xen提供相应有偿的收费支持。 2006年10月:KVM出现 2007-2008年:微软发布Hyper-V 2007-2008年:大量的虚拟化管理工具出现 2009 VMware 发布 vSphere 4.0 Microsoft 发布: WS08 R2 Hyper-V (LiveMigration) Hyper-V paravirtualized code (半虚拟化机制代码) 向 Linux 社区发布 KVM 开始变成能够实施和可行的。1.2 x86服务器虚拟化技术分类由于采用技术的不同,可以将系统虚拟化分为五大类:1.2.1 硬件仿真(Emulation)简介:属于Hosted模式,在物理机的操作系统上创建一个模拟硬件的程序(Hardware VM)来仿真所想要的硬件,并在此程序上跑虚拟机,而且虚拟机内部的客户操作系统(Guest OS)无需修改。知名的产品有Bochs,QEMU和微软的Virtual PC(它还使用少量的全虚拟化技术)。优点:Guest OS无需修改,而且非常适合用于操作系统开发,也利于进行固件和硬件的协作开发。固件开发人员可以使用目标硬件 VM 在仿真环境中对自己的实际代码进行验证,而不需要等到硬件实际可用的时候。缺点:速度非常慢,有时速度比物理情况慢100倍以上。1.2.2 全虚拟化(Full Virtulization)简介:主要是在客户操作系统和硬件之间捕捉和处理那些对虚拟化敏感的特权指令,使客户操作系统无需修改就能运行,速度会根据不同的实现而不同,但大致能满足用户的需求。这种方式是业界现今最成熟和最常见的,而且属于 Hosted 模式和 Hypervisor 模式的都有,知名的产品有IBM CP/CMS,VirtualBox,Xen,KVM,VMware Workstation和VMware ESX(它在其4.0版,被改名为VMware vSphere)。优点:Guest OS无需修改,速度和功能都非常不错,更重要的是使用非常简单,不论是 VMware 的产品,还是VirtualBox。缺点:基于Hosted模式的全虚拟产品性能方面不是特别优异,特别是I/O方面。但是基于Hypervisor 模式的全虚拟产品性能方面表现较好。未来:因为使用这种模式,不仅Guest OS免于修改,而且将通过引入硬件辅助虚拟化技术来提高其性能,并且Intel(Intel-VT 技术)和AMD(AMD-V Pacifica 技术)在芯片中的技术改良大大提升了此种虚拟化的性能。1.2.3 半虚拟化(Parairtulization)简介:它与完全虚拟化有一些类似,它也利用Hypervisor来实现对底层硬件的共享访问,但是由于在Hypervisor 上面运行的Guest OS已经集成与半虚拟化有关的代码,使得Guest OS能够非常好地配合Hyperivosr来实现虚拟化。通过这种方法将无需重新编译或捕获特权指令,使其性能非常接近物理机,其最经典的产品就是Xen,而且因为微软的Hyper-V所采用技术和Xen类似,所以也可以把Hyper-V归属于半虚拟化。优点:这种模式和全虚拟化相比,架构更精简,而且在整体速度上有一定的优势。缺点:需要对Guest OS进行修改,由于主流的Linux(例如Redhat,Suse,Ubuntu,CentOS)都对XEN在半虚拟化的支持方面都进行了修改,所以如果XEN做为Linux 虚拟机的话将不是缺点而是优点因为性能更快.未来:由于Intel在芯片一级的硬件虚拟化的投入持续加大,这种半虚拟化技术和硬件辅助的虚拟化技术的结合在一些高性能的系统处理场合将应用更加的广泛。1.2.4 硬件辅助虚拟化(Hardware Assisted Virtualization)简介:Intel/AMD等硬件厂商通过对部分全虚拟化和半虚拟化使用到的软件技术进行硬件化(具体将在下文详述)来提高性能。硬件辅助虚拟化技术常用于优化全虚拟化和半虚拟化产品,而不是独创一派,最出名的例子莫过于VMware Workstation,它虽然属于全虚拟化,但是在它的6.0版本中引入了硬件辅助虚拟化技术,比如Intel的VT-x和AMD的AMD-V。现在市面上的主流全虚拟化和半虚拟化产品都支持硬件辅助虚拟化,包括VirtualBox,KVM,VMware ESX和Xen.优点:通过引入硬件技术,将使虚拟化技术更接近物理机的速度。缺点:现有的硬件实现不够优化,还有进一步提高的空间。技术水平和层次低于Power芯片,原因在于IA架构的x86芯片在设计的起初就没有考虑硬件芯片级别的虚拟化,而Power芯片的设计的起初就完全考虑融入硬件芯片级别的虚拟化。未来:因为通过使用硬件技术不仅能提高速度,而且能简化虚拟化技术的架构,所以硬件技术将会被大多数虚拟化产品所采用,以提高Xen、KVM、VMWare这些虚拟化技术的性能和简化架构。1.2.5 操作系统级虚拟化(Operating System Level Virtualization)简介:这种技术通过对服务器操作系统进行简单地隔离来实现虚拟化。主要的技术有AIX v6.1 的WPAR。优点:因为它是对操作系统进行直接的修改,所以实现成本低而且性能不错。缺点:对Guest OS的型号和版本有限定。例如AIX v6.1只能支持AIX OS未来:适用面较窄,在IBM P小型机 AIX os的某些应用领域适用,例如在一台IBM P小型机上安装一个AIX 6.1操作系统,然后虚拟化出来多个WPAR来安装不同版本的ORACLE 数据库。1.3 漫谈虚拟化技术1.3.1 虚拟化的三大特征在1974年Popek和Goldberg发表的虚拟化名篇Formal Requirements for Virtualizable Third Generation Architectures中定义了虚拟机(VM)可以被认为是物理机的一种高效隔离的复制,并指出虚拟机应具有的三大特征: 一致性, 一个运行于虚拟机上的程序,其行为应与直接运行于物理机上的同程序的行为基本一致,只允许有细微的差异,比如在系统时间方面。 可控性,VMM(虚拟化管理器)对系统资源有完全的控制能力和管理权限,包括资源的分配,监控和回收。 高效性,绝大多数的客户机指令应该由硬件直接执行而无需VMM的参与。 但是要满足这三点,并非易事,因为系统的指令集架构(ISA)需要相应地满足四个的条件: CPU能支持多个特权级,并且VM上面运行的指令能在底特权级(比如Ring 3)下正确执行。 非特权指令(允许用户直接使用的指令)的执行效果不依赖于CPU的特权级。 敏感指令(对系统资源配置有影响的指令)都是特权指令(不允许用户直接使用的指令)。 必须支持一种内存保护机制来保证多个虚拟机之间在内存方面的隔离,例如段保护或页保护。1.3.2 为什么X86架构很难被虚拟化?虽然X86架构在PC市场占据绝对的垄断地位,但是由于其在初始设计时,并没有考虑到虚拟化需求,所以它对虚拟化的支持不够,特别是它没有满足上面四个条件里面的第三个,其因为是X86的ISA有17条敏感指令(比如LGDT等)不属于特权指令。也就是说,当虚拟机执行到这些敏感指令的时候,很有可能出现错误,将会影响到整个机器的稳定。更困难的是,上面所提出的问题只是X86虚拟化所需要面对的问题的一小部分而已,还有许许多多的问题还未涉及。这也是VMWARE在x86商用市场虚拟化技术霸主地位的原因所在下面将分CPU虚拟化,内存虚拟化和I/O虚拟化这三部分来介绍全虚拟化,半虚拟化和硬件辅助虚拟化所采用的相关技术。1.3.3 CPU虚拟化CPU虚拟化的目标是使虚拟机上的指令能被正常地执行,而且效率接近物理机。全虚拟化:主要采用优先级压缩(Ring Compression)和二进制代码翻译技术(Binary Translation)这两个技术。优先级压缩能让VMM和Guest运行在不同的特权级下,对X86架构而言,就是VMM运行在特权级最高Ring 0下,Guest的内核代码运行在Ring 1下,Guest的应用代码运行在Ring 3下。通过这种方式能让VMM截获一部分在Guest上执行的特权指令,并对其进行虚拟化。但是有一些对虚拟化不友好的指令则需要二进制代码翻译来处理,它通过扫描并修改Guest的二进制代码来将那些难以虚拟化的指令转化为支持虚拟化的指令。这是VMWare最大的特点半虚拟化:其通过修改Guest OS的代码,使其将那些和特权指令相关的操作都转换会发给VMM的Hypercall(超级调用),而且Hypercall支持Batch(批处理)和异步这两种优化方式,使得通过Hypercall能得到近似于物理机的速度.这是Xen最大的特点硬件辅助虚拟化:主要有Intel的VT-x和AMD的AMD-V这两种技术,而且这两种技术在核心思想上非常相似,都是通过引入新的指令和运行模式,来让VMM和Guest OS能分别运行在其合适的模式下。在实现方面,VT-X支持两种处理器工作方式:第一种称为Root模式(Operation),VMM运行于此模式,用于处理特殊指令,另一种称为Non-Root模式(Operation),Guest OS运行于此模式,当在Non-Root 模式Guest执行到特殊指令的时候,系统会切换到运行于Root模式VMM,让VMM来处理这个特殊指令。VMWare和Xen都在利用此特点。1.3.4 内存虚拟化内存虚拟化的目标是能做好虚拟机内存空间之间的隔离,使每个虚拟机都认为自己拥有了整个内存地址,并且效率也能接近物理机。全虚拟化:影子页表 (Shadow Page Table),就是为每个Guest都维护一个“影子页表”,在这个表中写入虚拟化之后的内存地址映射关系,而Guest OS的页表则无需变动,最后,VMM将影子页表交给MMU进行地址转换。半虚拟化:页表写入法,当Guest OS创建一个新的页表时,其会向VMM注册该页表,之后在Guest运行的时候,VMM将不断地管理和维护这个表,使Guest上面的程序能直接访问到合适的地址。硬件辅助虚拟化:EPT(Extended Page Table,扩展页表),EPT通过使用硬件技术,使其能在原有的页表的基础上,增加了一个EPT页表,通过这个页表能够将Guest的物理地址直接翻译为主机的物理地址,从而减低整个内存虚拟化所需的Cost。1.3.5 I/O虚拟化I/O虚拟化的目标是不仅让虚拟机访问到它们所需要的I/O资源,而且要做好它们之间的隔离工作,更重要的是,减轻由于虚拟化所带来的开销。全虚拟化:通过模拟I/O设备(磁盘和网卡等)来实现虚拟化。对Guest OS而言,它所能看到就是一组统一的I/O设备,同时Guest OS每次I/O操作都会陷入到VMM,让VMM来执行。这种方式,对Guest而言,非常透明,无需顾忌底层硬件,比如Guest操作的是SCSI的设备,但实际物理机只有SATA的硬盘。半虚拟化:通过前端(Front-End)/后端(Back-End)架构,将Guest的I/O请求通过一个环状队列传递到特权域(Privileged Domain,也被称为Domain-0)。因为这种方式的相关细节较多,所以会在后文进行深入分析。硬件辅助虚拟化:最具代表性莫过于Intel的VT-d,AMD的IOMMU和PCI-SIG的IOV(I/O Virtulization)这三个技术。在这里介绍一下VT-d,其核心思想就是让虚拟机能直接使用物理设备,但是这会牵涉到I/O地址访问和DMA的问题,而VT-d通过采用DMA重映射(Remapping)和I/O页表来解决这两个问题,从而让虚拟机能直接访问物理设备。还有,IOMMU和VT-d在技术上有很多相似之处。1.3.6 总结1.3.7 未来随着硬件辅助虚拟化技术不断地发展和优化,将使其在速度和架构方面的优势更明显,但是由于全虚拟化和半虚拟化的一些技术在某些方面还是保持了一定的优势,比如半虚拟化的前端和后端架构和全虚拟化的二进制代码翻译技术。所以,认为今后X86虚拟化技术的发展将会以硬件辅助虚拟化技术为主,同时以全虚拟化和半虚拟化技术为辅.走上和IBM 相同的道路(IBM 基于Power芯片的服务器就是以硬件辅助虚拟化技术为主,同时以全虚拟化和半虚拟化技术为辅)。1.4 x86 服务器所需虚拟化技术和服务器初选概览上面这张x86 服务器虚拟化概览图从4个层次阐述了x86架构服务器虚拟化的概览,简要的概括如下: 物理层:选用相应的产商提供的x86 服务器 CPU 辅助虚拟化层:为了让虚拟机运行的性能更好,我们选用的x86服务器中使用的芯片必须支持Intel-VT或者AMD-V硬件虚拟化技术。 Hypervisor 层:这一层划分层三个小层次:1.Para-Virtual层:此层的虚拟化技术的性能最好;2.Level 1 Hypervisor(no Host OS) 层(也可认为是Full-Virtual层):此层的虚拟化技术的性能也非常好;3.Level 2 Hypervisor(Host OS) 层(也可认为是Full-Virtual层):此层的虚拟化技术的性能较差。 Application Container 层:这层是操作系统提供的虚拟化技术。 VMMgmt 层:虚拟机的管理软件对于我们要建设的云计算平台来说,性能、可靠性、易用性是非常重要的一部分,所以对于相应的服务器和虚拟化技术选型来说,我们明显可以从上面的阐述可以得到我们需要选择的服务器和虚拟化技术如下所示:n 服务器:购买的x86服务器所使用的Intel/AMD芯片,必须支持Intel-VT或者AMD-V 硬件虚拟化技术。并且每台x86服务器所包含的CPU数量和内存数量越多越好当然需要建立在价格的基础上(最好是32 Core,128G内存).下面表格列出了服务器(Intel芯片)所需要支持的硬件虚拟化技术的列表:n 虚拟化技术:我们将只会选择XEN、KVM、VMWare不会选择其它虚拟化技术,并且需要通过相面的阐述来决定主要选择哪个虚拟化技术,备选哪个虚拟化技术.1.5 x86 服务器虚拟化技术:XEN、KVM、VMWare的比较虽然VMWARE虚拟化技术在商用领域非常强势,但是随着技术的不断发展(例如INTEL/AMD芯片在硬件上的虚拟化技术的支持和XEN、KVM这些开源虚拟化技术在功能上的进步);VMware的技术优势不再向21世纪初期那么明显。并且加上我们安徽大学具有很强的IT技术实力仅仅需要的是云计算平台的实施商在实施过程中给我们提供强大的技术支持和知识的传递即可,以及我们在虚拟机技术上的投资不可能很大;所以我们通过相应的技术对比论证我们决定大部分采用XEN虚拟机技术,在某些场景采用KVM虚拟机技术/VMWare虚拟机技术。下面相应章节的内容就是相应的技术论证阐述.1.5.1 VMWare 简介VMware vSphere v4是VMWARE VMware Infrastructure 新的产品名称,主要可被为两部分:其一是VMM(虚拟化管理器)部分,VMware ESX 4,其二是用于整合和管理VMM的VMware vCenter。下面是vSphere的架构图: VMware ESX 4 介绍VMware ESX 4是属于Hyperviosr形式的VMM,是直接安装硬件(Bare Metal)上面,也称为“Type 1”。VMware ESX 4和之前VMware ESX 3.5/3相比,在功能和特性上有很多更新和扩展,其中最大的区别过于VMware ESX 4只支持64bit运行模式,所以其只能安装在支持64位计算的X86物理机上。除了ESX,VMware还推出了精简版的ESXi,ESXi与ESX的最大区别在于其去除Service Console。VMware ESX 4 主要有三方面功能:1. Infrastructure Service:就是VMM的功能,也是整个产品的基础。通过一个在物理机之上的虚拟层能抽象处理器,内存和I/O等资源来运行多个虚拟机。虚拟机能支持高达8个的vCPU和256GB内存,这样的资源配置能满足高性能应用程序的性能需求。还支持热添加功能,来向虚拟机热添加虚拟CPU、内存和网络设备,使应用程序能无缝扩展。 2. 增强型的Infrastructure Service:除了基本的Infrastructure Service之外,ESX 4还提供一些增强型的功能,以更好为虚拟化服务,比如,VMDirectPath能增强网络和存储I/O性能,vStorage的 Thin Provisioning和Linked Clone这两个技术可减少存储空间达50%左右。 3. Application Service:主要作用是提供一个VMware vCenter Agent,来将本机的管理和性能信息上传给VMware vCenter,同时还能根据VMware vCenter 发来的指示来协助执行诸如vMotion和HA这类高级功能。VMware ESX 4 是 VMware vSphere v4核心,是最重要的部分。下图是VMware ESX的架构:VMWare VMotion 技术(这个功能价格很贵):不需要对生产系统进行停机就可以把生产系统VM从一台物理机切换到另外一台,如下图所示:DRS(分布式资源调度)和HA(High Availability): DRS(Distributed Resource Scheduler,分布式资源调度)技术,这个技术能在多个vSphere主机进行资源的优化,让每个虚拟机能找到其最合适的位置,比如,将一台虚拟机从一台资源紧张的主机迁移到另一台有剩余资源的主机。High Availability(高可用性),这个技术通过heartbeat连检测虚拟机的运行状况,如果一台虚拟机不响应heartbeat或者是宕机了,程序将让这台虚拟机在另一台有空余空间的主机上重启。(这两个功能价格很贵)。相应的架构如下图所示: VMware vCenterVMware vCenter是用于VMware vSphere环境的管理程序,它作为管理节点来控制和整合属于其域的vSphere主机,其既可以安装物理机的操作系统上,也可以安装在虚拟机的操作系统(官方推荐)。在实现上面,它是基于Java技术的,后台连接自带的微软SQL Server Express,也可以使用Oracle的数据库,并可以使用其“链接模式”来集群多个vCenter来支持大量用户的访问。在通信方面,它通过vSphere主机内部自带vCenter Server Agent来与ESX进行联系,并提供API供外部程序和vCenter客户端调用。在扩展性方面,它支持很多第三方的插件。下图是VMware vCenter的架构图:基本功能主要包括六项基本功能:1. 资源和虚拟机的清单管理:通过这个功能能够列出和管理这个vCenter的管理域内所有的资源(比如存储,网络,CPU和Memory等)和虚拟机。 2. 任务调度:能够更好地支持那些定时或者立即执行的任务(比如vMotion),使各个任务之间不出现抢占资源或者冲突的情况。 3. 日志管理:通过记录任务和事件等日志,来更方便和更安全地管理。 4. 警告和事件管理:通过这个功能,能让用户及时获知系统出现新情况。 5. 虚拟机部署:通过Wizard,上传vApp和虚拟磁盘等方式部署虚拟机。 6. 主机和虚拟机的设置:通过这个功能,不仅能够让用户对一些主机和虚拟机的主要配置进行修改,而且还能对那些非常底层的特性进行设置,比如,是不是开启硬件辅助虚拟化。 高级功能主要有七个方面:1. 在动态迁移方面:VMware 提供了vMotion技术,这个技术能够在无需关机的情况下快速地将一台虚拟机从一台主机上迁移到另一台主机,但是虚拟机的虚拟磁盘不会被移动,还在存放在同一个存储上,但是访问和使用这个虚拟磁盘的主机已经做了相应地改变。为了也让虚拟磁盘做相应地迁移,VMware在VMware Infrastructure 3.5版中推出Storage vMotion,通过这个技术能够在移动虚拟机同时,移动虚拟磁盘从一个存储移到另一个存储。 2. 在资源优化方面:VMware提供了DRS(Distributed Resource Scheduler,分布式资源调度)技术,这个功能能在多个vSphere主机进行资源的优化,让每个虚拟机能找到其最合适的位置,比如,将一台虚拟机从一台资源紧张的主机迁移到另一台有剩余资源的主机。同时VMware也在VMware Infrastructure 3.5版中推出了DPM(Distributed Power Management),这个技术在DRS的基础上通过整合虚拟机来减少和关闭多余的主机,以达到节省资源的目的。 3. 在安全方面:VMware推出了两大技术来推进虚拟机的安全,其一是推出VMsafe API,通过这个API能够像X射线那样检测虚拟机的运行状况,并能及时发现和拦截之前无法检测到的病毒、rootkit和恶意软件等,以防止其感染系统。还有,Checkpoint、IBM、McAfee、Symantec和TrendMicro等安全巨头已经推出了基于VMSafe API的产品,通过这些产品能为虚拟机提供较物理机或其他虚拟化解决方案更优的保护。其二是VMware Shield Zones,它主要起到防火墙的作用,可监视、记录和阻止vSphere主机内部或集群中主机之间和虚拟机之间流量,从而保证了网络的安全。 4. 在容错方面:VMware Fault Tolerance是虚拟机“度身定做”的容灾技术,通过VMware的vLockstep技术来给运行中虚拟机创建一台Shadow虚拟机,并在这两台虚拟机之间保持同步,来保证所有应用程序的零宕机和零数据丢失,避免硬件故障,免去了硬件或软件等容灾解决方案的成本和复杂性。 5. 在高可用性方面,VMware High Availability提供了相关支持,这个技术通过heartbeat连检测虚拟机的运行状况,如果一台虚拟机不响应heartbeat或者是宕机了,程序将让这台虚拟机在另一台有空余空间的主机上重启。 6. 在备份方面,VMware推出了VMCB(VMware Consolidated Backup)技术,通过这种技术能够在没有安装Agent的情况下集中多个虚拟机的备份,这不仅能简化备份的工作,而且能减少由于备份而导致性能损失。 7. 在应用部署方面,vApp是VMware最新推出技术,它可以将新的或现有的应用程序转化为自描述和自管理型实体,并容纳了一个完整的多层应用的所有组件,以及与之相关的运行策略和服务级别。这项功能是基于开放式的OVF(Open Virtualization Format)协议。通过生成和部署vApp包能够非常方便地部署应用,并降低了相关的管理开支。 1.5.2 XEN 简介xen是目前流行的一种虚拟机解决方案,它最初由剑桥大学的研究人员研制开发。 Xen采用由IBM VM/370发起的“whole machine”虚拟化技术,但是做了一定的修改并采用完全虚拟(full virtualization)和半虚拟化(para-virtualization)技术,虚拟机管理器为上层虚拟机给出与底层硬件设备略微不同的抽象层。具体来说xen提供了hypercall机制,所有运行在xen虚拟机管理器上的虚拟机必须使用这些hypercall来完成相关的特权操作(比如,也表的建立),xen虚拟机管理器向上层虚拟机提供一步的通知机制和基于共享内存IO传输通道。xen虚拟机管理器向上层虚拟机提供异步的通知机制和基于共享内存IO传输通道,xen要求操作系统必须按照这些规则修改代码并一直到XEN的体系结构上。虽然需要操作系统级别的修改,但是xen对操作系统的上层调用并没有修改,可以保持对应用程序的透明,并且主流的Linux(例如Redhat,suse,Ubuntu,CentOS)都对XEN在半虚拟化的支持方面都进行了修改和Intel 和AMD芯片的硬件虚拟化技术对XEN的支撑,使XEN的性能比其它的虚拟化技术会更好。它是一个开源的技术,是完全免费相。Xen的相应的架构如下面几张图阐述所示:Xen hypervisor 和 Domain 0 (它也是一个操作系统)管理着各个虚拟机之间的物理服务器资源 红箭头所指的硬件层包含了此物理服务器所具有的内存、CPU、存储资源等。红箭头所指的Xen hypervisor 层是直接运行在硬件上的一层软件,并且运用了Intel VT/AMD-V这种硬件虚拟化技术红箭头所指的Domain 0 是一个Linux VM,管理这所有运行在Xen hypervisor 层上的VM的网络和存储I/O请求。红箭头所指的部分是 Linux VMs 包括了半虚拟化的内核和驱动( paravirtualized kernels and drivers)红箭头所指的Windows VM 使用半虚拟化的驱动通过Domain 0去存取相应的存储和网络资源。Xen是属于Hyperviosr形式的VMM,是直接安装硬件(Bare Metal)上面,然后虚拟化出Linux/Windows操作系统,当然也支持Solaris、FreeBSD,相应的架构图如下所示:所支持的Linux和WINDOWS(32- and 64-bit)操作系统列表如下图所示(当然也支持Solaris、FreeBSD):Xen live migration 技术:等同于VMWare VMotion 技术,不需要对生产系统进行停机就可以把生产系统VM从一台物理机切换到另外一台。相应的演示如下图所示: 正常时: 最左边的服务器损坏,将发生迁移,将运行时的VM迁移到其它正常的服务器上,然后我们就可以对损坏的服务器进行修复.Xen High Availability 技术:等同于VMWare HA技术,机制也与VMWare HA技术相同。相应的演示如下图所示: 正常时: 当左边的服务器发生故障时,此服务器的VM系统将被其它服务器上Standby 的VM接管Xen 社区有Citrix 领导,并且IBM、Intel、AMD、Redhat、Novel在此投入了大量的资源支持Xen,相应的参与厂商如下图所示,而VMWare是闭源的。1.5.3 KVM 简介KVM是指基于Linux内核(Kernel-based)的虚拟机(Virtual Machine)。2006年10月,由以色列的一个称为“Qumranet”的开源组织(目前还不具备公司的形态)提出了一种新的“虚拟机”实现方案,他们称为“Kernel-based Virtual Machine”(即KVM),也称为“内核虚拟机。直接嵌入Linux内核,借助Linux内核现成的调度与内存管理机制,小巧玲珑,使用方便;它被直接吸收进即将Linux内核。它的思想最大特点就是“Linux 内核就是虚拟机”。在KVM模型中, 每一个虚拟机都是一个由Linux调度程序管理的标准进程. 一个普通的Linux进程有两种运行模式: 内核和用户. KVM增加了第三种模式: 客户模式(有自己的内核和用户模式.)。相应的架构图如下所示:更简单的架构图如下所示:由于它和Xen都是开源技术,并且它们的核心开发人员很多都是同一批人,所以它所具有的功能和Xen基本一致。但是由于KVM跟Xen比较还是一个很新的项目,在性能和稳定性方面跟Xen差距还是较大。然后由于KVM在Linux社区支持粒度很大并且它的Linux内核就是虚拟机的思想会再将来成为一个主流。Xen和KVM的性能、可靠性、伸缩性的比较文档可以参考:/xenwiki/Open_Topics_For_Discussion?action=AttachFile&do=get&target=Quantitative+Comparison+of+Xen+and+KVM.pdf 此链接所示的文档。所以在这期云计算平台中我们将不会使用KVM虚拟机技术,但是在将来会使用KVM虚拟机技术./page/Status:这个链接现实了KVM正在做的事情1.5.4 KVM、VMWare、XEN技术对比请参考/Tech

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论