虚拟化数据中心的云操作系统课件_第1页
虚拟化数据中心的云操作系统课件_第2页
虚拟化数据中心的云操作系统课件_第3页
虚拟化数据中心的云操作系统课件_第4页
虚拟化数据中心的云操作系统课件_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

1Chapter3:VirtualMachinesandVirtualizationofClustersanddatacenters

虚拟机和集群与数据中心虚拟化1Chapter3:VirtualMachinesa23.1虚拟化的实现层次

虚拟化技术通过在同一个硬件主机上多路复用虚拟机的方式来共享昂贵的硬件资源,

虚拟化的基本思想是分离软硬件以产生更好的系统性能

虚拟化实现的层次

引入虚拟化后,不同用户应用程序由自身的操作系统(即客户操作系统)管理,并且那些客户操作系统可以独立于主机操作系统同时运行在同一个硬件上,这通常是通过新添加一个称为虚拟化层的软件来完成,该虚拟化层称为hypervisor或虚拟机监视器(VirtualMachineMonitor,VMM)

23.1虚拟化的实现层次3图3-1虚拟化前后的计算机系统体系结构,其中,VMM代表虚拟机监视器3图3-1虚拟化前后的计算机系统体系结构,其中,VMM代表4图3-2从硬件到应用程序的5个虚拟化抽象层次

4图3-2从硬件到应用程序的5个虚拟化抽象层次5Low-LevelVMMOperations(1)复用(CourtesyofMendelRosenblum,2006)5Low-LevelVMMOperations(1)复6Low-LevelVMMOperations(2)挂起(CourtesyofMendelRosenblum,2006)6Low-LevelVMMOperations(2)挂7Low-LevelVMMOperations(3)供应(恢复)(CourtesyofMendelRosenblum,2006)7Low-LevelVMMOperations(3)供8Low-LevelVMMOperations(4)动态迁移(CourtesyofMendelRosenblum,2006)8Low-LevelVMMOperations(4)动9指令集体系结构级:代码解释和动态二进制翻译硬件抽象级:虚拟化一个计算机硬件资源操作系统级:在单一物理服务器上创建隔离的容器和操作系统实例库支持级:库接口的虚拟化应用程序级:进程级虚拟化、高级语言(HighLevelLanguage,HLL)虚拟机9指令集体系结构级:代码解释和动态二进制翻译10VirtualizationatISAlevel:EmulatingagivenISAbytheISAofthehostmachine.Forexample,MIPSbinarycodecanrunonanx-86-basedhostmachinewiththehelpofISAemulation.Typicalsystems:Bochs,Crusoe,Quemu,BIRD,DynamoAdvantage:Itcanrunalargeamountoflegacybinarycodeswrittenforvariousprocessorsonanygivennewhardwarehostmachines;bestapplicationflexibilityShortcoming&limitation:Onesourceinstructionmayrequiretensorhundredsofnativetargetinstructionstoperformitsfunction,whichisrelativelyslow.V-ISArequiresaddingaprocessor-specificsoftwaretranslationlayerinthecomplier.10VirtualizationatISAlevel:11VirtualizationatHardwareAbstractionlevel:

Virtualizationisperformedrightontopofthehardware.ItgeneratesvirtualhardwareenvironmentsforVMs,andmanagestheunderlyinghardwarethroughvirtualization.Typicalsystems:VMware,VirtualPC,Denali,XenAdvantage:hashigherperformanceandgoodapplicationisolationShortcoming&limitation:veryexpensivetoimplement(complexity)11VirtualizationatHardwareA12VirtualizationatOperatingSystemlevel:

ItisanabstractionlayerbetweentraditionalOSanduserplacations.ThisvirtualizationcreatesisolatedcontainersonasinglephysicalserverandtheOS-instancetoutilizethehardwareandsoftwareindatacenters.Typicalsystems:Jail/VirtualEnvironment/Ensim'sVPS/FVMAdvantage:haveminimalstarup/shutdowncost,lowresourcerequirement,andhighscalability;synchronizeVMandhoststatechanges.Shortcoming&limitation:allVMsattheoperatingsystemlevelmusthavethesamekindofguestOS;poorapplicationflexibilityandisolation.12VirtualizationatOperating13LibrarySupportlevel:

ItcreatesexecutionenvironmentsforrunningalienprogramsonaplatformratherthancreatingVMtoruntheentireoperatingsystem.ItisdonebyAPIcallinterceptionandremapping.Typicalsystems:Wine,WAB,LxRun,VisualMainWinAdvantage:IthasverylowimplementationeffortShortcoming&limitation:poorapplicationflexibilityandisolation13LibrarySupportlevel:14User-Applicationlevel:

It

virtualizesanapplicationasavirtualmachine.ThislayersitsasanapplicationprogramontopofanoperatingsystemandexportsanabstractionofaVMthatcanrunprogramswrittenandcompiledtoaparticularabstractmachinedefinition.Typicalsystems:

JVM,NETCLI,PanotAdvantage:hasthebestapplicationisolationShortcoming&limitation:lowperformance,lowapplicationflexibilityandhighimplementationcomplexity.14User-Applicationlevel:虚拟化数据中心的云操作系统ppt课件16VMM的设计需求和提供商

硬件级虚拟化在真实硬件和传统操作系统之间插入一层软件,该层软件通常称为虚拟机监视器(VMM)

对VMM有三个需求。第一,VMM应该为程序提供与原始硬件机器基本一致的环境;第二,运行在该环境中的程序的性能损失应较低;第三,系统资源应处于VMM的完全控制之中。

由VMM完全控制这些资源包括以下方面:(1)VMM负责为应用程序分配硬件资源;(2)程序不能访问任何未分配给它的资源;(3)在某些情况下,VMM可以获得对已分配资源的控制权。

16VMM的设计需求和提供商MajorVMMandHypervisorProvidersMajorVMMandHypervisorProvi18操作系统级的虚拟化支持

操作系统级虚拟化在一个操作系统中插入一个虚拟化层来划分机器的物理资源。它使得在一个操作系统内核中可以同时运行多个隔离的虚拟机。这种虚拟机也称为VE(VirtualExecutionEnvironment)、VPS(VirtualPrivateSystem,虚拟专用系统)或容器。

从用户的视角来看,VE就像真实服务器。VE有自己的进程、文件系统、用户账号、带有IP地址的网络接口、路由表、防火墙规则及其他个人设置。

尽管VE可为不同用户分别定制,但它们仍共享同一个操作系统内核。因此,操作系统级虚拟化也称为单操作系统镜像虚拟化。

18操作系统级的虚拟化支持VirtualizationforLinuxand

WindowsNTPlatformsVirtualizationforLinuxand

202021虚拟化的中间件支持

21虚拟化的中间件支持22图3.4vCUDA结构的基本概念22图3.4vCUDA结构的基本概念233.2虚拟化的结构/工具与机制hypervisor与Xen体系结构

图3-5Xen体系结构用于控制和I/O的特殊零域并用于用户应用程序的客户域233.2虚拟化的结构/工具与机制图3-5Xen体系结构24Xen是一个由剑桥大学开发的开源hypervisor程序。Xen属于微内核hypervisor提供了一种客户操作系统可以直接访问物理设备的机制Xen提供了一个处于硬件和操作系统之间的虚拟环境Xen系统的核心组件是hypervisor、内核和应用程序具有控制特权的客户操作系统称为Domain0,其他客户操作系统则称为DomainUDomain0被首先启动。Domain0可以直接访问硬件和管理设备。因此,Domain0的一个任务是为所有DomainU分配和映射硬件资源24Xen是一个由剑桥大学开发的开源hypervisor程序25全虚拟化的二进制翻译

根据实现技术的不同,硬件虚拟化可以分为:全虚拟化和基于主机的虚拟化。

全虚拟化不需要修改主机操作系统。它依赖于二进制翻译来陷入和虚拟化一些敏感、不可虚拟化的指令的执行。客户操作系统和它们的应用由非临界和临界指令构成。

在基于主机的系统虚拟化中,主机操作系统和客户操作系统同时存在,虚拟化软件层处于两者之间。

该主机操作系统仍旧负责管理硬件。客户操作系统安装并运行在虚拟化层之上。特定的应用可运行在虚拟机中。

25全虚拟化的二进制翻译26图3-6复杂指令的间接执行,即使用VMM二进制翻译客户操作系统请求,并在同一台主机上直接执行简单指令26图3-6复杂指令的间接执行,即使用VMM二进制翻译客户27编译器支持的半虚拟化技术

半虚拟化需要修改客户操作系统。半虚拟化虚拟机在用户程序中提供了特殊的API,要求真正修改操作系统。

图3-7半虚拟化的虚拟机体系结构,其中包括为执行虚拟化进程而修改客户操作系统内核,将不可虚拟化的指令替换为对hypervisor或VMM的超级调用

27编译器支持的半虚拟化技术图3-7半虚拟化的虚拟机体系结28

图3-8半虚拟化的客户操作系统,由智能编译器辅助将不可虚拟化的操作系统指令替换为超级调用28图3-8半虚拟化的客户操作系统,由智能编译器辅助将29图3-9使用半虚拟化的VMwareESXServer体系结构29图3-9使用半虚拟化的VMwareESXServ303.3CPU、内存和I/O设备的虚拟化

为支持虚拟化,处理器利用硬件辅助虚拟化,引入一种特殊的运行模式和指令,使得VMM和客户操作系统可运行在不同模式中,客户操作系统及其应用程序的所有敏感指令会陷入到VMM中。虚拟化的硬件支持

现代操作系统和处理器允许多个进程同时运行。如果处理器中没有保护机制,那么不同进程的所有指令都可以直接访问硬件,很容易导致系统崩溃。因此,所有处理器都至少需要两种模式(用户模式和管理模式)来确保对临界区硬件的受控访问。运行在管理模式的指令称为特权指令,其他指令为非特权指令。

303.3CPU、内存和I/O设备的虚拟化31图3-10Intel对处理器、内存和I/O设备虚拟化的硬件支持31图3-10Intel对处理器、内存和I/O设备虚拟化的32CPU虚拟化

虚拟机的非特权指令直接在物理主机中运行

关键指令可以分为三类:特权指令、控制敏感指令和行为敏感指令。特权指令需要在特权模式中执行,当在特权模式之外执行特权指令时会发生陷入。控制敏感指令尝试改变使用资源的配置。行为敏感指令根据资源的配置情况会有不同的行为,包括在虚拟内存中进行的负载和存储操作。VMM运行在管理模式时,CPU支持在用户模式运行虚拟机的特权指令和非特权指令,则该CPU体系结构是可虚拟化的。RISC的所有控制敏感指令和行为敏感指令都是特权指令,因此,RISC的CPU体系结构是天然可虚拟化的。32CPU虚拟化33图3-11Intel硬件辅助的CPU虚拟化33图3-11Intel硬件辅助的CPU虚拟化34内存虚拟化

客户操作系统和VMM分别维护从虚拟内存到物理内存的映射和从物理内存到机器内存的映射,共两级映射。客户操作系统仍旧负责从虚拟地址到虚拟机的物理内存地址的映射,VMM负责将客户物理内存映射到实际的机器内存上

图3-12两级内存映射过程34内存虚拟化图3-12两级内存映射过程35图3-13使用Intel的EPT的内存虚拟化(EPT也被称为影子页表)

35图3-13使用Intel的EPT的内存虚拟化(EPT也36I/O虚拟化I/O虚拟化包括管理虚拟设备和共享的物理硬件之间I/O请求的路由选择。实现I/O虚拟化有三种方式:全设备模拟:一个设备的所有功能或总线结构(如设备枚举、识别、中断和DMA)都可以在软件中复制。半虚拟化:是Xen所采用的方法,是广为熟知的分离式驱动模型,由前端驱动和后端驱动两部分构成。前端驱动运行在DomainU中,而后端驱动运行在Domain0中,它们通过一块共享内存交互。直接I/O虚拟化:让虚拟机直接访问设备硬件。它能获得近乎本地的性能,并且CPU开销不高。36I/O虚拟化37图3-14用于I/O虚拟化的设备模拟,虚拟化在中间层实现,将真实I/O设备映射到客户设备驱动使用的虚拟设备37图3-14用于I/O虚拟化的设备模拟,虚拟化在中间层实38多核处理器的虚拟化

主要有两个困难:一是应用程序编程者必须完全并行地使用所有处理器核,二是软件必须明确地为处理器核分配任务。

物理处理器核与虚拟处理器核:图3.16多核虚拟化方法,当实际只有三个核存在时给软件暴露4个VCPU38多核处理器的虚拟化图3.16多核虚拟化方法,当实际只有三39VirtualCoresvs.PhysicalProcessorCoresPhysicalcoresVirtualcoresTheactualphysicalcorespresentintheprocessor.TherecanbemorevirtualcoresvisibletoasingleOSthantherearephysicalcores.Moreburdenonthesoftwaretowriteapplicationswhichcanrundirectlyonthecores.Designofsoftwarebecomeseasierasthehardwareassiststhesoftwareindynamicresourceutilization.Hardwareprovidesnoassistancetothesoftwareandishencesimpler.Hardwareprovidesassistancetothesoftwareandishencemorecomplex.Poorresourcemanagement.Betterresourcemanagement.Thelowestlevelofsystemsoftwarehastobemodified.Thelowestlevelofsystemsoftwareneednotbemodified.39VirtualCoresvs.Physical40虚拟层次结构

在一个物理处理器上覆盖一层一致的、缓冲的层次结构。不像固定的物理层次结构,虚拟层次体系结构可以通过自动调整空间共享负载的方式来获得更好的性能和性能隔离性

片上众核多处理器使用一个两级或更多级缓冲的物理层次结构,它静态确定缓冲的分配和映射。

一个虚拟层次结构是能够动态适应单一负载或混合负载的缓冲层次结构

40虚拟层次结构41图3-17片上多处理器的服务器合并,通过虚拟机的空间共享将虚拟机映射到众核上,形成多个虚拟集群,分别执行不同的负载41图3-17片上多处理器的服务器合并,通过虚拟机的空间共423.4虚拟集群和资源管理物理集群与虚拟集群

虚拟集群由多个客户虚拟机构成,这些客户虚拟机安装在由一个或多个物理集群构成的分布式服务器上。在逻辑上,处于一个虚拟集群的客户虚拟机通过一个跨越了多个物理网络的虚拟网络互连在一起。

423.4虚拟集群和资源管理43为虚拟集群提供虚拟机的过程可以动态进行:虚拟集群节点可以是物理机器或虚拟机器主机操作系统管理物理机器的资源,虚拟机运行其上,并且可以运行与主机相异的操作系统。使用虚拟机的目的是合并同一台物理服务器的多个功能。虚拟机可以在多个物理服务器上备份,以提高分布式并行度、容错性,加快灾难恢复速度。虚拟集群的节点数可以动态增减,与P2P网络中覆盖网络的规模变化类似。物理节点的失效会使得运行在其上的虚拟机也失效,但是虚拟机的失效不会影响主机系统。43为虚拟集群提供虚拟机的过程可以动态进行:44图3-19基于应用程序划分的虚拟集群概念44图3-19基于应用程序划分的虚拟集群概念45快速部署和有效调度:

系统应具备快速部署的能力。快速部署要求如下两点:一是在集群内的物理节点上尽快构建和发布软件栈(包括操作系统、库、应用程序);二是运行时环境可以从一个用户虚拟集群快速切换至另一个用户虚拟集群。

虚拟化的另一个优点是在虚拟集群中应用程序的负载均衡。负载均衡可以通过使用负载指数和用户登录频率等指标来完成,虚拟集群的自动伸缩机制可以基于该模型实现。高性能虚拟存储

存储体系结构设计可以用于减少虚拟集群分布式文件系统中的复制块45快速部署和有效调度:46在线迁移虚拟机的步骤与性能影响:

在虚拟集群中,虚拟机客户系统与主机系统并存,并且虚拟机运行在物理主机之上。当一个虚拟机失效时,其角色可被其他节点上的虚拟机替代,只要两个虚拟机运行相同的客户操作系统即可。

一个物理节点可以故障转移至另一个主机的虚拟机上。

46在线迁移虚拟机的步骤与性能影响:47管理虚拟集群共有四种方式:

第一种方式是基于客户的管理器,其中集群管理器处于客户系统中。在这种管理方式中,多个虚拟机形成一个虚拟集群。

第二种方式是基于主机的集群管理器。监督客户系统且能在另一个物理机器上重启客户系统。

第三种方式是在主机系统和客户系统中使用相互独立的集群管理器来管理虚拟集群。然而,这会使基础设施管理变得更为复杂。

第四种方式是在主机系统和客户系统中使用集成的集群。这表示管理器能区分虚拟资源和物理资源。

47管理虚拟集群共有四种方式:48

虚拟机可以从一台物理机器在线迁移至另一台物理机器。发生失效时,一个虚拟机可被另一个虚拟机替代。

虚拟集群可以应用在计算网格、云平台和高性能计算系统中。虚拟集群化的主要吸引力在于它可根据用户需求或节点失效后快速提供动态资源。尤其是,虚拟集群化在云计算中发挥着重要作用。当虚拟机运行在线服务时,在线虚拟机迁移方案的设计目标是最小化如下三个指标:微小的停机时间、最低的网络带宽消耗及合理的总迁移时间。

一台虚拟机可能处于如下四种状态之一:非活跃状态、活跃状态、中止状态、挂起状态。

在线迁移虚拟机包括如下6个步骤:48虚拟机可以从一台物理机器在线迁移至另一台物理机器494950图3-21将虚拟机从一个失效的Web服务器迁移到另一台服务器期间的数据传输速率变化情况50图3-21将虚拟机从一个失效的Web服务器迁移到另一台服51内存、文件与网络资源的迁移

内存迁移:将虚拟机的内存实例从一个物理节点迁移至另一个物理节点文件系统迁移:为每个虚拟机提供一个一致的、位置无关的、在所有物理主机上都可访问的文件系统网络迁移:迁移虚拟机时应维持所有开放的网络连接,不应依赖原始主机转发或者依赖移动性或重定向机制的支持。

在线迁移机制主要使用预复制的方法,首先传输所有的内存页,然后迭代地只传输上次传输过程中被修改的内存页。

51内存、文件与网络资源的迁移52图3-22从零域在线迁移虚拟机到一个基于Xen的目标主机52图3-22从零域在线迁移虚拟机到一个基于Xen的目标主53虚拟集群的动态部署

53虚拟集群的动态部署54图3-23美国杜克大学的COD项目将一个物理集群划分为多个虚拟集群54图3-23美国杜克大学的COD项目将一个物理集群划分为图3-24在杜克大学运行8天COD时集群规模的变化情况图3-24在杜克大学运行8天COD时集群规模的变化情况56图3-25普度大学的VIOLIN项目在5个虚拟环境共享2个托管集群的自适应场景。注意,自适应前后都有很多空闲节点(空白方块)56图3-25普度大学的VIOLIN项目在5个虚拟环境共享2573.5数据中心的自动化与虚拟化数据中心服务器合并

服务器合并采用减少物理服务器数目的方法,是改进硬件资源低利用效率的有效途径。在许多服务器合并技术(如集中合并和物理合并)中,基于虚拟化的服务器合并是最有效的合并方式。

数据中心需要优化其资源管理,但是这些服务器合并技术在服务器整机级别进行,很难使资源管理得到有效优化。合并增强了硬件利用效率使资源得到更灵活的配置和调度总体拥有成本得到降低。可以改进可用性和业务连续性

573.5数据中心的自动化与虚拟化58虚拟存储管理

在系统虚拟化中,虚拟存储包括由VMM和客户操作系统管理的存储。

存储在该环境中的数据可被分为两类:虚拟机镜像和应用程序数据。

系统虚拟化最重要的方面是封装和隔离。传统操作系统和运行其上的应用程序可被封装到虚拟机之中。在一个虚拟机中仅运行一个操作系统,而该操作系统中则可运行许多

温馨提示

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

评论

0/150

提交评论