虚拟化技术简介

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

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

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

资源描述

虚拟化技术简介LiYangweiPage2虚拟化技术简介虚拟化技术概述虚拟化技术的基本要素与分类VMM,虚拟化技术中软件的作用硬件对虚拟化的支持虚拟化技术实践虚拟化的未来3虚拟化技术概述在虚拟化技术中,可以同时运行多个操作系统,而且每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上。Page44虚拟化技术概述•虚拟机技术出现于上世纪60年代,当时为了提高对珍贵的计算资源的利用率促使虚拟机技术得到了广泛的研究和应用。Page55•到了80和90年代,多任务多用户操作系统的普及以及硬件成本下降使虚拟机技术无法发挥其优势,人们冷却了对它的研究热情。Page66•现在,在计算机硬件强大性能的前提下,如何降低系统成本、提高系统资源利用率、降低管理成本,如何提高安全性和可靠性、增强可移植性以及提高软件开发效率等课题使虚拟机技术的重要性越来越明显。使虚拟机技术重新成为计算机技术研究的焦点之一。Page77虚拟化能做什么?•帮助客户在单个物理系统上运行多个操作系统“实例”,节省硬件成本–混合操作系统--Linux、Windows,等等•隔离应用软件与硬件•在新硬件上运行遗留操作环境•优化应用开发-在单一系统上进行测试和开发•提高系统灵活性-在系统之间迁移虚拟环境Page88•VM虚拟机(VirtualMachine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。虚拟化技术的体系结构与要素Page99•现有的虚拟机系统是通过在现有平台(裸机或操作系统)上增加一个虚拟层VMM(虚拟机监视器,virtualMachineMonitor或Hypervisor)来实现的。•VMM是一个系统软件,可以维护多个高效的、隔离的程序环境.VMM管理计算机系统的真实资源,为虚拟机提供接口---hostOS一些VMM是安装在已有操作系统之上的.则原有操作系统为hostOS虚拟化技术基本要素Page1010•VMM必须满足的三个条件:•等价性(保真性)•安全性----物理硬件应完全由VMM管理,VM中程序不得直接接触•高效性虚拟化技术基本要素Page1111•Devices•计算机设备,如CPU,内存,硬盘等•DeviceDriver•设备驱动程序,即为了控制计算机设备而添加到操作系统中的一系列代码,其中包含有关硬件设备的信息和通信,控制接口。有了此信息,计算机就可以与设备进行通信。没有驱动程序,计算机中的硬件就无法工作。虚拟化技术基本要素Page1212•GuestOS•在虚拟机里运行的操作系统叫GuestOS•Application•应用程序虚拟化技术基本要素Page1313•User•终端用户虚拟化技术基本要素Page1414虚拟化技术的分类•(1)分区技术。这种虚拟化技术是最早诞生的,原因是当时人们想要提高大型机的利用率。硬件分区技术是将硬件资源划分成数个分区,每个分区享有独立的CPU、内存,并安装独立的操作系统。Page1515虚拟化技术的分类•(2)完全虚拟化技术。该技术不再对底层硬件资源进行划分,而是拥有一个统一的宿主系统。该宿主可以是一个传统操作系统,也可以是一个vMM,其上可以安装多个未经更改的客户操作系统(GuestOs)。其代表实例有vmware系列、微软的virtualPC等。Page1616虚拟化技术的分类•(3)泛虚拟化技术或准虚拟化技术。这种虚拟技术以xen为代表,它在硬件上覆盖一层xenHypervisor,并需要修改操作系统的内核。Page1717虚拟化技术的分类•(4)抽象仿真虚拟机。这种虚拟机的典型实例是Java虚拟机。它们在实际的计算机上通过软件模拟来实现一些抽象的指令,拥有自己的处理器、堆栈、寄存器和相应的指令系统等。Page18VMM,虚拟化技术中软件的作用宿主型VMMVMM的分类独立监控型VMM混合型VMM需要运行在HostOS之上,由其提供驱动程序和与硬件通信直接运行于硬件层之上19VMM分类-I20VMM分类-IIPage21VMM,虚拟化技术中软件的作用CPU虚拟化VMM的实现内存虚拟化I/O虚拟化Page22CPU虚拟化传统CPU等级划分Page23CPU虚拟化传统CPU等级划分x86处理器响应有4个不同优先级,称为Ring0~Ring3,其中Ring0的优先级最高,Ring3最低。Ring0用于操作系统内核,Ring1和Ring2用于操作系统服务,Ring3用于应用程序。Page24CPU虚拟化特权指令与非特权指令指令集通常可分为非特权指令和特权指令两种。非特权指令不能改变共享资源的值或状态。共享资源包括处理器、内存、计时器和特殊目的的寄存器等。非特权指令如算术运算指令、逻辑运算指令等。特权指令是所有用来访问共享资源的值或状态的指令,这类指令包括关机、设置计时器、设置程序计数器、改变重定位寄存器的值和I/O相关的指令。VMM执行非特权指令,可以直接执行,而对特权指令,则需要仿真执行.Page25CPU虚拟化虚拟化系统下CPU等级划分的困难一般来说,操作系统当然是要运行在Ring0下的,但为了避免GuestOS破坏HostOS,GuestOS必须运行在低于Ring0的权限上(如Ring1权限)。问题随之而来,为了让GuestOS实现完整的系统功能,又必须让它发出的线程是Ring0级的。于是虚拟软件就要不断协调GuestOS和HostOS之线程的优先级,这种转换必然会增加系统的复杂性,会导致软件虚拟技术的性能低下,CPU和内存的处理能力在这样的协调中被大量耗费了,有数据表明其引起的系统性能下降5%~40%。Page26CPU虚拟化硬件CPU虚拟化为了提高CPU虚拟化的效率,需要用硬件来完成不同层级的切换.在服务器领域,CPU可以把VMM放在-1环.由此,intel和AMD各自开发了vt-x和AMD-V技术,用CPU来帮助VMM完成VMM与GuestOS的隔离.Page27内存虚拟化VMM必须对物理内存有最终的控制权,也就是说,它必须控制将客户物理地址空间映射到主机物理地址空间的操作。这样,才可以顺利的实现内存虚拟化Page28内存虚拟化内存虚拟化方法内存虚拟化方法:VMM维护一个虚拟机内存管理数据结构——镜像页表(shadowpagetable)。VMM通过镜像页表给不同的虚拟机分配机器的内存页,如操作系统虚拟内存一样,VMM能将虚拟机内存换页到磁盘,因此,虚拟机申请的内存可以超过机器的物理内存。VMM也可以根据每个虚拟机的要求,动态地分配相应的内存。Page29内存虚拟化操作系统对页表的频繁更改增加了更新镜像页表操作的开销,使用硬件来管理镜像页表将是未来研究的方向。Page30I/O虚拟化宿主型I/O虚拟化用宿主型的体系结构,使用宿主操作系统的L/0设备驱动程序。这种结构的缺点之一是大大增加了虚拟化的性能开销;另一个缺点是现代操作系统如Windows和linux并没有资源管理的支持为虚拟机提供性能隔离和服务保证,而这是很多服务器环境的基本要求。Page31I/O虚拟化硬件I/O虚拟化I/O子系统的产业趋势是朝着硬件支持的方向发展。拥有足够的硬件支持,直接传送I/O设备到虚拟机中的软件是完全可能的,这将有效地消除所有I/O虚拟开销。要做到这一点,I/O装置需要了解虚拟机的情况和能够支持多个虚拟接口,以便VMM能安全地映射接口到虚拟机。IntelVT-d是目前硬件I/O虚拟化的代表Page32主流的虚拟化软件VMware-ESX-ServerVmware:不开源VMware-WorkStation,VMware-GSX-Server可直接运行于硬件之上,不需要hostOS事实上是修改后的Linux内核需要hostOSPage33主流的虚拟化软件Xen:开源Xen虚拟机即XenVMM(VirtualMachineMonitor),是剑桥大学计算机实验室开发的一个开源项目.Xen虚拟机有两种运行方式:完全虚拟化(fullvirtualization)和半虚拟化(paravirtualization)。Page34硬件对虚拟化的支持硬件虚拟化技术可提供基于芯片的功能,借助兼容VMM软件,可为纯软件解决方案带来很大改观。由于虚拟化硬件提供操作系统直接运行的新架构,便不再需要二进制转换。这就减少了相关的性能费用,并大大简化了VMM的设计,使VMM能按通用标准进行编写,并且其性能将变得更加强大。这些优势增强了整个虚拟机解决方案的支持性。并且在硬件虚拟化技术下运行的VMM在硬件层能够得到充分的验证,这种认证包括,它们能够直接执行架构的完整指令集。Page35硬件对虚拟化的支持VT-x:VirtualizationTechnologyforIA-32intelVT-d:VirtualizationTechnologyforDirectedI/OVT-c:VirtualizationTechnologyforConnectivityTXT-TrustedExecutionTechnology处理器辅助虚拟化技术I/O辅助虚拟化:直接I/O可信执行技术网络辅助虚拟化技术Page36Vt-x英特尔处理器VT-x技术有助于提高基于软件的虚拟化解决方案的灵活性与稳定性。通过按照纯软件虚拟化的要求消除VMM代表客户操作系统来听取、中断与执行特定指令的需要,不仅能够有效减少VMM干预,还为VMM与客户操作系统之间的传输平台控制提供了有力的硬件支持,这样在需要VMM干预时,将实现更加快速,可靠和安全的切换。此外,英特尔VT-x具备的虚拟机迁移特性还可进一步提高故障切换、负载均衡、灾难恢复和维护的灵活性。Page37Vt-xVT-x将IA32的CPU操作扩展为两个形式:VMXrootoperation(根虚拟化操作)和VMXnon-rootoperation(非根虚拟化操作).VMXrootoperation设计来供给VMM/Hypervisor使用,其行为跟传统的IA32并无特别不同,而VMXnon-rootoperation则是另一个处在VMM控制之下的IA32环境。二者都能支持所有的四个Privilegeslevels,这样在VMXnon-rootoperation环境下运行的虚拟机就能完全地利用Privilege0等级。Page38Vt-xVT-x设计了一个Virtual-MachineControlStructure(VMCS,虚拟机控制结构)的数据结构,包括了Guest-StateArea(客户状态区)和Host-StateArea(主机状态区),用来保存虚拟机以及主机的各种状态参数,并提供了VMentry和VMexit两种操作在虚拟机与VMM之间切换,用户可以通过在VMCS的VM-executioncontrolfields里面指定在执行何种指令/发生何种事件的时候,VMXnon-rootoperation环境下的虚拟机就执行VMexit,从而让VMM获得控制权,因此VT-x解决了虚拟机的隔离问题,又解决了性能问题。Page39Vt-xVTFlexPriority:当处理器执行任务时,往往会收到需要注意的其它设备或应用发出的请求或“中断”命令。为了最大程度减少对性能的影响,处理器内的一个专用寄存器将对任务优先级进行监控。如此一来,只有优先级高于当前运行任务的中断才会被及时关注。Page40Vt-x英特尔虚拟化灵活迁移技术(IntelVTFlexMigration):虚拟化的一个重要优势是能够在无需停机的情况下,将运行中的应用在物理服务器之间进行迁移。英特尔虚拟化灵活迁移技术(IntelVTFlexMigration)旨在实现基于英特尔处理器的当前服务器与未来服务器之间的无缝迁移,即使新的系统可能包括增强的指令集也不例外。借助此项技术,管理程序能够在迁移池内的所有服务器中建立一套一致的指令,实现工作负载的无缝迁移。Page41Vt-dIntelVT-d技术是一种基于PCH芯片(传统意义上的南桥和北桥的PCI-e部分)的硬件辅

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

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

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

×
保存成功