您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 桌面虚拟化技术发展分析
1桌面虚拟化技术(VDI)发展分析2目录1.1桌面虚拟化现状与发展...............................................31.1.1虚拟桌面简介.......................................................31.1.2虚拟化技术...........................................................41.1.3虚拟桌面/应用的优势.......................................191.1.4常用三维虚拟桌面平台分析.............................201.1.5虚拟桌面需求分析.............................................231.1.6桌面虚拟化安全需求分析.................................2631.1桌面虚拟化现状与发展1.1.1虚拟桌面简介桌面虚拟化“DesktopVirtualization(或者成为虚拟桌面架构“VirtualDesktopInfrastructure”)是一种基于服务器的计算模型,VDI概念最早由桌面虚拟化厂商VMware提出,目前已经成为标准的技术术语。虽然借用了传统的瘦客户端的模型,但是让管理员与用户能够同时获得两种方式的优点:将所有桌面虚拟机在数据中心进行托管并统一管理;同时用户能够获得完整PC的使用体验。在后端,虚拟化桌面通常通过以下两种方式之一来实现:运行若干Windows虚拟机的Hypervisor,每个用户以一对一的方式连接到他们的VM(虚拟机)。安装Windows系统的服务器,每个用户以一对一的方式连接到服务器。(这种方法有时被称作bladedPC(刀片PC))无论何种方式,都是让终端用户使用他们想使用的任何设备。他们可以从任何地方连接到他们的桌面,IT人员可以更易于管理桌面,数据更安全,因为它位于数据中心之内。VDI方式最有趣的是,虽然这些技术是新兴的,但把桌面作为一种服务来提供的概念在十多年前就已经被提出了。与传统的基于服务器计算的解决方案最主要的区别是,基于服务器计算的解决方案在于为Windows的共享实例提供个性化的桌面,而VDI的解决方案是为每个用户提供他们自己的Windows桌面机器。能提供虚拟桌面的厂商有国外的VMware,Citrix和微软Hyper-v,的自己研制的Cloudview,集成了虚拟桌面和云计算的功能,包括对外提供云桌面、云应用和云服务等。将桌面操作系统虚拟化带来很多好处,包括:数据更安全,通过策略配置,用户无法将机密数据保存在本地设备上,只能在数据中心进行存储,备份,保证数据的安全性和可用性;提高网络安全,由于只使用需要开放有限几个端口,所以可以实现网络的逻辑隔离和严格控制,在不影响应用的前提下,全面提升网络安全性;用户可以随时随地,通过网络,访问到被授权的桌面与应用;终端设备支持更广泛,可以通过PC,瘦客户端、甚至是手机来访问传统PC上才4能使用到的各种Windows应用;在数据中心对所有的桌面进行统一的高效维护,无需特定的补丁与应用的分发软件,统一进行安装和升级,维护桌面的费用大大降低。应用管理更简单,管理员在服务器进行统一一次管理,就可以将最新更新交付给所有用户;桌面的性能能够得到提升,因为它和应用后端的服务器都运行在数据中心;桌面可以分享最新最强大的服务器硬件,配置资源可以按照用户需求动态调整。1.1.2虚拟化技术1.1.2.1处理器虚拟化处理器虚拟化是VMM(VirtualMachineMonitor)中最核心的地方。VMM运行在最高特权级,可以控制物理处理器上的所有关键资源;而虚拟机操作系统位于非最高特权级,所以其敏感指令会陷入到VMM中通过软件的方式进行模拟。从虚拟机操作系统的角度看,无论一条指令直接在物理处理器上执行,还是通过VMM软件模拟执行,其期望的结果就是返回结果务必正确,所以处理器虚拟化的关键在于正确模拟敏感指令的行为。由于原有的X86指令集不适合经典虚拟化方法,然而X86的市场又非常强大,针对X86指令集架构,有专门的虚拟化技术:全虚拟化和半虚拟化,全虚拟化又分为软件模拟全虚拟化和硬件辅助全虚拟化,软件全虚拟化技术主要有二进制翻译(BT)和扫描与修补(Scan-and-Patch)。如下图所示。图:X86虚拟化技术分类51.1.2.1.1全虚拟化(一)二进制翻译(BT)主要思想:在执行时,将VM上执行的GuestOS之指令,翻译成x86ISA的一个子集,其中的敏感指令被替换成陷入指令。翻译过程与指令执行交叉进行。不含敏感指令的用户态程序可以不经翻译直接执行。该技术为VMWareWorkstation,VMWareESXServer早期版本,VirtualPC以及QEMU所采用。(二)扫描和修补(Scan-and-Patch)主要思想:(1)VMM会在VM运行每块指令之前对其扫描,查找敏感指令;(2)补丁指令块会在VMM中动态生成,通常每一个需要修补的指令会对应一块补丁指令;(3)敏感指令被替换成一个外跳转,从VM跳转到VMM,在VMM中执行动态生成的补丁指令块;(4)当补丁指令块执行完后,执行流再跳转回VM的下一条指令处继续执行。SUN的Virtualbox即采用该技术。1.1.2.1.2半虚拟化主要思想是通过修改GuestOS的代码,将含有敏感指令的操作,替换为对VMM的超调用(Hypercall,类似OS的系统调用,可将控制权转移到VMM)。该技术的优势在于VM的性能能接近于物理机,缺点在于需要修改GuestOS。Xen就是半虚拟化的杰出代表。1.1.2.1.3硬件辅助全虚拟化处理器引入新的处理器运行模式和新的指令,使得VMM和GuestOS运行于不同的模式下,如下图所示。GuestOS运行于受控模式,原来的一些敏感指令在受控模式下全部会陷入VMM,这样就解决了部分非特权的敏感指令的陷入模拟难题,而且模式切换时上下文的存恢复由硬件来完成,这样就大大提高了陷入模拟时上下文切换的效率。6图:硬件辅助虚拟化不同模式1.1.2.1.4IntelVT-d技术我们知道对于服务器而言,很重要的一个组成部分就I/O,CPU的计算能力提升虽然可以更快地处理数据,但是前提是数据能够顺畅的到达CPU,因此,无论是存储,还是网络,以及图形卡、内存等,I/O能力都是企业级架构的一个重要部分。为此,人们不但在传输带宽上投资(比如从百兆以太网到千兆以太网再到万兆以太网),还在各种系统和架构上进行了大量的投入(比如吞吐量更高的RAID系列、多层数据中心)I/O虚拟化的关键在于解决I/O设备与虚拟机数据交换的问题,而这部分主要相关的是DMA直接内存存取,以及IRQ中断请求,只要解决好这两个方面的隔离、保护以及性能问题,就是成功的I/O虚拟化。和处理器上的IntelVT-i和VT-x一样,IntelVT-d技术是一种基于NorthBridge北桥芯片的硬件辅助虚拟化技术,通过在北桥中内置提供DMA虚拟化和IRQ虚拟化硬件,实现了新型的I/O虚拟化方式,IntelVT-d能够在虚拟环境中大大地提升I/O的可靠性、灵活性与性能。传统的IOMMUs(I/Omemorymanagementunits,I/O内存管理单元)提供了一种集中的方式管理所有的DMA——除了传统的内部DMA,还包括如AGPGART、TPT、RDMAoverTCP/IP等这些特别的DMA,它通过在内存地址范围来区别设备,因此容易实现,却不容易实现DMA隔离,因此VT-d通过更新设计的IOMMU架构,实现了多个DMA保护区域的存在,最终实现了DMA虚拟化。这个技术也叫做DMARemapping。I/O设备会产生非常多的中断请求,I/O虚拟化必须正确地分离这些请求,并路由到不7同的虚拟机上。传统设备的中断请求可以具有两种方式:一种将通过I/O中断控制器路由,一种是通过DMA写请求直接发送出去的MSI(messagesignaledinterrupts,消息中断),由于需要在DMA请求内嵌入目标内存地址,因此这个架构须要完全访问所有的内存地址,并不能实现中断隔离VT-d实现的中断重映射(interrupt-remapping)架构通过重新定义MSI的格式来解决这个问题,新的MSI仍然是一个DMA写请求的形式,不过并不嵌入目标内存地址,取而代之的是一个消息ID,通过维护一个表结构,硬件可以通过不同的消息ID辨认不同的虚拟机区域。VT-d实现的中断重映射可以支持所有的I/O源,包括IOAPICs,以及所有的中断类型,如通常的MSI以及扩展的MSI-X。VT-d进行的改动还有很多,如硬件缓冲、地址翻译等,通过这些种种措施,VT-d实现了北桥芯片级别的I/O设备虚拟化。VT-d最终体现到虚拟化模型上的就是新增加了两种设备虚拟化方式:直接I/O设备分配,虚拟机直接分配物理I/O设备给虚拟机,这个模型下,虚拟机内部的驱动程序直接和硬件设备直接通信,只需要经过少量,或者不经过VMM的管理。为了系统的健壮性,需要硬件的虚拟化支持,以隔离和保护硬件资源只给指定的虚拟机使用,硬件同时还需要具备多个I/O容器分区来同时为多个虚拟机服务,这个模型几乎完全消除了在VMM中运行驱动程序的需求。例如CPU,虽然CPU不算是通常意义的I/O设备——不过它确实就是通过这种方式分配给虚拟机,当然CPU的资源还处在VMM的管理之下。运用VT-d技术,虚拟机得以使用直接I/O设备分配方式或者I/O设备共享方式来代替传统的设备模拟/额外设备接口方式,从而大大提升了虚拟化的I/O性能。1.1.2.1.5Intel处理器技术特点2012年3月,IntelXeonE5-2600系列处理器发布,E5-2600处理器相比上一代双路服务器Xeon5600系列处理器在处理器架构上进行了重大调整,从而带来最高达到77%的性能提升。E5-2600相比Xeon5600系列处理器,在处理器核心数、流水线长度、内存带宽等多个方面都对做出了重大提升,所以导致了性能的巨大飞跃。2013年9月,IntelXeonE5-2600v2系列处理器发布,E5-2600v2处理器相比E5-2600系列处理器在制造工艺上进行了重大调整,使用22nm工艺,在核心数、主频、内存频率,Cache大小等多个方面都有明显提升,从而提升了处理器性能。81.1.2.1.6AMD-V技术AMD虚拟化(AMDVirtualization),缩写为“AMD-V”,是AMD为64位的x86架构提供的虚拟化扩展的名称,但有时仍然会用“Pacifica”(AMD开发这项扩展时的内部项目代码)来指代它。AMD-V在AMD的步进为“F”与“G”的速龙64以及速龙64X2处理器,使用SocketS1的炫龙64处理器、炫龙64X2处理器、弈龙处理器,以及全部更新的处理器上可用。在Linux中,支持虚拟化的AMD处理器会在一个特别文档/proc/cpuinfo中有一个名为“svm”的标志。AMD为一项名为AMD-V的IO内存管理单元(IOMMU)发布过一份技术规范。这份技术规范提供了一种配置传送给独立虚拟机的中断与配置I/O内存单元的方式,以防止虚拟机使用DMA来终止与真实硬件的隔离。IOMMU在高级的操作系统(如缺席虚拟化,absentvirtualization)与AMD的Torrenza架构中起到了重要的作用。1.1.2.1.7AMDOpteron6300处理器技术特点AMD新一代Piledriver架构Opteron6300处理器产品包括四核、八核、十二核、十六核等4个版本,Opteron6300系列产品线的基频最高达到了3.5Ghz,智能超频模式最高可达93.8Ghz。产品使用了AMD第二代32nm工艺,处理器提供多达4条PCI-Expressx16通道控制器,四通道DDR3内存控制器支持DDR3-1600、RDDR3
本文标题:桌面虚拟化技术发展分析
链接地址:https://www.777doc.com/doc-6442998 .html