收藏 分销(赏)

OpenStack云计算管理平台项目教程整本书教学教程电子教案(.pptx

上传人:快乐****生活 文档编号:10093750 上传时间:2025-04-21 格式:PPTX 页数:296 大小:4.81MB
下载 相关 举报
OpenStack云计算管理平台项目教程整本书教学教程电子教案(.pptx_第1页
第1页 / 共296页
OpenStack云计算管理平台项目教程整本书教学教程电子教案(.pptx_第2页
第2页 / 共296页
OpenStack云计算管理平台项目教程整本书教学教程电子教案(.pptx_第3页
第3页 / 共296页
OpenStack云计算管理平台项目教程整本书教学教程电子教案(.pptx_第4页
第4页 / 共296页
OpenStack云计算管理平台项目教程整本书教学教程电子教案(.pptx_第5页
第5页 / 共296页
点击查看更多>>
资源描述

1、OpenStack,云计算管理平台项目教程,高等职业技术教育计算机相关专业,目,录,项目,1,OpenStack,云计算基础,1.1,项目陈述,1.2,必备知识,1.3,项目实施,【学习目标】,了解云计算的起源以及云计算的基本概念。,理解虚拟化技术的基本概念以及,OpenStack,所支持的虚拟化技术。,了解,OpenStack,的起源以及版本演变。,理解,OpenStack,的架构。,掌握,VMware Workstation,以及虚拟机的安装方法。,项目,1,OpenStack,云计算基础,OpenStack,是云操作系统,用于部署云计算平台,学习,OpenStack,首先需要了解云计算

2、的基本知识,理解相关理论与概念。在本书开始编写之时,,OpenStack,已经发布了自己的第,21,个版本,即,Ussuri,版,而距,OpenStack,发布第,1,个版本,Austin,项目也才仅仅,10,年,可见,OpenStack,的发展是非常迅速的,当然它的发展离不开各大厂商的支持,也受当前社会经济发展驱动,下面我们就开始揭开神秘的,OpenStack,的面纱。,1.1,项目陈述,1.2.1,云计算概述,云计算提供的计算机资源服务是与水、电、煤气和电话类似的公共资源的服务。亚马逊云计算服务(,Amazon Web Services,,,AWS,)是提供专业的云计算服务,于,2006,

3、年推出,以,Web,服务的形式向企业提供,IT,基础设施服务,通常称为云计算,其主要优势之一是能够以根据业务发展来扩展较低可变成本来替代前期资本基础设施费用,它已成为公有云的事实标准,而,OpenStack,是开源云计算管理平台的一面旗帜,也已经成为开源云架构的事实标准。,1.2,必备知识,1.,云计算的起源,图,1.1,云计算的演变,1959,年克里斯托弗斯特雷奇(,Christopher Strachey,)提出虚拟化的基本概念,,2006,年,3,月,亚马逊公司首先提出弹性计算云服务,,2006,年,8,月,,Google,首席执行官埃里克施密特(,Eric Schmidt,)在搜索引擎

4、大会首次提出“云计算(,Cloud Computing,)”的概念,从那时候起,云计算开始受到关注,这也标志着云计算的诞生。,2010,年工信部联合发改委联合印发关于做好云计算服务创新发展试点示范工作的通知,到,2015,年工信部关于印发云计算综合标准化体系建设指南的通知,云计算由最初的美好愿景到概念落地,目前已经进入到广泛应用阶段。,云计算经历了集中时代向网络时代转变,最终向分布式时代转换,在分布式基础之上形成了云时代,如图,1.1,所示。,2.,云计算的基本概念,相信读者都听到过阿里云、华为云、百度云、腾讯云等,那么到底什么是云计算?云计算又能做什么呢?云计算(,cloud computi

5、ng,)是一种基于网络的超级计算模式,基于用户的不同需求提供所需要的资源,包括计算资源、网络资源、存储资源等。云计算服务通常运行在若干台高性能物理服务器之上,提供每秒,10,万亿次的运算能力,可以用来模拟核爆炸、预测气候变化以及市场发展趋势等。,(,1,)云计算的定义。,云计算将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和各种软件服务,这种资源池称为“云”。“云”是一些可以自我维护和管理的虚拟计算资源,通常为一些大型服务器集群,包括计算服务器、存储服务器、宽带资源等,云计算将所有的计算资源集中起来,并由软件实现自动管理,无需人为参与。之所以称为“云”

6、是因为它在某些方面具有现实中云的特征:云一般都较大;云的规模可以动态伸缩,它的边界是模糊的;云在空中飘忽不定,你无法也无需确定它的具体位置,但它确实存在于某处。,2.,云计算的基本概念,云计算有狭义和广义之分。,狭义上讲,“云”实质上就是一个网络,云计算就是一种提供资源的网络,包括硬件、软件和平台,使用者可以随时获取“云”上的资源,按需求量使用,并且可以看成是无限扩展的,只要按使用量付费就可以,云都可以提供,“云”就像自来水厂一样,我们可以随时接水,并且不限量,按照自己家的用水量,付费给自来水厂就可以,在用户看来,水的资源是无限的。,广义上说,云计算是与信息技术、软件、互联网相关的一种服务,

7、是通过网络以按需、易扩展的方式获得所需要的服务,这种计算资源共享池叫做“云”,云计算把许多计算资源集合起来,通过软件实现自动化管理,只需要很少的人参与,就能让资源被快速提供。也就是说,计算能力作为一种商品,可以在互联网上流通,就像水、电、煤气一样,可以方便地取用,且价格较为低廉,这种服务可以是与,IT,和软件、互联网相关的,也可以是任意其他的服务。,2.,云计算的基本概念,总之,云计算不是一种全新的网络技术,而是一种全新的网络应用概念,云计算的核心概念就是以互联网为中心,在网站上提供快速且安全的云计算服务与数据存储,让每一个使用互联网的人都可以使用网络上的庞大计算资源与数据中心。,云计算是继互

8、联网、计算机之后信息时代一种新的革新,云计算是信息时代的一个巨大飞跃,未来的时代可能是云计算的时代,虽然目前有关云计算的定义有很多,但总体上来说,云计算虽然有许多的含义,但概括来说,云计算的基本含义是一致的,即云计算具有很强的扩展性和需要性,可以为用户提供一种全新的体验,云计算的核心是可以将很多的计算机资源协调在一起,因此,使用户通过网络就可以获取到无限的资源,同时获取的资源不受时间和空间的限制。,2.,云计算的基本概念,(,2,)云计算的服务模式。,云计算的服务模式由,3,部分组成,包括基础设施即服务(,Infrastructure as a Service,,,IaaS,)、平台即服务(,

9、Platform as a Service,,,PaaS,)和软件即服务(,Software as a Service,,,SaaS,),如图,1.2,所示。,图,1.2,云计算的服务模式,2.,云计算的基本概念,基础设施即服务,IaaS,。什么是基础设施呢?服务器,硬盘,网络带宽,交换机等等物理设备都是基础设施。云计算厂商购买服务器、硬盘、网络设施等等,搭建基础服务。我们便可以在云平台根据需求购买相应的计算能力内存空间,磁盘空间大小,网络带宽大小,搭建自己的云计算平台。这类云计算服务提供商典型的代表便是阿里云、腾讯云、华为云等。,优点:能够根据业务需求灵活配置所需,扩展伸缩方便。,缺点:开发

10、维护需要投入较多人力,专业性要求较高。,平台即服务,PaaS,。什么是平台呢?平台你可以理解成中间件,这类云计算厂商在基础设施上进行开发,搭建操作系统,提供一套完整的应用解决方案。开发大多数所需中间件服务,比如,Mysql,数据库服务、,RocketMQ,服务等等,无需深度开发,专注业务代码即可。典型的代表便是,Pivatol Clound Foundary,、,Google App Engine,等。,优点:无需开发中间件,所需及所用,能够快速使用。部署快速,减少人力投入。,缺点:灵活通用性较低,过度依赖平台。,2.,云计算的基本概念,软件即服务,SaaS,。软件及服务是大多数人每天都接触到

11、的,比如办公,OA,系统、腾讯公众号平台,,SaaS,可直接通过互联网为用户提供软件和应用程序的服务,用户通过租赁的方式获取安装在厂商或者服务供应商那里的软件。虽然这些服务是用于商用或者娱乐,但是它也属于云计算的一部分,一般面向对象是普通用户,最常见的模式是提供用户一组账号和密码。,优点:所见即所得,无需开发。,缺点:需定制,无法快速满足个性化需求。,IaaS,主要是对应基础设施,可实现底层资源虚拟化以及实际云应用平台部署,这是一个网络架构由规划架构到最终物理实现的过程;,PaaS,基于,IaaS,技术和平台,部署终端用户使用的应用或程序,提供对外服务的接口或者服务产品,最终实现整个平台的管理

12、和平台的可伸缩化;,SaaS,基于现成的,PaaS,的基础,作为终端用户的最后接触产品,完成现有资源的对外服务以及服务的租赁化。,2.,云计算的基本概念,(,3,)云计算的部署类型。,公有云:在此种模式下,应用程序、资源、存储和其他服务,都由云服务供应商来提供给用户,这些服务多半都是免费的,也有部分按需按使用量来付费,这种模式只能使用互联网来访问和使用。同时,这种模式在私人信息和数据保护方面也比较有保证。这种部署模型通常都可以提供可扩展的云服务并能高效设置。,私有云:这种云基础设施专门为某一个企业服务,不管是自己管理还是第三方管理,自己负责还是第三方托管,都没有关系。只要使用的方式没有问题,就

13、能为企业带来很显著的帮助。不过这种模式所要面临的是,纠正、检查等安全问题则需企业自己负责,否则出了问题也只能自己承担后果,此外,整套系统也需要自己出钱购买、建设和管理。这种云计算模式可广泛的产生正面效益,从模式的名称也可看出,它可以为所有者提供具备充分优势和功能的服务。,混合云:混合云是两种或两种以上的云计算模式的混合体,如公有云和私有云混合。他们相互独立,但在云的内部又相互结合,可以发挥出混合的多种云计算模型各自的优势,使用标准的或专有的技术将它们组合起来,具有数据和应用程序的可移植性。,2.,云计算的基本概念,(,4,)云计算的生态系统。,云计算的生态系统主要涉及硬件、软件、服务、网络和安

14、全,5,个方面,如图,1.3,所示。,硬件。云计算相关硬件包括服务器、存储设备、网络设备、数据中心成套装备以及提供和使用云服务的终端设备。,软件。云计算相关软件主要包括资源调度和管理系统、云平台软件和应用软件等。,服务。服务包括云服务和面向云计算系统建设应用的云支撑服务。,网络。云计算具有泛在网络访问特性,用户无论通过电信网、互联网或广播电视网,都能够使用云服务。,安全。云安全涉及服务可用性、数据机密性和完整性、隐私保护、物理安全、恶意攻击防范等诸多方面,是影响云计算发展的关键因素之一。,2.,云计算的基本概念,图,1.3,云计算的生态系统,1.2.2,虚拟化技术,虚拟化是指为运行的程序或软件

15、营造它所需要的执行环境,在采用虚拟化技术后,程序或软件的运行不再独享底层的物理计算资源,它只是运行在一个完全相同的物理计算资源中,而底层的影响可能与之前所运行的计算机结构完全不同。虚拟化的主要目的是对,IT,基础设施和资源管理方式的简化。虚拟化的消费者可以是最终用户、应用程序、操作系统、访问资源或与资源交互相关的其他服务。虚拟化是云计算的基础,虚拟化使得在一台物理服务器上可以运行多台虚拟机,虚拟机共享物理机的,CPU,、内存、,I/O,硬件资源,但逻辑上虚拟机之间是相互隔离的。,IaaS,是基础架构设施平台,可实现底层资源虚拟化,云计算、,OpenStack,都离不开虚拟化的内容,因为虚拟化是

16、云计算重要的支撑技术之一。,OpenStack,作为,IaaS,云操作系统,最主要的服务就是为用户提供虚拟机,在目前,OpenStack,实际应用中,主要使用,KVM,和,Xen,这两种,Linux,虚拟化技术。,1.2,必备知识,1,虚拟化的基本概念,(,1,)虚拟化定义。,虚拟化就是把物理资源转变为逻辑上可以管理的资源,以打破物理结构之间的壁垒,是在虚拟而不是真实的环境中运行,是一个为了简化管理、优化资源的解决方案。所有的资源都透明地运行在各种各样的物理平台上,资源的管理都将按逻辑方式进行,完全实现资源的自动化分配,而虚拟化技术就是实现它的理想工具。,虚拟化前。一台主机对应一个操作系统,后

17、台多个应用程序会对特定的资源进行争抢,存在相互冲突的风险;在实际情况下业务系统与硬件进行绑定,不能灵活部署;就数据的统计来说,虚拟化前的系统资源利用率一般只有,15%,左右。,虚拟化后。一台主机可以虚拟出多个操作系统,独立的操作系统和应用拥有独立的,CPU,、内存和,I/O,资源,相互隔离;业务系统独立于硬件,可以在不同的主机之间进行迁移;充分利用系统资源,对机器的系统资源利用率可以达到,60%,。,1,虚拟化的基本概念,(,2,)虚拟化体系结构。,虚拟化主要是指通过软件实现的方案,常见的虚拟化体系结构,如图,1.4,所示。这是一个直接在物理主机上运行虚拟机管理程序的虚拟化系统。在,X86,平

18、台虚拟化技术中,这个虚拟机管理程序通常被称为虚拟机监控器(,Virtual Machine Monitor,,,VMM,),又称为,Hypervisor,。它是运行在物理机和虚拟机之间的一个软件层,物理机被称为主机(,Host,),虚拟机被称为客户机(,Client,),中间软件层即,Hypervisor,。,图,1.4,虚拟化体系结构,1,虚拟化的基本概念,主机。指物理存在的计算机,又称宿主计算机。当虚拟机嵌套时,运行虚拟机的虚拟机也是宿主机,但不是物理机。主机操作系统是指宿主计算机的操作系统,在主机操作系统上安装的虚拟机软件可以在计算机模拟一台或多台虚拟机。,虚拟机。指在物理计算机上运行的

19、操作系统中模拟出来的计算机,又称客户机,理论上完全等同于实体的物理计算机,每个虚拟机都可以安装自己的操作系统或应用程序,并连接网络,运行在虚拟机的操作系统称为客户操作系统。,Hypervisor,基于主机的硬件资源给虚拟提供了一个虚拟的操作平台并管理每个虚拟机的运行,所有虚拟机独立运行并共享主机的所有硬件资源,,Hypervisor,就是提供虚拟机硬件模拟的专门软件,可分为两类:原生型和宿主型。,原生型(,Native,)。原生型又称为裸机型(,Bare-metal,),,Hypervisor,作为一个精简的操作系统(操作系统也是软件,只不过它是一个比较特殊的软件)直接运行在硬件之上以控制硬件

20、资源并管理虚拟机,比较常见的有,VMware ESXi,、,Microsoft Hyper-V,等。,宿主型(,Hosted,)。宿主型又称托管型,,Hypervisor,运行在传统的操作系统之上,同样可以模拟出一整套虚拟硬件平台,比较著名的有,VMware Workstation,、,Oracle Virtual Box,等。,从性能角度来看,无论原生型还是宿主型都会有性能损耗,但宿主型比原生型的损耗更大,所以企事业生产环境中基本使用的是原生型,Hypervisor,,宿主型的,Hypervisor,一般用于实验或测试环境中。,1,虚拟化的基本概念,(,3,)虚拟化分类。,虚拟化分类包括平台

21、虚拟化、资源虚拟化、应用程序虚拟化等。,平台虚拟化(,Platform Virtualization,),它是针对计算机和操作系统的虚拟化,又分成服务器虚拟化和桌面虚拟化。,1,、服务器虚拟化是一种通过区分资源的优先次序,并将服务器资源分配给最需要它们的工作负载的虚拟化模式,它通过减少为单个工作负载峰值而储备的资源来简化管理和提高效率。,如微软的,Hyper-V,、,Citrix,的,XenServer,、,VMware,的,ESXi,。,2,、桌面虚拟化是为提高人对计算机的操控力,降低计算机使用的复杂性,为用户提供更加方便适用的使用环境的一种虚拟化模式。,如微软的,Remote Deskto

22、p Services,、,Citrix,的,XenDesktop,、,VMware,的,View,。,平台虚拟化主要通过,CPU,虚拟化、内存虚拟化和,I/O,接口虚拟化来实现。,资源虚拟化(,Resource Virtualization,),针对特定的计算资源进行的虚拟化,例如,存储虚拟化、网络资源虚拟化等。存储虚拟化是指把操作系统有机地分布于若干内外存储器,两者结合成为虚拟存储器。网络资源虚拟化最典型的是网格计算,网格计算通过使用虚拟化技术来管理网络上的数据,并在逻辑上将其作为一个系统呈现给消费者,它动态地提供了符合用户和应用程序需求的资源,同时还将提供对基础设施的共享和访问的简化。当前

23、有些研究人员提出利用软件代理技术来实现计算网络空间资源的虚拟化。,1,虚拟化的基本概念,应用程序虚拟化(,Application Virtualization,),它包括仿真、模拟、解释技术等。,Java,虚拟机是典型的在应用层进行虚拟化。基于应用层的虚拟化技术,通过保存用户的个性化计算环境的配置信息,可以实现在任意计算机上重现用户的个性化计算环境。服务虚拟化是近年研究的一个热点,服务虚拟化可以使业务用户能按需快速构建应用的需求,通过服务聚合,可屏蔽服务资源使用的复杂性,使用户更易于直接将业务需求映射到虚拟化的服务资源。现代软件体系结构及其配置的复杂性阻碍了软件开发生命周期,通过在应用层建立

24、虚拟化的模型,可以提供最佳开发测试和运行环境。,1,虚拟化的基本概念,(,4,)全虚拟化与半虚拟化。,根据虚拟化实现技术的不同,虚拟化可分为全虚拟化和半虚拟化两种,其中,全虚拟化产品将是未来虚拟化的主流。,全虚拟化,(Full Virtualization),。,也称为原始虚拟化技术,用全虚拟化模拟出来的虚拟机中的操作系统是与底层的硬件完全隔离的,虚拟机中所有的硬件资源都通过虚拟化软件来模拟,包括处理器、内存和外设,支持运行任何理论上可在真实物理平台上运行的操作系统,为虚拟机的配置提供了较大的程序的灵活性,在客户操作系统看来,完全虚拟化的虚拟平台和现实平台是一样的,客户机操作系统察觉不到是运行

25、在一个虚拟平台上,这样的虚拟平台可以运行现有的操作系统,无须对操作系统进行任何修改,因此这种方式被称为完全虚拟化。全虚拟化的运行速度要快于硬件模拟,但是性能方面不如裸机,因为,Hypervisor,需要占用一些资源。,半虚拟化,(Para Virtualization),。,它是另一种类似于全虚拟化的技术,需要修改虚拟机中的操作系统来集成一些虚拟化方面的代码,以减小虚拟化软件的负载。半虚拟化模拟出来的虚拟机整体性能会更好一些,因为修改后的虚拟机操作系统承载了部分虚拟化软件的工作,不足之处是,由于要修改虚拟机的操作系统,用户会感知使用的环境是虚拟化环境,而且兼容性比较差,用户使用时比较麻烦,需要

26、获得集成虚拟化代码的操作系统。,2,虚拟化与云计算关系,云计算是很大很广泛的含义范畴,是中间件技术、分布式计算(网格计算)、并行计算、效用计算、网络存储、虚拟化和负载均衡等网络技术发展融合的产物。,虚拟化技术也不一定必须与云计算相关,如,CPU,虚拟化技术、虚拟内存等也属于虚拟化技术,但与云概念无关,如图,1.5,所示。,图,1.5,云计算与虚拟化的关系,2,虚拟化与云计算关系,(,1,)虚拟化技术的特征。,更高的资源利用率。,虚拟可支持实现物理资源和资源池的动态共享,提高资源利用率,特别是针对那些平均需求远低于需要为其提供专用资源的不同负载。,降低管理成本。,虚拟可通过以下途径提高工作人员的

27、效率:减少必须进行管理的物理资源的数量,;,隐藏物理资源的部分复杂性,;,通过实现自动化、获得更好的信息和实现中央管理来简化公共管理任务,;,实现负载管理自动化。另外,虚拟还可以支持在多个平台上使用公共的工具。,提高使用灵活性。,通过虚拟可实现动态的资源部署和重配置,满足不断变化的业务需求。,提高安全性。,虚拟可实现较简单的共享机制无法实现的隔离和划分,这些特性可实现对数据和服务进行可控和安全的访问。,更高的可用性。,虚拟可在不影响用户的情况下对物理资源进行删除、升级或改变。,更高的可扩展性。,根据不同的产品,资源分区和汇聚可支持实现比个体物理资源小得多或大得多的虚拟资源,这意味着您可以在不改

28、变物理资源配置的情况下进行规模调整。,互操作性和兼容性。,虚拟资源可提供底层物理资源无法提供的与各种接口和协议的兼容性。,改进资源供应。,与个体物理资源单位相比,虚拟能够以更小的单位进行资源分配。,2,虚拟化与云计算关系,(,2,)云计算的特征。,按需自动服务。,消费者不需要或很少需要云服务提供商的协助,就可以单方面按需获取云端的计算资源。例如,服务器、网络存储等资源是按需自动部署的,不需要与服务供应商进行人工交互。,广泛的网络访问。,消费者可以随时随地使用云终端设备接入网络并使用云端的计算资源。常见的云终端设备包括手机、平板、笔记本电脑、,PDA,掌上电脑和台式机等。,资源池化。,云端计算资

29、源需要被池化,以便通过多租户形式共享给多个消费者,也只有池化才能根据消费者的需求动态分配或再分配各种物理的和虚拟的资源。消费者通常不知道自己正在使用的计算资源的确切位置,但是在自助申请时允许指定大概的区域范围(比如在哪个国家、哪个省或者哪个数据中心)。,2,虚拟化与云计算关系,(,2,)云计算的特征。,快速弹性。,消费者能方便、快捷地按需获取和释放计算资源,也就是说,需要时能快速获取资源从而扩展计算能力,不需要时能迅速释放资源,以便降低计算能力,从而减少资源的使用费用。对于消费者来说,云端的计算资源是无限的,可以随时申请并获取任何数量的计算资源。但是我们一定要消除一个误解,那就是一个实际的云计

30、算系统不一定是投资巨大的工程,也不一定要购买成千上万台计算机,也不一定具备超大规模的运算能力。其实一台计算机就可以组建一个最小的云端,云端建设方案务必采用可伸缩性策略,刚开始时采用几台计算机,然后根据用户数量规模来增减计算资源。,按需按量可计费。,消费者使用云端计算资源是要付费的,付费的计量方法有很多,比如根据某类资源(如存储、,CPU,、内存、网络带宽等)的使用量和时间长短计费,也可以按照每使用一次来计费。但不管如何计费,对消费者来说,价码要清楚,计量方法要明确,而云服务提供商需要监视和控制资源的使用情况,并及时输出各种资源的使用报表,做到供需双方费用结算清楚明白。,3,OpenStack,

31、所支持的虚拟化技术,在,OpenStack,环境中,计算服务通过,API,服务器来控制虚拟机管理程序,它具备一个抽象层,可以在部署时选择一种虚拟化技术创建虚拟机,向用户提供云服务,,OpenStack,可用的虚拟化技术如下。,(,1,),KVM,。,基于内核的虚拟机(,Kernel-based Virtual Machine,,,KVM,)是通用的开放虚拟化技术,也是,OpenStack,用户使用较多的虚拟化技术,它支持,OpenStack,的所有特性。,(,2,),Xen,。,Xen,是部署快速、安全、开源的虚拟化软件技术,可使多个同样的操作系统或不同操作系统的虚拟机运行在同一主机上,,Xe

32、n,技术主要包括服务器虚拟化平台(,XenServer,)、云基础架构(,Xen Cloud Platform,)、管理,XenServer,和,XCP,的,API,程序(,XenAPI,)、基于,Libvert,的,Xen,。,OpenStack,通过,XenAPI,支持,XenServer,和,XCP,两种虚拟化技术,不过在,RHEL,等平台上,,OpenStack,使用的是基于基于,Libvert,的,Xen,。,3,OpenStack,所支持的虚拟化技术,(,3,)容器。,容器是在单一,Linux,主机上提供多个隔离的,Linux,环境的操作系统级虚拟化技术,不像基于虚拟管理程序的传统

33、虚拟化技术,容器并不需要运行专用的客户操作系统,目前的容器有以下两种技术。,Linux,容器(,Linux Container,,,LXC,)。提供了在单一可控主机节点上支持多个相互隔离的服务器容器同时执行的机制。,Docker,。一个开源的应用容器引擎,让开发者可以把应用以及依赖包打包到一个可移植的容器中,然后发布到任何流行的,Linux,平台上,利用,Docker,也可以实现虚拟化,容器完全使用沙箱机制,相互之间不会有任何接口。,Docker,的目的是尽可能减少容器中运行的程序,减少到只运行单个程序,并且通过,Docker,来管理这个程序,,LXC,可以快速兼容所有应用程序和工具以及任意管

34、理和编制层次,来替代虚拟机。,虚拟化管理程序提供更好的进程隔离,呈现一个完全的系统,,LXC/Docker,除了一些基本隔离,并末提供足够的虚拟化管理功能,缺乏必要的安全机制,基于容器的方案无法运行与主机内核不同的其他内核,也无法运行一个完全不同的操作系统,目前,OpenStack,社区对容器的驱动支持还不如虚拟化管理程序,在,OpenStack,项目中,,LXC,属于计算服务项目,Nova,,通过调用,Libvirt,来实现,,Docker,驱动是一种新加入虚拟化管理程序的驱动,目前无法替代虚拟化管理程序。,3,OpenStack,所支持的虚拟化技术,(,4,),Hyper-V,。,Hype

35、r-V,是微软推出的企业级虚拟化解决方案,,Hyper-V,的设计借鉴了,Xen,,管理程序采用微内核的架构,兼顾了安全性和性能要求,,Hyper-V,作为一种免费的虚拟化方案,在,OpenStack,中得到了很多支持。,(,5,),VMware ESXi,。,VMware,提供业界领先且可靠的服务器虚拟化平台和软件定义计算产品,其中,ESXi,虚拟化平台用于创建和运行虚拟机及虚拟设备,在,OpenStack,中它也得到了支持,但是如果没有,vCenter,和企业级许可,一些,API,的使用会受到限制。,(,6,),Baremetal,与,Ironic,。,有些云平台除了提供虚拟化和虚拟机服务

36、还提供传统的主机服务,在,OpenStack,中可以将,Baremetal,(裸金属)与其他部署有虚拟化管理程序的节点通过不同的计算池(,Availabity Zone,,可用区域)一起管理。,Baremetal,是计算服务的后端驱动,与,Libvirt,驱动、,VMware,驱动一样,只不过它是用来管理没有虚拟化的硬件,主要通过,PXE,和,IPMI,进行控制管理。,现在,Baremetal,已经由,Ironic,所替代,,Nova,管理的是虚拟机的生命周期,而,Ironic,管理的是主机的生命周期,,Ironic,提供了一系列管理主机的,API,接口,可以对“裸”操作系统的主机进行管理,

37、从主机上架安装操作系统到主机下架维修,可以像管理虚拟机一样的管理主机,创建一个,Nova,计算物理节点,只需告诉,Ironic,,然后自动地从镜像模板中加载操作系统到,nova-computer,安装完成即可。,Ironic,解决主机的添加、删除、电源管理、操作系统部署等问题,目标是成为主机管理的成熟解决方案,让,OpenStack,不仅可以在软件层面解决云计算问题,而且供应商可以对应自己的服务器开发,Ironic,插件。,4,基于,Linux,内核的虚拟化解决方案,KVM,是一种基于,Linux,的,X86,硬件平台开源全虚拟化解决方案,也是主流,Linux,虚拟化解决方案,支持广泛的客户机

38、操作系统,,KVM,需要,CPU,的虚拟化指令集的支持,如,Intel,的,Intel TV,(,vmx,指令集)或,AMD,的,AMD-V,(,svm,指令集)。,(,1,),KVM,模块。,KVM,模块是一个可加载的内核模块,kvm.ko,。由于,KVM,对,X86,硬件架构的依赖,因此,KVM,还需要一个处理规范模块,如果使用,Intel,架构,则加载,kvm-intel.ko,模块;如果使用,AMD,模块,则卡加载,kvm-adm.ko,模块。,KVM,模块负责对虚拟机的虚拟,CPU,和内存进行管理及调试,主要任务是初始化,CPU,硬件,打开虚拟化模式,然后将虚拟机运行在虚拟模式下,并

39、对虚拟机的运行提供一定的支持。,至于虚拟机的外部设备交互,如果是真实的物理硬件设备,则利用,Linux,系统内核来管理;如果是虚拟的外部设备,则借助于快速仿真(,Quick Emulator,,,QEMU,)来处理。,由此可见,,KVM,本身只关注虚拟机的调试和内存管理,是一个轻量级的,Hypervisor,,很多,Linux,发行版集成,KVM,作为虚拟化解决方案,,CentOS,也不例外。,4,基于,Linux,内核的虚拟化解决方案,(,2,),QEMU,。,KVM,模块本身无法作为一个,Hypervisor,模拟出一个完整的虚拟机,而且用户也不能直接对,Linux,内核进行操作,因此需要

40、借助其他软件来进行,,QEMU,就是,KVM,所需要的这样一个软件。,QEMU,并非,KVM,的一部分,而是一个开源的虚拟机软件,与,KVM,不同,作为一个宿主型的,Hypervisor,,没有,KVM,,,QEMU,也可以通过模拟来创建和管理虚拟机,只因为是纯软件实现,所以性能较低。,QEMU,的优点是,在支持,QEMU,编译运行的平台上就可以实现虚拟机的功能,甚至虚拟机可以与主机不是同一个架构。,KVM,在,QEMU,的基础上进行了修改,虚拟机运行期间,,QEMU,会通过,KVM,模块提供的系统调用进入内核,由,KVM,模块负责将虚拟机置于处理器的特殊模式运行,遇到虚拟机进行输入,/,输出

41、I/O,)操作,,KVM,模块转交给,QEMU,解析和模拟这些设备。,QEMU,使用,KVM,模块的虚拟化功能,为自己的虚拟机提供硬件虚拟化的加速,从而极大地提高了虚拟机的性能,除此之外,虚拟机的配置和创建,虚拟机运行依赖的虚拟设备,虚拟机运行时的用户操作环境和交互以及一些针对虚拟机的特殊技术(如动态迁移),都是由,QEMU,自己实现的。,KVM,虚拟机的创建和运行是一个用户空间的,QEMU,程序和内核空间的,KVM,模块相互配合的过程,,KVM,模块作为整个虚拟化环境的核心工作在系统空间,负责,CPU,和内存的调试,,QEMU,作为模拟器工作在用户空间,负责虚拟机,I/O,模拟。,4,基

42、于,Linux,内核的虚拟化解决方案,(,3,),KVM,架构。,从上面的分析来看,,KVM,作为,Hypervisor,主要包括两个重要的组成部分:一个是,Linux,内核的,KVM,模块,主要负责虚拟机的创建,虚拟内存的分配、,VCPU,寄存器的读写以及,VCPU,的运行;另一个是提供硬件仿真的,QEMU,,用于模拟虚拟机的用户空间组件、提供,I/O,设备模型和访问外设的途径,,KVM,的基本架构,如图,1.6,所示。,图,1.6 KVM,的基本架构,4,基于,Linux,内核的虚拟化解决方案,在,KVM,模型中,每一个虚拟机都是一个由,Linux,调度程序管理的标准进程,可以在用户空间启

43、动客户机操作系统,一个普通的,Linux,进程有两种运行模式:内核和用户,而,KVM,增加了第三种模式,即客户模式,客户模式又有自己的内核和用户模式。当新的虚拟机在,KVM,上启动时,它就成为主机操作系统的一个进程,因此就可以像其他进程一样调度它,但与传统的,Linux,进程不一样,客户端被,Hypervisor,标识为处于,Guest,模式(独立于内核和用户模式),每个虚拟机都是通过,/dev/kvm,设备映射的,它们拥有自己的虚拟地址空间,该空间映射到主机内核的物理地址空间。如前所述,,KVM,使用层硬件的虚拟化支持来提供完整的(原生)虚拟化,,I/O,请求通过主机内核映射到在主机上(,H

44、ypervisor,)执行的,QEMU,进程。,(,4,),KVM,虚拟磁盘(镜像)文件格式。,在,KVM,中往往使用,Image,(镜像)这人术语来表示虚拟磁盘,主要有以下,3,种文件格式。,raw,。原始的格式,它直接将文件系统的存储单元分配给虚拟机使用,采取直读直写的策略,该格式实现简单,不支持诸如压缩、快照、加密和,CoW,等特性。,qcow2,。,QEMU,引入的镜像文件格式,也是目前,KVM,默认的格式,,qcow2,文件存储数据的基本单元是簇(,cluster,),每一簇由若干个数据扇区组成,每个数据扇区的大小是,512,字节,在,qcow2,中,要定位镜像文件的簇,需要经过两次

45、地址查询操作,,qcow2,根据实际需要来决定占用空间的大小,而且支持更多的主机文件系统格式。,qed,。,qcow2,的一种改进,,qed,的存储、定位、查询方式以及数据块大小与,qcow2,一样,它的目的是为了克服,qcow2,格式的一些缺点,提高性能,不过目前还不够成熟。,如果需要使用虚拟机快照,需要选择,qcow2,格式,对于大规模数据的存储,可以选择,raw,格式,,qcow2,格式只能增加容量,不能减少容量,而,raw,格式可以实现增加或者减少容量。,5,Libvirt,套件,仅有,KVM,模块和,QEMU,组件是不够的,为了使,KVM,整个虚拟环境易于管理,还需要,Libvirt

46、服务和基于,Libvirt,开发出来的管理工具。,Libvirt,是一个软件集合,是一套为方便管理平台虚拟化技术而设计的开源代码的应用程序接口、守护进程和管理工具。它不仅提供了对虚拟机的管理,而且提供了对虚拟网络和存储的管理。,Libvirt,最初是为了,Xen,虚拟化平台设计的一套,API,,目前还支持其他多种虚拟化平台,如,KVM,、,ESX,和,QEMU,等。在,KVM,解决方案中,,QEMU,用来进行平台模拟,面向上层管理和操作;而,Libvirt,用来管理,KVM,,面向下层管理和操作,整个,Libvirt,架构,如图,1.7,所示。,图,1.7 Libvirt,架构,5,Libv

47、irt,套件,Libvirt,是目前使用广泛的虚拟机管理应用程序接口,一些常用的虚拟机管理工具(如,virsh,)和云计算框架平台(如,OpenStack,)都是在底层使用,Libvirt,的应用程序接口。,Libvirt,包括两部分,一部分是服务(守护进程名为,Libvirtd,),另一部分是,API,,作为一个运行在主机上的服务端守护进程,,Libvirtd,为虚拟化平台及其虚拟机提供本地和远程的管理功能,基于,Libvirt,开发出来的管理工具可通过,Libvirtd,服务来管理整个虚拟化环境。也就是说,,Libvirtd,在管理工具和虚拟化平台之间起到一个桥梁的作用。,Libvirt

48、API,是一系列标准的库文件,给多种虚拟化平台提供一个统一的编程接口,相当于管理工具是非得基于,Libvirt,的标准接口来进行开发,开发完成后的工具可支持多种虚拟化平台。,1.2.3,云计算概述,OpenStack,是一个云平台管理的项目,它不是一个软件。这个项目由几个主要的组件组合起来完成一些具体的工作。,OpenStack,是一个旨在为公共及私有云的建设与管理提供软件的开源项目。它的社区拥有超过,130,家企业及,1350,位开发者,这些机构与个人将,OpenStack,作为基础设施即服务资源的通用前端。,OpenStack,项目的首要任务是简化云的部署过程并为其带来良好的可扩展性。,O

49、penStack,为私有云和公有云提供可扩展的弹性的云计算服务,项目目标是提供实施简单、丰富、标准统一、可大规模扩展的云计算管理平台。,1.2,必备知识,1,OpenStack,的起源,OpenStack,是一个开源的云计算管理平台项目,是一系列软件开源项目的组合。是美国国家宇航局,(National Aeronautics and Space Administration,,,NASA),和,Rackspace,(美国的一家云计算厂商)在,2010,年,7,月共同发起的一个项目,旨在为公有云和私有云提供软件的开源项目,由,Rackspace,贡献存储源码(,Swift,)、,NASA,贡献计

50、算源码(,Nova,)。,经过几年的发展,,OpenStack,现已发展成为一个广泛使用的业内领先的开源项目,提供部署私有云及公有云的操作平台和工具集,并且在许多大型企业支撑核心生产业务。,OpenStack,示意图,如图,1.8,所示,,OpenStack,项目旨在提供开源的云计算解决方案以简化云的部署过程,实现类似,AWS,(亚马逊),EC2,和,S3,的,IaaS,服务。其主要应用场合包括,Web,应用、大数据、电子商务、视频处理与内容分发、大吞吐量计算、容器优化、主机托管、公共云和数据库等。,Open,意为开放,,Stack,意为堆栈或堆叠,,OpenStack,是一系列开源软件的组合

展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 通信科技 > 云计算

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服