您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 虚拟机和集群与数据中心虚拟化.
ComputerSchool,NUDT.Spring,20131Chapter3:VirtualMachinesandVirtualizationofClustersanddatacenters虚拟机和集群与数据中心虚拟化ComputerSchool,NUDT.Spring,201323.1虚拟化的实现层次虚拟化技术通过在同一个硬件主机上多路复用虚拟机的方式来共享昂贵的硬件资源,虚拟化的基本思想是分离软硬件以产生更好的系统性能虚拟化实现的层次引入虚拟化后,不同用户应用程序由自身的操作系统(即客户操作系统)管理,并且那些客户操作系统可以独立于主机操作系统同时运行在同一个硬件上,这通常是通过新添加一个称为虚拟化层的软件来完成,该虚拟化层称为hypervisor或虚拟机监视器(VirtualMachineMonitor,VMM)ComputerSchool,NUDT.Spring,20133图3-1虚拟化前后的计算机系统体系结构,其中,VMM代表虚拟机监视器ComputerSchool,NUDT.Spring,20134图3-2从硬件到应用程序的5个虚拟化抽象层次ComputerSchool,NUDT.Spring,20135Low-LevelVMMOperations(1)复用(CourtesyofMendelRosenblum,2006)ComputerSchool,NUDT.Spring,20136Low-LevelVMMOperations(2)挂起(CourtesyofMendelRosenblum,2006)ComputerSchool,NUDT.Spring,20137Low-LevelVMMOperations(3)供应(恢复)(CourtesyofMendelRosenblum,2006)ComputerSchool,NUDT.Spring,20138Low-LevelVMMOperations(4)动态迁移(CourtesyofMendelRosenblum,2006)ComputerSchool,NUDT.Spring,20139指令集体系结构级:代码解释和动态二进制翻译硬件抽象级:虚拟化一个计算机硬件资源操作系统级:在单一物理服务器上创建隔离的容器和操作系统实例库支持级:库接口的虚拟化应用程序级:进程级虚拟化、高级语言(HighLevelLanguage,HLL)虚拟机ComputerSchool,NUDT.Spring,201310VirtualizationatISAlevel:EmulatingagivenISAbytheISAofthehostmachine.Forexample,MIPSbinarycodecanrunonanx-86-basedhostmachinewiththehelpofISAemulation.Typicalsystems:Bochs,Crusoe,Quemu,BIRD,DynamoAdvantage:Itcanrunalargeamountoflegacybinarycodeswrittenforvariousprocessorsonanygivennewhardwarehostmachines;bestapplicationflexibilityShortcoming&limitation:Onesourceinstructionmayrequiretensorhundredsofnativetargetinstructionstoperformitsfunction,whichisrelativelyslow.V-ISArequiresaddingaprocessor-specificsoftwaretranslationlayerinthecomplier.ComputerSchool,NUDT.Spring,201311VirtualizationatHardwareAbstractionlevel:Virtualizationisperformedrightontopofthehardware.ItgeneratesvirtualhardwareenvironmentsforVMs,andmanagestheunderlyinghardwarethroughvirtualization.Typicalsystems:VMware,VirtualPC,Denali,XenAdvantage:hashigherperformanceandgoodapplicationisolationShortcoming&limitation:veryexpensivetoimplement(complexity)ComputerSchool,NUDT.Spring,201312VirtualizationatOperatingSystemlevel:ItisanabstractionlayerbetweentraditionalOSanduserplacations.ThisvirtualizationcreatesisolatedcontainersonasinglephysicalserverandtheOS-instancetoutilizethehardwareandsoftwareindatacenters.Typicalsystems:Jail/VirtualEnvironment/Ensim'sVPS/FVMAdvantage:haveminimalstarup/shutdowncost,lowresourcerequirement,andhighscalability;synchronizeVMandhoststatechanges.Shortcoming&limitation:allVMsattheoperatingsystemlevelmusthavethesamekindofguestOS;poorapplicationflexibilityandisolation.ComputerSchool,NUDT.Spring,201313LibrarySupportlevel:ItcreatesexecutionenvironmentsforrunningalienprogramsonaplatformratherthancreatingVMtoruntheentireoperatingsystem.ItisdonebyAPIcallinterceptionandremapping.Typicalsystems:Wine,WAB,LxRun,VisualMainWinAdvantage:IthasverylowimplementationeffortShortcoming&limitation:poorapplicationflexibilityandisolationComputerSchool,NUDT.Spring,201314User-Applicationlevel:Itvirtualizesanapplicationasavirtualmachine.ThislayersitsasanapplicationprogramontopofanoperatingsystemandexportsanabstractionofaVMthatcanrunprogramswrittenandcompiledtoaparticularabstractmachinedefinition.Typicalsystems:JVM,NETCLI,PanotAdvantage:hasthebestapplicationisolationShortcoming&limitation:lowperformance,lowapplicationflexibilityandhighimplementationcomplexity.ComputerSchool,NUDT.Spring,201316VMM的设计需求和提供商硬件级虚拟化在真实硬件和传统操作系统之间插入一层软件,该层软件通常称为虚拟机监视器(VMM)对VMM有三个需求。第一,VMM应该为程序提供与原始硬件机器基本一致的环境;第二,运行在该环境中的程序的性能损失应较低;第三,系统资源应处于VMM的完全控制之中。由VMM完全控制这些资源包括以下方面:(1)VMM负责为应用程序分配硬件资源;(2)程序不能访问任何未分配给它的资源;(3)在某些情况下,VMM可以获得对已分配资源的控制权。MajorVMMandHypervisorProvidersComputerSchool,NUDT.Spring,201318操作系统级的虚拟化支持操作系统级虚拟化在一个操作系统中插入一个虚拟化层来划分机器的物理资源。它使得在一个操作系统内核中可以同时运行多个隔离的虚拟机。这种虚拟机也称为VE(VirtualExecutionEnvironment)、VPS(VirtualPrivateSystem,虚拟专用系统)或容器。从用户的视角来看,VE就像真实服务器。VE有自己的进程、文件系统、用户账号、带有IP地址的网络接口、路由表、防火墙规则及其他个人设置。尽管VE可为不同用户分别定制,但它们仍共享同一个操作系统内核。因此,操作系统级虚拟化也称为单操作系统镜像虚拟化。VirtualizationforLinuxandWindowsNTPlatformsComputerSchool,NUDT.Spring,201320ComputerSchool,NUDT.Spring,201321虚拟化的中间件支持ComputerSchool,NUDT.Spring,201322图3.4vCUDA结构的基本概念ComputerSchool,NUDT.Spring,2013233.2虚拟化的结构/工具与机制hypervisor与Xen体系结构图3-5Xen体系结构用于控制和I/O的特殊零域并用于用户应用程序的客户域ComputerSchool,NUDT.Spring,201324Xen是一个由剑桥大学开发的开源hypervisor程序。Xen属于微内核hypervisor提供了一种客户操作系统可以直接访问物理设备的机制Xen提供了一个处于硬件和操作系统之间的虚拟环境Xen系统的核心组件是hypervisor、内核和应用程序具有控制特权的客户操作系统称为Domain0,其他客户操作系统则称为DomainUDomain0被首先启动。Domain0可以直接访问硬件和管理设备。因此,Domain0的一个任务是为所有DomainU分配和映射硬件资源ComputerSchool,NUDT.Spring,201325全虚拟化的二进制翻译根据实现技术的不同,硬件虚拟化可以分为:全虚拟化和基于主机的虚拟化。全虚拟化不需要修改主机操作系统。它依赖于二进制翻译来陷入和虚拟化一些敏感、不可虚拟化的指令的执行。客户操作系统和它们的应用由非临界和临界指令构成。在基于主机的系统虚拟化中,主机操作系统和客户操作系统同时存在,虚拟化软件层处于两者之间。该主机操作系统仍旧负责管理硬件。客户操作系统安装并运行在虚拟化层之上。特定的应用可运行在虚拟机中。ComputerSchool,NUDT.Spring,201326图3-6复杂指令的间接执行,即使用VMM二进制翻译客户操作系统请求,并在同一台主机上直接执行简单指令ComputerSchool,NUDT.Spring,201327编译器支持的半虚拟化技术半虚拟化需要修改客户操作系统。半虚拟化虚拟机在用户程序中提供了特殊的API,要求真正修改操作系统。图3-7半虚拟化的虚拟机体系结构,其中包括为执行虚拟化进程而修改客户操作系统内核,将不可虚拟化的指令替换为对hypervisor或VMM的超级调用ComputerSchool,NUDT.Spring,201328图3-8半虚拟化的客户操作系统,由智能编译器辅助将不可虚拟化的操作系
本文标题:虚拟机和集群与数据中心虚拟化.
链接地址:https://www.777doc.com/doc-1655131 .html