虚拟化技术介绍v1内容摘要:

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的 VTx和 AMD的 AMDV这两种技术,而且这两种技术在核心思想上非常相似,都是通过引入新的指令和运行模式,来让 VMM和 Guest OS能分 别运行在其合适的模式下。 在实现方面, VTX支持 两种处理器工作方式:第一种称为 Root模式( Operation), VMM运行于此模式,用于处理特殊指令,另一种称为 NonRoot模式( Operation), Guest OS运行于此模式,当在 NonRoot 模式 Guest执行到特殊指令的时候,系统会切换到运行于 Root模式 VMM,让 VMM来处理这个特殊指令。 VMWare和 Xen都在利用此特点。 内存虚拟化 内存虚拟化的目标是能做好虚拟机内存空间之间的隔离,使每个虚拟机都认为自己拥有了整个内存地址,并且效率也能接近物理机。 全虚拟化: 影子页表 ( Shadow Page Table),就是 为每个 Guest都 维护一个“影子页表”,在这个表中写入虚拟化之后的内存地址映射关系,而 Guest OS的 页表则无需变动,最后, VMM将影 虚拟化技术介绍 R 未经 IBM 书面许可,请勿扩散到第三方。 第 12 页 共 31 页 子页表交给 MMU进行地址转换。 半虚拟化: 页表写入法,当 Guest OS创建一个新的页表时,其 会向 VMM注 册该页表,之后在 Guest运行的时候, VMM将不断地管理和维护这个表,使 Guest上面的程序能直接 访问到合适的地址。 硬件辅助虚拟化: EPT( Extended Page Table, 扩展页表), EPT通 过使用硬件技术,使其能在原有的页表的基础上,增加了一个 EPT页表,通过这个页表能够将 Guest的物理地址直接翻 译为主机的物理地址,从而减低整个内存虚拟化所需的 Cost。 I/O 虚拟化 I/O虚拟化的目标是不仅让虚拟机访问到它们所需要的 I/O资源,而且要做好它们之间的隔离工作,更重要的是,减轻由 于虚拟化所带来的开销。 全虚拟化 :通过模拟 I/O设备(磁盘和网卡等)来实现虚拟化。 对 Guest OS而言,它所能看到就是一 组统一的 I/O设备,同时 Guest OS每次 I/O操作都 会陷入到 VMM, 让 VMM来执行。 这种方式,对Guest而言,非常透明, 无需顾忌底层硬件,比如 Guest操作的是 SCSI的 设备,但实际物理机只有SATA的硬 盘。 半虚拟化 :通过前端( FrontEnd) /后端( BackEnd)架构, 将 Guest的 I/O请求通过一个环状队列传递到特权域( Privileged Domain,也被 称为 Domain0)。 因 为这种方式的相关细节较多,所以会在后文进行深入分析。 硬件辅助虚拟化 :最具代表性莫过于 Intel的 VTd, AMD的 IOMMU和 PCISIG的 IOV( I/O Virtulization) 这三个技术。 在这里介绍一下 VTd,其核心思想就是 让虚拟机能直接使用物理设备,但是这会牵涉到 I/O地址 访问和 DMA的 问题,而 VTd通 过采用 DMA重映射( Remapping)和 I/O页表来解决这两个问题,从而让虚拟机能直接访问物理设备。 还有, IOMMU和 VTd在技 术上有很多相似之处。 总结 虚拟化技术介绍 R 未经 IBM 书面许可,请勿扩散到第三方。 第 13 页 共 31 页 未来 随着硬件辅助虚拟化技术不断地发展和优化,将使其在速度和架构方面的优势更明显,但是由于全虚拟化和半虚拟化的一些技术在某些方面还是保持了一定的优势,比如半虚拟化的前端和后端架构和全虚拟化的二进制代码翻译技术。 所以,认为今后 X86 虚拟化技术的发展将会以硬件辅助虚拟化技术为主,同时以全虚拟化和半虚拟化技术为辅 .走上和 IBM 相同的道路( IBM 基于 Power 芯片的服务器就是以 硬件辅助虚拟化技术为主,同时以全虚拟化和半虚拟化技术为辅 )。 x86 服务器 所需 虚拟化 技术和服务器初选 概览 上面这张 x86 服务器虚 拟化概览 图从 4个层次阐述了 x86架构服务器虚拟化的概览,简要的概括如下:  物理层: 选用相应的产商提供的 x86 服务器  CPU 辅助虚拟化层: 为了让虚拟机运行的性能更好,我们选用的 x86服务器中使用的芯片必须支持 IntelVT或者 AMDV 硬件虚拟化技术。  Hypervisor 层: 这一层划分层三个小层次: : 此层的虚拟化技术的性能最好 ; 1 Hypervisor(no Host OS) 层 (也可认为是 FullVirtual层 ): 此层的虚拟化技术的性能也非常好。 2 Hypervisor(Host OS) 层 (也可认为是FullVirtual层 ):此层的虚拟化技术的性能较差。  Application Container 层: 这层是操作系统提供的虚拟化技术。  VMMgmt 层: 虚拟机的管理软件 对于我们 要建设的云计算平台来说,性能、可靠性 、易用性 是非常重要的一部分,所以对于相应的服务器和虚拟化技术选型来说,我们明显可以从上面的阐述可以得到我们需要选择的服务器和虚拟化技术如下所示: 虚拟化技术介绍 R 未经 IBM 书面许可,请勿扩散到第三方。 第 14 页 共 31 页  服务器:购买的 x86服务器所使用的 Intel/AMD芯片,必须支持 IntelVT或者 AMDV 硬件虚拟化技术。 并且每台 x86服务器所包含的 CPU数量和内存数量越多越好当然需要建立在价格的基础上 (最好是 32 Core, 128G内存) . 下面表格列出了服务器 ( Intel芯片) 所需要支持的硬件虚拟化技术的列表:  虚拟化技术:我们将只会选择 XEN、 KVM、 VMWare不会选择其它虚拟化技术 ,并且需要通过相面的阐述来决定主要选择哪个虚拟化技术,备选哪个虚拟化技术 . x86 服务器 虚拟化技术: XEN、 KVM、 VMWare的比较 虽然 VMWARE虚拟化技术在商用领域非常强势,但 是随着技术的不断发展(例如INTEL/AMD芯片在硬件上的虚拟化技术的支持和 XEN、 KVM这些开源虚拟化技术在功能上的进步); VMware的技术优势不再向 21世纪初期那么明显。 并且加上我们安徽大学具有很强的 IT技术实力仅仅需要的是云计算平台的实施商在实施过程中给我们提供强大的技术支持和知识的传递即可,以及我们在虚拟机技术上的投资不可能很大。 所以我们通过相应的技术对比论证我们决定大部分采用 XEN虚拟机技术,在某些场景采用 KVM虚拟机技术 /VMWare虚拟机技术。 下面相应章节的内容就是相应的技术论证阐述 . VMWare 简介 VMware vSphere v4是 VMWARE VMware Infrastructure 新的产品名称,主要可被为两部分:其一是 VMM( 虚拟化管理器)部分, VMware ESX 4,其二是用于整合和管理 VMM的 VMware vCenter。 下面是 vSphere的架构 图: 虚拟化技术介绍 R 未经 IBM 书面许可,请勿扩散到第三方。 第 15 页 共 31 页 VMware ESX 4 介绍 VMware ESX 4是 属于 Hyperviosr形式的 VMM,是直接安 装硬件( Bare Metal)上面,也称为“ Type 1”。 VMware ESX 4和之前 VMware ESX ,在功能和特性上有很多更新和 扩展,其中最大的区别过于 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和。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。