《虚拟化技术与应用》 课件 01-云计算与虚拟化概述;02-虚拟化实现技术_第1页
《虚拟化技术与应用》 课件 01-云计算与虚拟化概述;02-虚拟化实现技术_第2页
《虚拟化技术与应用》 课件 01-云计算与虚拟化概述;02-虚拟化实现技术_第3页
《虚拟化技术与应用》 课件 01-云计算与虚拟化概述;02-虚拟化实现技术_第4页
《虚拟化技术与应用》 课件 01-云计算与虚拟化概述;02-虚拟化实现技术_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

云计算与虚拟化概述学习云计算的知识了解虚拟化的基础概念教学目标目录云计算基础概述虚拟化的认识云计算基础概述中国云计算的发展阶段竞争阶段中国云计算巨头在竞争中取得发展,比如阿里与腾讯的竞争,阿里云AWS的竞争等等。攻坚与并起阶段2012年攻坚阶段主要出现了像大规模算力无法调度的问题,但是2013年阿里首次也突破了5K的算力瓶颈,国内很多厂商都进军云计算,比如金山云、青云等等,中国云计算市场走向繁荣。萌发阶段阿里云飞天系统发布,引起了国内其他IT厂商的关注,华为正式公布云计算战略等等。加速阶段这是云计算发展最快的一年阿里、腾讯、华为、深信服、金山云等等厂商加速发展,华为也是这一时期成立了华为云业务部门。初生阶段网购的蓬勃发展导致了庞大的数据处理,传统的架构容易出现性能瓶颈促进云计算业务的发展。成熟阶段资本助力云计算的发展,阿里、腾讯、华为在中国市场逐渐成长,并且向海外探索,行成了后来者居上的态势。中国云计算发展阶段20082009201020122013201520172018质疑阶段关于云计算有很多话题,比如“云计算只是新瓶装旧酒”、“云计算是比较技术型的内容”、“比较超前的概念”等等。云计算基础概述云计算的优势无处不在的网络接入通过互联网获取各种能力,并可以通过标准方式访问按需自助服务使用者可以按需部署处理能力与位置无关的资源池供应商的计算资源被集中,根据客户需求动态分配资源池按使用付费能力的收费是基于计量的一次一付,或基于广告的收费模式,以促进资源的优化利用快速弹性伸缩可以迅速、弹性地提供能力,对客户来说,可以租用的资源看起来似乎是无限的,并且可在任何时间购买任何数量的资源。企业计算模式演进趋势服务运维应用软件中间件系统软件服务器存储网络IBMDECSUN大型机、小型机1955-19801980-2010PC+服务器MSOffice,SAP,…EDS,Anderson,…Oracle,IBM,…Linux,UNIX,Win…IBM,HP,DELL,…EMC,NetApp,…Cisco,Huawei,……合分MSOffice,SAP,SalesforceAccenture,Infosys,HPOracle,IBM,Linux,UNIX,Win2010以后云IBM,Cisco,Oracle,EMC,合云计算基础概述云计算基础概述云计算的定义美国国家标准与技术研究院(NIST)定义:云计算是一种模型,它可以实现随时随地、便捷地、随需应变地从可配置计算资源共享池中获取所需的资源(例如,网络、服务器、存储、应用、及服务),资源能够快速供应并释放,使管理资源的工作量和与服务提供商的交互减小到最低限度。Cloudcomputingisamodelforenablingubiquitous,convenient,on-demandnetworkaccesstoasharedpoolofconfigurablecomputingresources(e.g.,networks,servers,storage,applications,andservices)thatcanberapidlyprovisionedandreleasedwithminimalmanagementeffortorserviceproviderinteraction.按需自助服务(On-demandSelf-service)广泛网络接入(BroadNetworkAccess)资源池化(ResourcePooling)快速弹性伸缩(RapidElasticity)可计量服务(MeasuredService)云计算特点云计算基础概述云计算基础概述怎么去理解云计算?云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源或信息资源可以按需的提供给计算机或其它设备。云计算依赖资源的共享以达成经济规模,类似基础设施。通俗来说,云计算是一种可以让我们使用计算机资源(计算服务、存储服务、网络服务…)像使用水、电资源一样按照使用量付费的模式,这种模式可以让我们便捷、快速的使用这些资源,只投入少量管理工作或与服务进行很少的交互。云计算基础概述云计算的典型应用01020304云存储通过虚拟化技术整合网络中多种存储设备对外提供云存储服务云桌面用户无需任何硬件或主机,仅在终端登录,按需付费行业云与政务云由行业内或者区域内的组织建立和维护云资源,向公众提供有偿或者无偿的云服务。政务云是行业云的一种。云文档云文档是可以直接在网络上进行编辑和预览的Office办公软件云计算基础概述云计算的部署模型公有云私有云云计算基础概述云计算的服务模式应用程序数据运行环境中间件操作系统虚拟化计算资源存储资源网络资源InfrastructurePlatformSoftware应用程序数据运行环境中间件操作系统虚拟化计算资源存储资源网络资源传统模式自营应用程序数据运行环境中间件操作系统虚拟化计算资源存储资源网络资源IaaS自营应用程序数据运行环境中间件操作系统虚拟化计算资源存储资源网络资源PaaS自营应用程序数据运行环境中间件操作系统虚拟化计算资源存储资源网络资源SaaS云服务商提供云服务商提供云服务商提供分层云计算服务模式云计算基础概述云计算安全云计算作为新兴的计算服务模式,以共享的方式有效的提高了设备的使用率,大量的数据信息在在整个云计算系统中互相交叉。因此,云计算安全是一个具有挑战性的问题。账户、服务和通信劫持云计算系统中,一旦身份验证机制薄弱,很有可能导致云计算系统受到入侵威胁数据丢失云计算系统中,用户权限设置不当、数据存储或者管理不严格,都会造成云计算系统中数据安全性控制力度不够网络病毒与传统系统相比,云计算系统中,用户、数据更加集中,更容易成为黑客攻击的目标不安全的应用程序接口租户在云计算系统上部署自己开发的应用程序,并提供对外提供访问入口,若租户或者企业在接口审核过程中不严格,将会造成云计算系统的风险云计算安全问题目录云计算基础概述虚拟化的认识虚拟化技术的基础虚拟化技术的定义从广义上理解,虚拟化技术是一种IT资源管理、优化技术,将计算机上的各种资源(如:CPU、内存、存储空间、网络适配器等)进行抽象、转换,分配给一个或者多个虚拟计算环境去使用,实现IT资源的动态分配、灵活调度和跨域共享,从而提高IT资源利用率。从狭义上理解,虚拟化技术是将一台计算机虚拟为多台逻辑计算机,在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机都是独立的,它们的工作互不影响,从而提高计算机的工作效率。虚拟化技术的基础虚拟化技术的作用虚拟化将软硬件解耦,将内存、CPU、网卡等计算资源,通过软件抽象后提供给虚拟机使用,极大的提升了资源利用率以及灵活度。虚拟化前OSAPP将软件和硬件解耦合逻辑抽象出硬件资源、可灵活调配软件必须与硬件结合资源利用率低、灵活性受限于物理硬件虚拟化后OSAPPAPPOSHypervisor虚拟化技术的基础使用虚拟化技术,将多台服务器的应用整合到一台服务器上的多个虚拟机上运行计算虚拟化提高了服务器资源的利用率,安全可靠地降低了数据中心TCO一台服务器虚拟化整合五个应用的CPU利用率System5System4System3System2System1SystemOSApp1虚拟化技术OSApp2OSApp3OSApp4OSApp5OSApp1OSApp2OSApp3OSApp4虚拟化技术的基础虚拟化技术的好处提高资源利用率灵活性和可扩展性可靠性和安全性运维管理效率虚拟化技术的基础虚拟化的技术发展20世纪60年代20世纪80年代20世纪90年代19992014-2015VMware推出了针对X86系统的虚拟化技术,旨在解决传统IT架构的难题Windows和Linux的广泛使用奠定了X86服务器行业标准的地位,但是X86服务器和桌面部署的增长带来了新的IT基础架构和运作难题

由于C/S应用程序以及价格低廉的X86服务器和台式机成就了分布式计算技术,虚拟化技术实际上已被人们弃用

IBM率先实施虚拟化,对大型机进行逻辑分区以形成若干独立虚拟机全球很多巨头公司都开始考虑虚拟化。红帽、思杰、微软、VMware都在各自的虚拟化层中实现了CPU和内存的虚拟化

虚拟化技术的基础硬件虚拟化发展历史19世纪60年代1998年VMware公司成立1999年开始销售VmwareWorkstation2001年Vmware发行了ESX和GSX

T苹果公司开发了VirtualPC,之后卖给了Connectix公司

T1987年InsigniaSolutions公布了软件模拟器SoftPC1989年InsigniaSolutions发布了Mac版SoftPC

T美国出现第一个由IBM开发的CP-40Mainframes系统微软收购Connectix后推出MicrosoftVirtualPCVMware被EMC收购开源虚拟化Xen项目启动

T1987-198919971998-20012003虚拟化技术的基础操作系统虚拟化发展历史1982LXC发布,即Docker最初使用到的容器核心技术

OpenVZ在Linux平台上实现容器技术

第一个功能完整的操作系统级虚拟化技术FreeBSDjail出现

直到现在依然使用的系统调用chroot,作为第一个操作系统级虚拟化技术出现

Docker发布,本身基于LXC,同时封装了一些其他功能

2000200520082013虚拟化的几个概念GuestOS:

运行在虚拟机之上的操作系统GuestMachine:

虚拟出来的虚拟机Hypervisor(VirtualMachineMonitor):

虚拟化软件层/虚拟机监控器HostOS:

运行在物理机之上的OSHostMachine:

物理机硬件HostMachine虚拟机监控器Hypervisor虚拟机GuestMachine虚拟机GuestMachine操作系统GuestOS操作系统GuestOS物理机虚拟化技术的分类虚拟化技术经过数十年的发展,已经成为一个庞大的技术家族,其技术种类繁多,实现的应用也自成体系。按虚拟化实现机制分类按虚拟化实现方法分类按虚拟化应用领域分类按虚拟化架构模型分类虚拟化技术分类虚拟化技术的分类按虚拟化实现方法分类分类标准:虚拟化层是通过软件辅助还是硬件辅助的方式提供对真实物理资源的“访问拦截并重定向”。软件辅助的虚拟化硬件支持的虚拟化分类虚拟化技术的分类软件辅助虚拟化软件辅助虚拟化指通过软件让客户机的特权指令陷入异常,从而触发宿主机进行虚拟化处理,实现对真实物理资源的截获与处理。QEMU通过软件的方式仿真x86平台处理器的取指、解码和执行VmwareWorkstation一款软件虚拟机工具,VMM运行在受控范围内,客户机指令在真实的物理平台上直接运行;若不在VMM受控范围内,这些客户机指令将会被替换后运行。常见软件虚拟化工具虚拟化技术的分类软件辅助虚拟化优势与劣势成本低廉部署方便管理维护简单增加额外的开销客户操作系统受到虚拟环境的限制增加了复杂性ABCDEF优势劣势虚拟化技术的分类硬件支持虚拟化概念:通过物理平台本身提供的特殊指令,实现对真实物理资源的获取与模拟的硬件支持。Intel的IntelVT-xAMD的AMD-V典型的硬件支持虚拟化技术虚拟化技术的分类相比软件辅助虚拟化来说,硬件支持虚拟化优势也很明显优势一:性能上的优势在基于CPU的虚拟化解决方案中,虚拟化监视器提供了一个全新的虚拟化架构,支持虚拟化的操作系统直接在CPU上运行,而不需要进行额外的二进制转换,减少了相关的性能开销。优势二:提供多操作系统的支持在基于CPU等硬件的虚拟化解决方案中,除了能够支持32位的操作系统之外,还能支持64位操作系统。这使得很多管理员在测试应用程序在64位操作系统上的稳定性和兼容性时,避免了额外的投资。虚拟化技术的分类按虚拟化实现机制分类半虚拟化通过对客户操作系统内核进行修改,加入特定的虚拟化指令,可以使用这些指令直接通过VMM层调用硬件资源,免除由VMM层转换指令造成的性能开销。典型应用:Xen全虚拟化客户机操作系统是不需要做任何修改的,客户机操作系统与底层硬件完全隔离,由VMM转化成虚拟客户操作系统对底层硬件的调用代码,具备良好的兼容性。典型应用:KVM、

VMwareWorkstation、

VMwarevSphere、Xen的3.0以上版本分类虚拟化技术的分类按虚拟化架构模型分类又称Hypersior型架构,硬件资源之上没有操作系统,直接使用VMM管理硬件。裸机架构

混合架构是综合上述两种架构的虚拟化技术。混合架构硬件资源之上有个普通的操作系统,该操作系统安装在裸机上,负责硬件设备的管理。宿主架构虚拟化技术的分类裸机架构与宿主架构示意图硬件虚拟机监视器(VMM)操作系统应用操作系统应用裸机架构示意图操作系统虚拟机监视器(VMM)操作系统应用操作系统应用硬件宿主架构架构示意图虚拟化技术的分类按虚拟化应用领域分类A服务器虚拟化B存储虚拟化C应用程序虚拟化F网络虚拟化E桌面虚拟化D平台虚拟化虚拟化技术的分类理解服务器虚拟化服务器虚拟化将一个物理或逻辑服务器划分成若干个,通过在硬件和操作系统之间引入虚拟化层(VMM或者Hypervisor)实现硬件与操作系统的解耦,虚拟化层使每个虚拟机得到一套独立的模拟出的硬件设备。服务器虚拟化的两种架构:宿主架构和裸机架构理解存储虚拟化存储虚拟化通过大规模的RAID(磁盘阵列)子系统和多个I/O通道将异构的存储资源连接到服务器上,并形成统一的存储池,按需分配给用户使用。优点:存储设备管理员对设备有完全的控制权,而且通过与服务器系统分开,可以将存储管理与多种服务器操作系统隔离,并且很容易地调整硬件参数。虚拟化技术的分类应用程序虚拟化把应用程序对底层系统和硬件的依赖抽象出来,从而解除应用程序与操作系统和硬件的耦合关系。平台虚拟化集成各种开发资源虚拟出的一个面向开发人员的统一接口,软件开发人员可以很方便地在这个虚拟平台中开发各种应用并嵌入到云计算系统中,使其成为新的云服务供用户使用。虚拟化技术的分类桌面虚拟化将用户的桌面环境与所使用的终端设备解耦,服务器上存放的是每个用户的完整桌面环境,用户可以使用不同的终端设备通过网络访问该环境。网络虚拟化可以将多台网络设备进行横向整合连接,在逻辑上组成一个“逻辑设备”,这个逻辑设备可以看作单一设备进行管理和使用,使得管理、配置简单化,可以跨设备链路聚合,极大简化网络架构,同时进一步增加冗余可靠性,提高网络资源利用率。目录虚拟化的分类概述云计算与虚拟化的关系云计算与虚拟化的关系虚拟化是一种概念,也可以理解为一种技术,从根本上来讲虚拟化技术是将各种计算及存储资源充分整合和高效利用的关键技术,目的是实现硬件资源的充分利用。云计算是一种商业模型,是一种服务模式,能帮助用户通过网络随时随地获取灵活的IT资源,并按需使用,按量付费,从而让用户降低IT成本并专注于核心业务。云计算与虚拟化的关系云计算的基础知识认识虚拟化总结计算虚拟化虚拟化关键技术介绍了解计算虚拟化的分类完成计算虚拟化的学习教学目标CPU虚拟化内存虚拟化I/O虚拟化目录计算虚拟化CPU虚拟化内存虚拟化I/O虚拟化CPU虚拟化:目标是使虚拟机上的指令能被正常执行,且效率接近物理机。CPU虚拟化需要解决两个问题如何模拟CPU指令(所有敏感指令)敏感指令:可以读写系统关键资源的指令叫做敏感指令。特权指令:决大多数的敏感指令是特权指令,特权指令只能在处理器的最高特权级(内核态)执行。如何让多个VM共享CPU利用与Native操作系统类似的机制—通过定时器中断,在中断触发时陷入VMM,从而根据调度机制进行调度。CPU虚拟化原理-虚拟化问题aSV计算虚拟化技术采用的是KVM技术。KVM的CPU虚拟化是基于CPU辅助的全虚拟化方案,它需要CPU虚拟化特性的支持。CPU虚拟化X86硬件结构OS

(kernel)用户应用程序Ring2Ring1Ring0Ring3没有虚拟化X86硬件结构VMMGuestOS用户应用程序Ring2Ring1Ring0Ring3基于二进制翻译的全虚拟化X86硬件结构VMMGuestOS用户应用程序Ring2Ring1Ring0Ring3硬件辅助全虚拟化root模式用户指令捕获翻译模拟用户指令非root模式虚拟机VM共享CPU利用与原始操作系统类似的机制—通过定时器中断,在中断触发时陷入VMM,从而根据调度机制进行调度。虚拟机共享CPUioctl返回VMentryKVMKernel模式根模式,特权级0客户虚拟机VMexitVCPU创建/初始化VCPU运行/退出处理I/O操作I/O操作模拟非I/O操作退出处理QemuUser模式根模式,特权级3客户虚拟机Guest模式非根模式ioctlioctlioctl返回VCPU创建/初始化VCPU运行/退出处理LightweightexitHeavyweightexitCPU与vCPU对应关系PHYkernel01PHYkernel02PHYkernel03PHYkernel1xPHYkernel1xPHYkernel1xSuperThreadSuperThreadSuperThreadSuperThreadvCPUvCPUvCPUvCPUSuperThreadSuperThreadvCPUvCPU……CPU虚拟化内存虚拟化I/O虚拟化目录计算虚拟化内存虚拟化:目标是能做好虚拟机内存空间之间的隔离,使每个虚拟机都认为自己拥有了整个内存地址,且效率也能接近物理机。CPU虚拟化内存虚拟化I/O虚拟化Native操作系统对内存的认识与管理达成以下两点认识:内存都是从物理地址0开始的内存都是连续的内存虚拟化需要解决两个的问题:从物理地址0开始的:物理地址0只有一个,无法同时满足所有客户机从0开始的要求;地址连续:虽然可以分配连续的物理地址,但是内存使用效率不高,缺乏灵活性。内存虚拟化问题内存虚拟化:把物理机的真实物理内存统一管理,包装成多个虚拟机的内存给若干虚拟机使用。KVM通过内存虚拟化共享物理系统内存,动态分配给虚拟机。内存虚拟化(1)VM1VM2GuestVirtualAddressGuestPhysicalAddressHostVirtualAddressGVAGPAHVAKVM中,虚机的物理内存即为qemu-kvm进程所占用的内存空间。KVM使用CPU辅助的内存虚拟化方式。在Intel平台,其内存虚拟化的实现方式为EPT

(ExtendedPageTables)技术。内存虚拟化(2)虚拟地址

GVA客户机物理地址

GPA物理机真实地址

HPA物理机虚拟地址

HVACPU查找、映射由于宿主机MMU不能直接装载客户机的页表来进行内存访问,所以当客户机访问宿主机物理内存时,需要经过多次地址转换。也即首先根据客户机页表把客户机虚拟地址(GVA)转换成客户机物理地址(GPA),然后再通过客户机物理地址(GPA)到宿主机虚拟地址(HVA)之间的映射转换成宿主机虚拟地址,最后再根据宿主机页表把宿主机虚拟地址(HVA)转换成宿主机物理地址(HPA)。而通过影子页表,则可以实现客户机虚拟地址到宿主机物理地址的直接转换。Intel的CPU提供了EPT

(ExtendedPageTables,扩展页表)技术,直接在硬件上支持GVA->GPA->HPA的地址转换,从而降低内存虚拟化实现的复杂度,也进一步提升内存虚拟化性能。影子页表透明大页(THP)页大小2M对使用者完全透明,不依赖任何库大小页混合THP大页透明提高TLB命中率减少访存时间申请大内存区,效率更高访问大内存去,减少页表项大小提高CPUCache效率兼容ksm,swap需要共享或swap时拆分成4K大小页面兼容EPT/NPT,兼容影子页表CPU虚拟化内存虚拟化I/O虚拟化目录计算虚拟化目标是不仅让虚拟机访问到他们所需要的I/O资源,而且要做好它们之间的隔离工作,更重要的是减轻由于虚拟化所带来的开销。CPU虚拟化内存虚拟化I/O虚拟化I/O虚拟化需要解决两个问题设备发现:需要控制各虚拟机能够访问的设备;访问截获:通过I/O端口或者MMIO对设备的访问;设备通过DMA与内存进行数据交换;I/O虚拟化问题I/O虚拟化可以被看作是位于服务器组件的系统和各种可用I/O处理单元之间的硬件中间件层,使得多个guest可以复用有限的外设资源。设备虚拟化(I/O虚拟化)的过程,就是模拟设备的这些寄存器和内存,截获GuestOS对IO端口和寄存器

温馨提示

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

评论

0/150

提交评论