收藏 分享(赏)

7-2云计算关键技术之计算虚拟化 ISSUE 1.pdf

上传人:nanchangxurui 文档编号:6846940 上传时间:2022-08-17 格式:PDF 页数:44 大小:4.05MB
下载 相关 举报
7-2云计算关键技术之计算虚拟化 ISSUE 1.pdf_第1页
第1页 / 共44页
7-2云计算关键技术之计算虚拟化 ISSUE 1.pdf_第2页
第2页 / 共44页
7-2云计算关键技术之计算虚拟化 ISSUE 1.pdf_第3页
第3页 / 共44页
7-2云计算关键技术之计算虚拟化 ISSUE 1.pdf_第4页
第4页 / 共44页
7-2云计算关键技术之计算虚拟化 ISSUE 1.pdf_第5页
第5页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、课程名称华为技术有限公司 版权所有 未经许可不得扩散P-1课程名称P-2华为技术有限公司 版权所有 未经许可不得扩散课程名称P-3华为技术有限公司 版权所有 未经许可不得扩散虚拟化技术源于大型机,最早可以追溯到上世纪六、七十年代大型机上的虚拟分区技术,即允许在一台主机上运行多个操作系统,让用户尽可能充分地利用昂贵的大型机资源。随着技术的发展和市场竞争的需要,虚拟化技术向小型机或UNIX服务器上移植,只是由于真正使用大型机和小型机的用户还是少数,加上各厂商产品和技术之间的不兼容,使得虚拟化技术不太被公众所关注。20世纪90年代,以VMware为代表的部分虚拟化软件厂商采用一种软件解决方案,以VM

2、M(Virtual Machine Monitor, VMM 虚拟机监视器)为中心使X86服务器平台实现虚拟化,每个Guest OS(客户操作系统)获得的关键平台资源都要由VMM控制和分配。课程名称P-4华为技术有限公司 版权所有 未经许可不得扩散20世纪90年代,以VMware为代表的部分虚拟化软件厂商采用一种软件解决方案,以VMM(Virtual Machine Monitor, VMM 虚拟机监视器)为中心使X86服务器平台实现虚拟化。然而这种纯软件的“全虚拟化”模式,每个Guest OS(客户操作系统)获得的关键平台资源都要由VMM控制和分配,需要利用二进制转换,而二进制转换带来的开销

3、使得“完全虚拟化”的性能大打折扣。为解决性能问题,出现了一种新的虚拟化技术“半虚拟化”,即不需要二进制转换,而是通过对客户操作系统进行代码级修改,使定制的Guest OS获得额外的性能和高扩展性,但是修改Guest OS也带来了系统指令级的冲突及运行效率问题,需要投入大量优化的工作。当前,虚拟化技术已经发展到了硬件支持的阶段,“硬件虚拟化”技术就是把纯软件虚拟化技术的各项功能用硬件电路来实现,可减少VMM运行的系统开销,可同时满足CPU半虚拟化和二进制转换技术的需求,使VMM的设计得到简化,进而使VMM能够按通用标准进行编写。硬件辅助虚拟化技术除了在处理器上集成硬件辅助虚拟化指令,同时提供I/

4、O方面的虚拟化支持,最终将实现整个平台的虚拟化。X86虚拟化技术的实现和发展,都向人们展示了虚拟化应用的广阔前景。5本质上,虚拟化就是由位于下层的软件模块,通过向上一层软件模块提供一个与它原先所期待的运行环境完全一致的接口的方法,抽象出一个虚拟的软件或硬件接口,使得上层软件可以直接运行在虚拟环境上。通过空间上的分割、时间上的分时以及模拟,虚拟化可将一份资源抽象成多份,亦可将多份资源抽象成一份课程名称P-6华为技术有限公司 版权所有 未经许可不得扩散课程名称P-7华为技术有限公司 版权所有 未经许可不得扩散课程名称P-8华为技术有限公司 版权所有 未经许可不得扩散这里虚拟化层也就是虚拟机的控制层

5、。课程名称P-9华为技术有限公司 版权所有 未经许可不得扩散课程名称P-10华为技术有限公司 版权所有 未经许可不得扩散I. 同质 (Equivalence)即 VM 的运行环境和物理机的环境在本质上是相同的,表现上可以有一些差异。如 CPU 的 ISA 必须一致(实际可以不一致),CPU core 的个数可以不同。II. 高效 (Efficiency)即 VM 的性能必须接近物理机。因此,常见的模拟器 (boches, simics .) 就不能称为 VM。为达此目的,软件在 VM 上运行时,大多数指令要直接在硬件上执行,只有少量指令需要 VMM 的模拟或处理。III. 资源受控 (Reso

6、urce control)即 VMM 对物理机的所有资源有绝对的控制力。课程名称P-11华为技术有限公司 版权所有 未经许可不得扩散Type-I(裸金属型)(裸金属型)指VMM直接运作在裸机上,使用和管理底层的硬件资源,Guest OS对真实硬件资源的访问都要通过VMM来完成,作为底层硬件的直接操作者,VMM拥有硬件的驱动程序。Type-II型(宿主型)型(宿主型)指VMM之下还有一层宿主操作系统,由于Guest OS对硬件的访问必须经过宿主操作系统,因而带来了额外的性能开销,但可充分利用宿主操作系统提供的设备驱动和底层服务来进行内存管理、进程调度和资源管理等。课程名称P-12华为技术有限公司

7、 版权所有 未经许可不得扩散抽象解耦:抽象解耦:1.可在任何X86架构的服务器上运行;2.上层应用操作系统不需修改即可运行;分区隔离:分区隔离:1.可与其他虚拟机同时运行;2.实现数据处理、网络连接和数据存储的安全隔离;封装移动:封装移动:1.可封装于文件之中,通过简单的文件复制实现快速部署、备份及还原;2.可便捷地将整个系统(包括虚拟硬件、操作系统和配置好的应用程序)在不同的物理服务器之间进行迁移,甚至可以在虚拟机正在运行的情况下进行迁移;弹性扩展:弹性扩展:1.可对单个物理服务器上的虚拟资源(VCPU、VNIC等)进行按需动态扩展(不停机);2.可作为即插即用的虚拟工具进行构建和分发,按集

8、群弹性资源分配机制实现动态扩展;课程名称P-13华为技术有限公司 版权所有 未经许可不得扩散课程名称P-14华为技术有限公司 版权所有 未经许可不得扩散现代计算机体系结构一般至少有两个特权级(即用户态和核心态,x86有四个特权级Ring0 Ring3)用来分隔系统软件和应用软件。那些只能在处理器的最高特权级(内核态)执行的指令称之为特权指令,一般可读写系统关键资源的指令(即敏感指令即敏感指令)决大多数都是特权指令(X86存在若干敏感指令是非特权指令的情况)。如果执行特权指令时处理器的状态不在内核态,通常会引发一个异常而交由系统软件来处理这个非法访问(陷入陷入)。“陷入-模拟” 的本质是保证可能

9、影响VMM正确运行的指令由VMM模拟执行,大部分的非敏感指令还是照常运行。15其中的(1)和(4)都是特权指令,在内核态下执行时会自动产生陷阱被 VMM 捕获,但是(2)和(3)不是特权指令,而是临界指令。部分临界指令会因为Guest OS的权限解除执行失败,但是却不会抛出异常,所以不能被捕获,譬如:(3)中的VERW指令。课程名称P-16华为技术有限公司 版权所有 未经许可不得扩散1、X86“全虚拟化”“全虚拟化”(指所抽象的VM具有完全的物理机特性,OS在其上运行不需要任何修改)Full派秉承无需修改直接运行的理念,对“运行时监测,捕捉后模拟”的过程进行优化。该派内部之实现又有些差别,其中

10、以VMWare为代表的基于二进制翻译(BT) 的全虚拟化为代表, 其主要思想是在执行时将VM上执行的Guest OS指令,翻译成x86指令集的一个子集,其中的敏感指令被替换成陷入指令。翻译过程与指令执行交叉进行,不含敏感指令的用户态程序可以不经翻译直接执行。2、X86“半虚拟化”“半虚拟化”(指需OS协助的虚拟化,在其上运行的OS需要修改)Para派的基本思想是通过修改Guest OS的代码,将含有敏感指令的操作,替换为对VMM的超调用Hypercall,类似OS的系统调用,将控制权转移到VMM,该技术因Xen项目而广为人知。该技术的优势在于VM的性能能接近于物理机,缺点在于需要修改Guest

11、 OS(如:Windows不支持修改)及增加的维护成本,关键修改Guest OS会导致操作系统对特定hypervisor的依赖性,因此很多虚拟化厂商基于Xen开发的虚拟化产品部分已经放弃了Linux半虚拟化,而专注基于硬件辅助的全虚拟化开发,来支持未经修改的操作系统。3、X86“硬件辅助虚拟化”:“硬件辅助虚拟化”:其基本思想就是引入新的处理器运行模式和新的指令,使得VMM和Guest OS运行于不同的模式下,Guest OS运行于受控模式,原来的一些敏感指令在受控模式下全部会陷入VMM,这样就解决了部分非特权的敏感指令的“陷入-模拟”难题,而且模式切换时上下文的保存恢复由硬件来完成,这样就大

12、大提高了“陷入-模拟”时上下文切换的效率。以Intel VT-x硬件辅助虚拟化技术为例,该技术增加了在虚拟状态下的两种处理器工作模式:根(Root)操作模式和非根(Non-root)操作模式。Xen运作在Root操作模式下,而Guest OS运行在Non-root操作模式下。这两个操作模式分别拥有自己的特权级环,Xen和未经修改内核的Guest OS运行在这两个操作模式的0环。这样,既能使Xen运行在0环,也能使Guest OS运行在0环,避免了修改Guest OS。Root操作模式和Non-root操作模式的切换是通过新增的CPU指令(VMXON,VMXOFF等)来完成。硬件辅助虚拟化技术消

13、除了操作系统的ring转换问题,降低了虚拟化门槛,支持任何操作系统的虚拟化而无须修改OS内核,得到了虚拟化软件厂商的支持。硬件辅助虚拟化技术已经逐渐消除软件虚拟化技术之间的差别,并成为未来的发展趋势。课程名称P-17华为技术有限公司 版权所有 未经许可不得扩散客户操作系统负责第2 级调度,即线程或进程在VCPU 上的调度(将核心线程映射到相应的虚拟CPU上)。虚拟机监视器负责第1 级调度, 即VCPU在物理处理单元上的调度。两级调度的调度策略和机制不存在依赖关系。VCPU调度器负责物理处理器资源在各个虚拟机之间的分配与调度,本质上即把各个虚拟机中的VCPU按照一定的策略和机制调度在物理处理单元

14、上可以采用任意的策略来分配物理资源, 满足虚拟机的不同需求。VCPU可以调度在一个或多个物理处理单元执行(分时复用或空间复用物理处理单元), 也可以与物理处理单元建立一对一固定的映射关系(限制访问指定的物理处理单元)。课程名称P-18华为技术有限公司 版权所有 未经许可不得扩散A. 虚拟地址(VA),指 Guest OS 提供给其应用程序使用的线性地址空间;B. 物理地址(PA),经 VMM 抽象的、虚拟机看到的伪物理地址;C. 机器地址(MA),真实的机器地址,即地址总线上出现的地址信号;映射关系如下:Guest OS: PA = f(VA)、VMM: MA = g(PA)VMM 维护一套页

15、表,负责PA 到MA 的映射。Guest OS 维护一套页表,负责VA 到PA 的映射。实际运行时,用户程序访问VA1,经Guest OS 的页表转换得到PA1,再由VMM 介入,使用VMM 的页表将PA1 转换为MA1。课程名称P-19华为技术有限公司 版权所有 未经许可不得扩散课程名称P-20华为技术有限公司 版权所有 未经许可不得扩散当Guest OS创建一个新的页表时,会从它所维护的空闲内存中分配一个页面,并向Xen注册该页面,Xen会剥夺Guest OS对该页表的写权限,之后Guest OS对该页表的写操作都会陷入到Xen加以验证和转换。Xen会检查页表中的每一项,确保他们只映射了属

16、于该虚拟机的机器页面,而且不得包含对页表页面的可写映射。后Xen会根据自己所维护的映射关系,将页表项中的物理地址替换为相应的机器地址,最后再把修改过的页表载入MMU。如此,MMU就可以根据修改过页表直接完成虚拟地址到机器地址的转换。课程名称P-21华为技术有限公司 版权所有 未经许可不得扩散以VT-x技术的页表扩充技术Extended Page Table(EPT)为例,首先VMM预先把客户机物理地址转换到机器地址的EPT页表设置到CPU中;其次客户机修改客户机页表无需VMM干预;最后,地址转换时,CPU自动查找两张页表完成客户机虚拟地址到机器地址的转换。使用内存的硬件辅助虚拟化技术,客户机运

17、行过程中无需VMM干预,去除了大量软件开销,内存访问性能接近物理机。课程名称P-22华为技术有限公司 版权所有 未经许可不得扩散课程名称P-23华为技术有限公司 版权所有 未经许可不得扩散课程名称P-24华为技术有限公司 版权所有 未经许可不得扩散课程名称P-25华为技术有限公司 版权所有 未经许可不得扩散DomU: 运行在Xen Hypervisor上的普通虚拟机。Dom0: 一个修改过的Linux kernel,运行在Xen Hypervisor之上的特权虚拟机。它拥有访问物理I/O资源的权限,同时和系统上运行的其他虚拟机进行交互。Dom0需要在其他Domain启动之前启动。课程名称P-2

18、6华为技术有限公司 版权所有 未经许可不得扩散课程名称P-27华为技术有限公司 版权所有 未经许可不得扩散课程名称P-28华为技术有限公司 版权所有 未经许可不得扩散课程名称P-29华为技术有限公司 版权所有 未经许可不得扩散当客户机物理内存足够时,客户机操作系统从其闲置客户机物理机内存链表中返回客户机物理内存给气球;当客户机物理内存资源稀缺时,客户机操作系统必须回收一部分客户机物理内存,以满足气球申请客户机物理内存的需要。通过Balloon Driver模块,从源虚拟机申请可用内存页面,通过Grant Table授权给目标虚拟机,并更新虚拟机物理地址和机器地址映射关系表。课程名称P-30华为

19、技术有限公司 版权所有 未经许可不得扩散用户进程定时扫描虚拟机的内存数据,如果发现其数据内容全为零,则通过修改P2M映射的形式把其指向一个特定的零页。从而做到在物理内存中仅保留一份零页拷贝,虚拟机的所有零页均指向该页,从而达到节省内存资源的目的。当零页数据发生变动时,由Xen动态地分配一页内存出来给虚拟机,使修改后的数据有内存页进行存放,因此对于GuestOS来说,整个零页共享过程是完全不感知的。课程名称P-31华为技术有限公司 版权所有 未经许可不得扩散内存交换技术作为内存复用技术的一种,能通过Xen把虚拟机内存数据换出到存储介质上的交换文件中,从而释放内存资源,以达到提高内存复用率的目的。

20、由于内存气泡和零页共享的数量与虚拟机本身的内存使用情况强相关,因此其效果不是很稳定,用户使用内存交换技术,可以弥补上述不足,即可以保证释放出一定量的内存空间出来(理论上所有虚拟机内存都能交换出来),但同时也会带来一定程度的虚拟机性能下降。内存交换触发时,根据用户需要告知Xen需要向某个虚拟机交换出一定量的内存页出来,Xen按一定的选页策略从虚拟机中选择相应数量的页后,把页数据保存到存储介质上的交换文件中,同时释放原先存放数据的那些页供其他虚拟机使用。当虚拟机读写的页正好是被换出的页时,在缺页处理时Xen会重新为其分配一页内存,然后从存储介质上的交换文件中把相应的页交换回新分配的内存页中,同时再

21、选择另外一页内存交换出去,从而保证虚拟机对页的正常读写的同时,稳定交换页的数量。这个过程与零页共享一样,对GuestOS都是不感知的。课程名称P-32华为技术有限公司 版权所有 未经许可不得扩散当启动VM时,Host NUMA根据当时主机内存和CPU负载,选择一个负载较轻的node放置该VM,使VM的CPU和内存资源分配在同一个node上。如图1所示,Host NUMA把VM的物理内存放置在一个node上,对VM的vCPU调度范围限制在同一个node的物理CPU上,并将VM的vCPU亲和性绑定在该node的物理CPU上。考虑到VM的CPU负载是动态变化,在初始放置的node上,node的CPU

22、资源负载也会随之变化,这会导致某个node的CPU资源不足,而另一个node的CPU资源充足,在此情况下,Host NUMA会从CPU资源不足的node上选择VM,把VM的CPU资源分配在CPU资源充足的node上,从而动态实现node间的CPU负载均衡。对于VM的vCPU个数超过node中CPU的核数的VM,如图2所示,Host NUMA把该VM的内存均匀的放置在每个node上,vCPU的调度范围为所有node的CPU。用户绑定了VM的vCPU亲和性,Host NUMA特性根据用户的vCPU亲和性设置决定VM的放置,若绑定在一个node的CPU上,Host NUMA把VM的内存和CPU放置在

23、一个node上,若绑定在多个node的CPU上,Host NUMA把VM的内存均匀分布在多个node上,VM的vCPU在多个node的CPU上均衡调度。课程名称P-33华为技术有限公司 版权所有 未经许可不得扩散GPU(图形处理器单元)主要进行浮点运算和并行运算,其浮点运算和并行运算速度比CPU更为强大,使用GPU虚拟化技术之后,可以让运行在数据中心服务器上的虚拟机实例共享使用同一块或多块GPU处理器进行图形运算。GPU直通技术直通技术,通过VT-d技术把物理GPU直通给虚拟机,使虚拟机能够完全拥有物理GPU的资源和性能 ,但是一个物理GPU只能给一个虚拟机使用。GPU软件虚拟化技术软件虚拟化

24、技术,采用图形命令重定向架构,在虚拟机的虚拟GPU驱动里截获图形命令调用,并转发到主机端,在主机端的物理GPU上处理图形命令,主机上对多个虚拟机的图形命令管理及渲染处理,最后把渲染好的图像传回给虚拟机,达到一个GPU加速多个虚拟机的目的,实现资源共享。课程名称P-34华为技术有限公司 版权所有 未经许可不得扩散CPU Qos功能包括三个方面的特性:上限、份额和预留。CPU上限 :控制虚拟机占用物理资源的上限。以一个双核虚拟机为例,如果该虚拟机CPU上限为3GHz,则该虚拟机的两个虚拟核计算能力被限制为1.5GHz。CPU份额 :CPU份额是在多个虚拟机竞争物理CPU的时候按比例分配计算资源。以

25、一个主频为2.8GHz的单核物理机为例,如果上面运行有三台单核的虚拟机。三个虚拟机A,B,C,他们的份额分别为1000,2000,4000。当三个虚拟机内部都运行满CPU负载的应用时。Hypervisor会根据三个虚拟机的份额按比例分配计算资源。份额为1000的虚拟机A的计算能力约为400MHz的,份额为2000的虚拟机B获得的计算能力约为800MHz,份额为4000的虚拟机C获得的计算能力约为1600MHz。(以上举例仅为说明CPU份额的概念,实际应用过程中情况会更复杂)。CPU预留 :CPU预留是在多个虚拟机竞争物理CPU的时候最低分配的计算资源。 以上面CPU份额的例子进行说明,如果设置

26、份额为1000的虚拟机A的CPU预留值为700MHz,那么在虚拟机内部都运行满CPU负载的应用时,虚拟机A的计算能力约为700MHz,这样比按份额计算出来的400MHz的计算能力多300MHz,这300MHz会按份额比例从其他虚拟机里扣除,这样份额为2000的虚拟机B获得的计算能力约为700MHz,份额为4000的虚拟机C获得的计算能力约为1400MHz。(以上举例仅为说明CPU预留的概念,实际应用过程中情况会更复杂)。课程名称P-35华为技术有限公司 版权所有 未经许可不得扩散课程名称P-36华为技术有限公司 版权所有 未经许可不得扩散课程名称P-37华为技术有限公司 版权所有 未经许可不得

27、扩散首先将整个虚拟机的运行状态完整保存下来,同时可以快速的恢复到目标硬件平台上,恢复以后虚拟机仍旧平滑运行,用户不会察觉到任何差异。虚拟机的热迁移技术主要被用于双机容错、负载均衡和节能降耗等应用场景。场景价值:场景价值:在设备维护过程中,通过热迁移手动将应用迁移至另一台服务器,维护结束后再迁回来,中间应用不停机,减少计划内宕机时间。可结合资源动态调度策略,例如在夜晚虚拟机负荷减少时,通过预先配置自动将虚拟机迁移集中至部分服务器,减少服务器的运行数量,从而降低设备运营能耗上的支出。课程名称P-38华为技术有限公司 版权所有 未经许可不得扩散在虚拟环境下设置主备虚拟机,在备节点上创建主虚拟机的完整

28、拷贝,包括CPU状态、内存、磁盘操作、QEMU等都进行低延迟的定时同步。备节点虚拟机处于P状态定时检测主节点虚拟机心跳,在指定时间内收不到心跳即认为异常发生,备虚拟机切换到正常运行状态。优势是主备节点可以保持状态完全同步,数据完全一致,缺点是会带来一些性能开销。特性描述:特性描述:虚拟机热备份(FT)技术,可支持多次硬件故障实时切换,当故障发生主备虚拟机倒换后,自动再次形成主备状态,并可支持多核虚拟机。客户价值:客户价值:提供关键业务虚拟机实时备份机制,能够在硬件发生问题时,做到零停机(业务不中断)和零数据丢失,最大限度保护用户利益。课程名称P-39华为技术有限公司 版权所有 未经许可不得扩散

29、虚拟机内存快照必须配合存储快照一起使用,保证数据一致性,主要用户场景为:创建快照和还原快照。用户通过创建快照可以实时保存虚拟机的状态,包括虚拟机的内存、磁盘等数据信息。创建快照后,会生成一个内存快照文件和存储快照卷。当虚拟机发生故障,或者用户想恢复到之前做快照时刻的虚拟机状态,可以选择相应的内存快照文件和存储快照卷来进行快照还原。快照还原后,虚拟机恢复到快照时间点的状态。内存快照分为两个主要流程:流程为顺序备份虚拟机内存,按照虚拟机内存块数据如实保存当前虚拟机的内存状态。另一个流程则是监控虚拟机内存变化,在变化写入之前把原始数据拷贝出来进行备份。最终通过把两个流程的数据合并到一起,实现快照点内存数据的准备保存,从而在恢复快照时能够如实还原虚拟机的内存状态。课程名称P-40华为技术有限公司 版权所有 未经许可不得扩散课程名称P-41华为技术有限公司 版权所有 未经许可不得扩散课程名称P-42华为技术有限公司 版权所有 未经许可不得扩散云计算架构技术与实践概述华为技术有限公司 版权所有 未经许可不得扩散课程名称P-44华为技术有限公司 版权所有 未经许可不得扩散

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 管理文献 > 管理手册

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报