OpenStack云计算平台实践(微课版) 教案 苏翔宇 模块1-6 OpenStack概述-OpenStack块存储服务(Cinder)_第1页
OpenStack云计算平台实践(微课版) 教案 苏翔宇 模块1-6 OpenStack概述-OpenStack块存储服务(Cinder)_第2页
OpenStack云计算平台实践(微课版) 教案 苏翔宇 模块1-6 OpenStack概述-OpenStack块存储服务(Cinder)_第3页
OpenStack云计算平台实践(微课版) 教案 苏翔宇 模块1-6 OpenStack概述-OpenStack块存储服务(Cinder)_第4页
OpenStack云计算平台实践(微课版) 教案 苏翔宇 模块1-6 OpenStack概述-OpenStack块存储服务(Cinder)_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

PAGE1OpenStack云计算平台实践基础教程教案课程名称OpenStack云计算平台实践学时学分48学时(2学分)本课程教学总体安排课程名称:OpenStack云计算平台实践总学时、学分:48学时、2学分教学目的与要求:目的:培养高素质、拥有创新能力的云计算人才。要求:本课程的教学要求是使学生全面掌握OpenStack云计算平台的基本概念、原理和实践技能,旨在培养学生能够理解和运用所学知识建设、配置、管理和维护基于OpenStack的云计算环境的能力。同时,培养学生的综合能力,包括但不限于信息获取、处理、发布以及解决实际问题的能力。具体来讲,就是使学生能够“懂、管、用”云计算平台:“懂”是懂架构,深入理解云计算的基础理论与架构设计,掌握OpenStack各组件的功能和工作原理,了解相关协议及标准;“管”是管资源,学会管理和优化OpenStack云平台,涵盖用户管理、资源分配等方面的知识和技巧;“用”是用服务,在掌握上述基本技能的基础上,进一步学习如何利用OpenStack云平台进行企业级应用开发和服务部署。教材及参考书目:教材:《OpenStack云计算平台实践》参考书目:1.沈建国,陈永等.OpenStack云计算基础架构平台技术与应用[M].北京:人民邮电出版社,2017.2.赵德宝,钟小平等.OpenStack云计算平台实战[M].北京:人民邮电出版社,2021.3.韩璞等.OpenStack技术原理与实战[M].西安:西安电子科技大学出版社,2016.4.卢万龙等.OpenStack从零开始学[M].北京:电子工业出版社,2016.5.沈建国,代丽等.OpenStack私有云基础架构与运维[M].北京:人民邮电出版社,2024.考核方式及成绩计算方法:考核方式:闭卷成绩计算方法:期末考试成绩70%,平时成绩20%,实验成绩10%课程教学日历课程名称:OpenStack云计算平台实践授课学期:2024~2025第二学期周次章节及教学内容累计学时1~2模块1OpenStack概述1.1情景引入1.2相关知识1.2.1云计算与OpenStack1.2.2OpenStack项目发展历程1.2.3OpenStack基金会1.3实验:OpenStack基础管理1.4小结模块2OpenStack认证服务(Keystone)2.1情景引入2.2相关知识2.2.1OpenStack认证服务概述2.2.2Keystone组件和架构2.2.3Keystone认证流程2.2.4Keystone身份管理方式2.3实验:OpenStack认证管理2.4小结103~4模块3OpenStack镜像服务(Glance)3.1情景引入3.2相关知识3.2.1Glance镜像服务概述3.2.2Glance镜像服务架构及其实现原理3.2.3Glance上传镜像流程3.2.4OpenStack镜像管理3.3实验:OpenStack镜像管理3.4小结55~6模块4OpenStack计算服务(Nova)4.1情景引入4.2相关知识4.2.1OpenStack计算服务架构和组件4.2.2Nova项目工作流程4.2.3虚拟机常见操作4.2.4OpenStack虚拟机管理4.3实验:OpenStack虚拟机管理4.4小结57~8模块5OpenStack网络服务(Neutron)5.1情景引入5.2相关知识5.2.1OpenStack网络服务概述5.2.2Neutron架构和组件5.2.3Neutron网络资源5.2.4Neutron网络实现模型5.2.5Neutron网络流量分析5.2.6OpenStack网络管理5.3实验:OpenStack网络管理5.4小结59~10模块6OpenStack块存储服务(Cinder)6.1情景引入6.2相关知识6.2.1OpenStack存储类型6.2.2Cinder架构6.2.3Cinder工作原理6.2.4Cinder块存储管理方式6.3实验:OpenStack块存储Cinder管理6.4小结511~12模块7OpenStack对象存储服务(Swift)7.1情景引入7.2相关知识7.2.1Swift架构7.2.2Swift关键技术7.2.3Swift对象存储管理方式7.3实验:OpenStack对象存储Swift管理7.4小结513~14模块8OpenStack安全服务8.1情景引入8.2相关知识8.2.1安全组8.2.2FWaaS8.3实验8.3.1安全组应用8.3.2FWaaS应用8.4小结515~16模块9企业云服务部署9.1情景引入9.2相关知识9.2.1Web服务简介9.2.2负载均衡简介9.2.3FTP服务简介9.3网络拓扑规划设计9.3.1网络拓扑介绍9.3.2逻辑拓扑介绍9.4业务规划设计9.4.1网络规划9.4.2设备规划9.4.3安全策略规划9.5综合实战:企业云服务部署9.5.1创建实验9.5.2实验基础网络配置9.5.3OpenStack内部主机基础环境配置9.5.4部署Web和负载均衡服务9.5.5部署FTP服务9.5.6安全组规则设置9.6小结8

模块1教学安排的说明章节题目:模块1OpenStack概述1.1情景引入1.2相关知识1.2.1云计算与OpenStack1.2.2OpenStack项目发展历程1.2.3OpenStack基金会1.3实验:OpenStack基础管理1.4小结学时分配:总5学时第1~2学时:1.1~1.2第3~5学时:1.3~1.4本章教学目的与要求:通过本章的学习,学生应理解云计算的核心理念及其关键特性,熟悉OpenStack作为开源云计算平台的基本功能和架构组成。并能够梳理OpenStack从创建至今的主要发展阶段,认识各个版本迭代中的重要更新与改进,把握其技术演进脉络。了解OpenStack基金会,知晓OpenStack基金会的成立背景、宗旨使命以及它在全球推动开放基础设施建设方面所发挥的作用。课堂教学方案课题名称、授课时数:模块1OpenStack概述,5学时授课类型(理论课、实验课、技法课、习题课等):理论课、实验课教学方法与手段(讲授、讨论、指导、多媒体等):多媒体教学目的要求:1.掌握云计算与OpenStack基本概念。2.了解OpenStack项目发展历程。3.了解OpenStack基金会。教学重点、难点:重点内容:了解云计算与OpenStack,掌握OpenStack项目发展历程、了解OpenStack基金会的组成、能够进行OpenStack基础管理。难点:掌握OpenStack项目发展历程。教学内容及组织安排:模块1OpenStack概述1.2相关知识1.2.1云计算与OpenStack云计算与OpenStack之间存在紧密的联系。OpenStack为云计算提供了必要的技术支持和基础设施,从而使得云计算得以广泛应用和发展。同时,云计算也为OpenStack提供了广阔的应用场景,进一步推动了OpenStack的进步与完善。云计算技术通过虚拟化和分布式处理等技术手段,将计算、网络和存储等资源的具体位置和配置对用户进行了屏蔽。用户只需进行少量的管理工作,便可以根据需求获取这些资源,并进行管理和配置。云计算的服务架构包含物理层、基础设施即服务(InfrastructureasaService,IaaS)、平台即服务(PlatformasaService,PaaS)、软件即服务(SoftwareasaService,SaaS)以及云管理等多个层次。物理层:为上层服务提供基础的IT硬件资源,对于上层服务的服务能力具有决定性作用。IaaS:提供基础设施。通过虚拟化技术将物理层的计算、网络、存储等基础资源整合成资源池,对外提供虚拟机实例、网络服务和存储服务。PaaS:提供应用程序开发和部署平台。相比于IaaS提供的计算、网络和存储资源外,PaaS还可以提供特定业务的开发运行环境,如应用代码、软件开发工具包、操作系统和应用程序编程接口等相关IT组件。SaaS:提供基于云的软件应用程序。SaaS是一种新的软件服务方式,用户可以直接通过网络向提供商购买所需的软件功能。云管理:可以高效管理和维护云数据中心的各种组件和资源,并提供全视图的云资源状态监控。OpenStack可以看成IaaS这个层次的云管理系统。1.2.2OpenStack项目发展历程2006年,亚马逊在业务模式驱动下,创新推出了弹性计算云(ElasticComputeCloud,EC2)。值得注意的是,此前的美国国家航空航天局(NASA)已经在研究类似的服务,但在技术层面遭遇了诸多挑战。与此同时,作为美国云计算市场排名第二的Rackspace,其规模仅为亚马逊的5%,在市场拓展上面临着不小的困境。面对这样的局面,NASA与Rackspace决定携手合作。于是,在2010年7月,双方共同启动并开源了OpenStack项目,并发布了OpenStack第一个版本Austi,该版本仅有Swift和Nova两个组件,其中,Rackspace贡献了Swift组件的代码,用于提供对象存储服务,而NASA则贡献了Nova组件的代码,该组件除了提供计算服务外,还提供了网络和块存储服务。在2011年初,OpenStack发布了第二版Bexar,并增加了Glance组件,旨在提供镜像管理服务。同年4月,OpenStack发布了更为稳定的第三版Cactus。9月,OpenStack发布了第四版Diablo,并对开发与发布周期进行了规范,确保每年春秋两季各发布一个主版本,每个主版本系列均以字母表顺序(A~Z)循环命名。在2012年春季,OpenStack发布了第五版Essex,该版本进行了多项改进,其中最引人注目的是新增了两个组件:Horizon和Keystone。Horizon组件的主要职责是提供用户界面服务,以便更好地与云环境进行交互;而Keystone组件则负责提供认证服务,确保用户和应用程序的安全访问。同年秋季,OpenStack发布了第六版Folsom,该版本在Nova组件的基础上进行了重要的拆分和升级。其中,网络组件Ouantum(后更名为Neutron)和块存储组件Cinder被剥离出来,各自独立提供网络和块存储服务。这一改动进一步提升了OpenStack的灵活性和可扩展性,使其能够更好地满足不断变化的云计算需求。至此,OpenStack的核心组件已全面就绪。在2013年秋季,OpenStack发布了Havana版本,这是第八个版本。该版本中,OpenStack新增了Ceilometer组件,用于监控计费功能;同时引入了Heat组件,以实现编排和自动化部署。这一版本的发布进一步提升了OpenStack的功能性和实用性,为用户提供了更强大的云管理工具。在2014年春季,OpenStack发布了第九个版本,即Icehouse,并在其中新增了名为Trove的组件,旨在为用户提供数据库服务。此后,OpenStack一直保持着不断地发展和优化,经过多次版本的更新,截至2024年1月,OpenStack已经发布了第28个版本Bobcat,而第29个版本Caracal也正在紧锣密鼓地开发中。OpenStack被分解成多个服务,以便用户可根据需要即插即用。OpenStack全景图如图1-3所示,展示了OpenStack的整体情况。图1-3Openstack全景图OPENSTACK:包含OpenStack的各种服务项目,为用户提供各种服务,如存储服务有对象存储Swift、块存储Cinder和共享文件存储Manila。CLIENTTOOLS:包含丰富的客户端工具和库,为用户提供了与OpenStackAPI交互的方法。INTEGRATIONENABLERS:包含容器网络管理和网络功能虚拟化管理,为OpenStack提供了与其他开放基础堆栈无缝集成的能力,提升整体平台的互操作性。OPERATIONSTOOLING:包含服务监控、资源优化等工具,为OpenStack云平台的运维团队提供工具,以支持平台的稳定运行和日常管理。LIFECYCLEMANAGEMENT:包含OpenStack的生命周期管理工具和打包方法,为OpenStack云平台的运维团队简化了OpenStack部署的整个生命周期管理过程,从安装到维护,全面保障系统的可靠性和高效性。1.2.3OpenStack基金会OpenStack基金会在推动OpenStack的发展和应用方面发挥了至关重要的作用。自2012年9月成立以来,OpenStack项目的所有管理工作均由OpenStack基金会全面负责和监管。作为一个非营利性组织,该基金会致力于推动OpenStack的开发与发布,为了支持OpenStack开发者创造出业界领先的云计算软件,基金会致力于与技术提供商紧密合作,确保OpenStack能够集成最新技术。同时,基金会还提供全方位的服务,满足用户和整个生态系统的需求,进一步推动OpenStack公有云和私有云的发展。在OpenStack基金会的起步阶段,该组织拥有24名会员,并筹集到了大约1000万美元的赞助资金。随着时间的推移,基金会不断发展壮大,现如今会员分为个人会员和企业会员两类。个人会员加入机制保持开放,且无需支付任何费用,参与者需积极投身于技术贡献、代码贡献以及社区建设活动,共同推动社区发展。在企业会员体系中,存在白金会员(PlatinumMember)、黄金会员(GoldMember)、白银会员(SilverMembers)和准会员(AssociateMembers)等不同级别。其中,白金会员主要由大型科技公司或云计算服务提供商组成,如华为和微软等,这些公司为基金会提供了相当大一部分的资金支持。黄金会员则主要由中小型科技公司或云计算服务提供商构成,例如九州云、中国联通、中国移动、中国电信、中兴通讯和H3C等。而白银会员则主要由小型科技公司、初创企业和其他组织组成。OpenStack基金会汇聚了众多力量,包括企业、政府机构、学术界和个人,他们共同致力于推进OpenStack项目的发展。基金会通过提供技术、市场和社区支持,为开发者与用户深入理解并有效利用OpenStack项目提供坚实后盾。此外,基金会还积极举办各类活动与会议,旨在加强开源云计算社区的交流与合作,促进社区成员间的知识共享与经验交流。通过不懈努力,OpenStack基金会已经建立起一个稳健而充满活力的开源云计算社区,极大地促进了开源云计算技术的进步和应用。1.3实验:OpenStack基础管理搭建实验拓扑OpenStack基础管理实验的拓扑包括2个子网和2台云主机,其中2台云主机分别安装了OpenStack的控制节点Controller和计算节点Compute,2台云主机的eth0端口连接提供网络ProviderNetwork,eth1端口连接管理数据网络Management&DataNetwork,具体拓扑如图1-5所示。图1-5OpenStack基础管理实验拓扑OpenStack基础管理实验环境信息如表1-2所示。表1-2OpenStack基础管理实验环境信息设备名称软件环境(镜像)硬件环境ControllerOpenStackRockyController桌面版CPU:4核。内存:8GB。磁盘:80GB。ComputeOpenStackRockyCompute桌面版CPU:4核。内存:6GB。磁盘:80GB。ProviderNetwork子网网段:/24。网关地址:。DHCP服务:On。Management&DataNetwork子网网段:/24。网关地址:。DHCP服务:Off。注:root用户的登录名为root,密码为root@openlab;openlab用户的登录名为openlab,密码为user@openlab。管理OpenStack基础信息1.4小结本模块着重阐释了开源云平台OpenStack的相关知识。开篇阐明了OpenStack与云计算之间的紧密联系,深入解析了为何OpenStack成为不可或缺的一环。随后详细梳理了OpenStack项目的发展历程,阐述了各个项目在推动OpenStack进步中所扮演的关键角色及其功能作用。考虑到OpenStack基金会在OpenStack项目演进中所起到的决定性作用,还对基金会进行了介绍,以揭示其在OpenStack生态系统中的重要地位。在实验部分,则对OpenStackWebUI的构成模块进行了详细说明,为后续模块的学习奠定了坚实基础。

模块2教学安排的说明章节题目:模块2OpenStack认证服务(Keystone)2.1情景引入2.2相关知识2.2.1OpenStack认证服务概述2.2.2Keystone组件和架构2.2.3Keystone认证流程2.2.4Keystone身份管理方式2.3实验:OpenStack认证管理2.4小结学时分配:总5学时第1~2学时:2.1~2.2第3~5学时:2.3~2.4本章教学目的与要求:本章教学的主要目标是让学生全面掌握OpenStack认证服务的核心知识与操作技能。具体要求包括:深入理解OpenStack认证服务的整体框架及其在云计算环境中的作用;详细学习Keystone作为身份认证组件的基本概念、功能及其实现机制;明确Keystone提供的关键服务,如身份验证、授权管理等;深入了解Keystone的内部架构以及各组成部分的功能和交互方式;熟练掌握Keystone的身份认证流程及日常管理方法。此外,学生应具备通过命令行工具进行项目、用户和角色的创建与管理的能力,并且能够利用Web用户界面完成同样的操作任务,从而在不同场景下灵活运用所学知识。希望学生在理论学习的基础上,结合实践操作,提升解决实际问题的能力。

课堂教学方案课题名称、授课时数:模块2OpenStack认证服务(Keystone),5学时授课类型(理论课、实验课、技法课、习题课等):理论课、实验课教学方法与手段(讲授、讨论、指导、多媒体等):多媒体教学目的要求:1.熟悉OpenStack认证服务概述。2.掌握Keystone基本概念。3.掌握Keystone核心服务。4.掌握Keystone组件和架构。5.掌握Keystone认证流程和管理方式。6.能够用命令创建和管理项目、用户和角色。7.能够用WebUI方式创建和管理项目、用户和角色教学重点、难点:重点内容:熟悉OpenStack认证服务;掌握Keystone基本概念、Keystone核心服务、Keystone组件和架构和Keystone认证流程和管理方式;能够用命令创建和管理项目、用户和角色;能够用WebUI方式创建和管理项目、用户和角色。难点:能够用命令创建和管理项目、用户和角色;能够用WebUI方式创建和管理项目、用户和角色。教学内容及组织安排:模块2OpenStack认证服务(Keystone)2.2相关知识2.2.1OpenStack认证服务概述认证服务简介随着云计算的发展,越来越多的用户选择使用云平台,存储于云端的数据也越来越多,而云端存储相比于传统的本地存储,安全性问题受到了更多的关注。任何一个即使成本较低的软件都需要考虑安全性问题,OpenStack作为开源的云计算平台软件当然也不例外,OpenStack使用Keystone组件来保障安全。Keystone首次出现在OpenStack的“Essex”版本中,是OpenStack的核心项目之一,在OpenStack全景图中位于共享服务层,为OpenStack其他项目提供认证服务,如图2-1所示。图2-1OpenStack共享服务层Keystone主要负责OpenStack用户身份认证、令牌管理、服务目录提供以及访问控制,可以看成OpenStack用户和服务之间的中介,Glance、Nova、Neutron、Horizon、Swift和Cinder等服务在部署时需向Keystone注册其服务访问网址,在Keystone中也叫Endpoint,用户访问这些服务时先到Keystone认证并获取令牌及服务网址,接着携带获取到的令牌并根据Keystone提供的网址访问对应的服务,相关服务随后会向Keystone求证令牌的合法性,如图2-2所示。图2-2Keystone作用Keystone基本概念Keystone认证组件中包含很多基本概念,概念之间关系如图2-3所示,掌握这些概念有助于OpenStack的学习和理解。图2-3Keystone概念之间关系域(Domain):定义了管理的边界,是用户和项目的集合,必须全局唯一。项目(Project):各个服务中可以访问的资源集合,拥有整个项目的资源配额,在某个域下唯一。用户(User):访问OpenStack服务的个人、系统或某个服务。用户组(Group):一组用户的集合,通过对用户组分配角色可实现同时对多用户统一管理。角色(Role):角色与权限相对应,通过分配给用户角色,从而实现对用户权限的控制。服务(Service):OpenStack中的服务组件,例如Glance、Nova、Neutron、Horizon、Swift和Cinder等。服务会对外提供一个或多个端点以供用户访问和操作。端点(Endpoint):一个可以用来访问某个服务组件的网络地址,可以理解为服务访问点。在部署OpenStack服务组件时会向Keystone注册端点,例如镜像服务注册端点:openstackendpointcreate--regionRegionOneimagepublichttp://controller:9292。令牌(Token):由字母和数字组成的一串字符,是允许访问特定资源的凭证。凭证(Credential):确认用户身份的数据,如用户的用户名和密码、令牌等。域把项目、用户和用户组作为一个整体管理,Keystone通过用户和角色的映射关系决定用户的权限级别,用户提供用户名密码给Keystone得到令牌信息,服务通过端点提供服务,提供服务之前会验证令牌并根据令牌获知用户的权限。Keystone核心服务Keystone提供的核心服务包括身份服务(IdentityService)、令牌服务(TokenService)、目录服务(CatalogService)、策略服务(PolicyService)、资源服务(ResourceService)和授权服务(AssignmentService)。身份服务:负责提供身份认证凭证、管理用户和用户组,包括新建、读取和删除等操作,在某些场景下,需要数据库的配合以完成用户数据的管理。令牌服务:提供用户访问服务的相关凭证,令牌内包含用户、角色和域/项目的信息,分别表明“我是谁”“我能做什么”和“我的作用域是什么”。目录服务:提供OpenStack所有服务的访问网址目录,即端点信息。端点有三种类型分别是public、internal和admin,public类型的端点服务于所有用户,internal类型的端点服务于OpenStack内部组件,admin类型的端点服务于有特定权限的管理员用户。策略服务(Policy):定义了各种用户行为与用户角色的匹配关系,从OpenStack的Wallaby版本开始,策略文件由原先的JSON格式改为YAML格式文件,该配置文件在修改后立刻生效。例如,在/etc/cinder/policy.yaml文件中定义"volume:create":"role:compute-user",代表只有用户角色为compute-user的用户具备创建卷的权限。资源服务:提供有关项目和域的数据。授权服务:负责角色授权,提供角色和角色分配(RoleAssignment)的信息。角色分配包含角色、资源和身份信息。2.2.2Keystone组件和架构Keystone借助接口模块KeystoneAPI、认证服务模块KeystoneServices、后端实现模块KeystoneBackends和认证插件模块KeystonePlug-in五个组件,共同完成OpenStack身份管理服务。Keystone的整体架构如图2-4所示。图2-4Keystone架构图KeystoneAPI:用于接收来自外部的请求,这些API涵盖Keystone能够提供的各种服务,包括身份服务、令牌服务和目录服务等。目前Keystone使用v3版本的API,相比于v2版本,增加了域和用户组的概念,域内管理员只具备该域的管理权限,更契合生产环境,用户组的加入使得用户角色管理更加方便。KeystoneServices:提供身份、令牌、授权和策略和目录等服务。KeystoneBackends:用于实现Keystone中各种服务的功能,不同的后端(BackendDriver)代表不同的后端实现。例如,轻量目录访问协议(LightweightDirectoryAccessProtocol,LDAP)作为身份服务后端,负责集中管理账户和密码;SQL作为身份服务、授权服务等服务的后端,提供数据库功能;Template作为目录服务后端,提供服务目录;规则作为策略服务后端,提供规则约束。KeystonePlug-in:提供认证服务的插件。2.2.3Keystone认证流程Keystone组件可以看成OpenStack的门禁系统,当用户访问OpenStack中的服务时,需要经过Keystone认证后才能进行,生产环境中通常使用基于令牌的认证方式,在Keystone发展过程中,共产生了5种Token类型:UUIDToken:是一串字符串,实现简单,体积小(32字节),易于传输。PKIToken:Token包含用户id、过期时间、角色和目录等信息,Token的体积不可控。PKIZToken:在PKIToken的基础上增加了压缩功能。FernetToken:目前默认使用的类型,本质上是利用对称加密算法生成令牌。Token携带的内容中去掉了Catalog和Role信息,体积大大减小。JWSToken:解决FernetToken密钥暴露存在的安全性问题,生成JSON格式的Token并采用数字签名算法对其进行签名。采用FernetToken方式,以虚拟机创建为例,具体Keystone认证流程如图2-5所示。图2-5Keystone认证流程用户通过WebUI方式或命令行方式申请创建虚拟机,借助表述性状态转移应用程序编程接口(RepresentationalStateTransferApplicationProgrammingInterface,RESTAPI)请求Keystone授权。Keystone认证用户请求信息,并生成Token返回认证请求。WebUI或命令行通过RESTAPI并携带Token向Nova发送一个创建虚拟机的请求。Nova接受请求后向Keystone发送认证请求,查看Token是否有效;Keystone根据验证结果返回有效的认证和对应的用户角色。Nova携带Token并请求Glance获取创建虚拟机所需的镜像信息。Glance向Keystone认证Token是否有效,并返回验证结果。Nova获得虚拟机镜像信息(URL)。Nova携带Token并向Neutron请求获取创建虚拟机所需要的网络信息。Neutron向Keystone认证Token是否有效,并返回验证结果。Nova获得虚拟机网络信息。Nova携带Token并向Cinder请求获取创建虚拟机所需的持久化存储信息。Cinder向Keystone认证Token是否有效,并返回验证结果。Nova获得虚拟机持久化存储信息。Nova调用虚拟化驱动创建虚拟机并返回信息到用户。2.3实验:OpenStack认证管理搭建实验拓扑OpenStack认证管理实验的拓扑包括2个子网和2台云主机,其中2台云主机分别安装了OpenStack的控制节点Controller和计算节点Compute,2台云主机的eth0端口连接提供网络ProviderNetwork,eth1端口连接管理数据网络Management&DataNetwork,具体拓扑如图2-7所示。图2-7OpenStack认证管理实验拓扑OpenStack认证管理实验环境信息如表2-2所示。表2-2OpenStack认证管理实验环境信息设备名称软件环境(镜像)硬件环境ControllerOpenStackRockyController桌面版CPU:4核。内存:8GB。磁盘:80GB。ComputeOpenStackRockyCompute桌面版CPU:4核。内存:6GB。磁盘:80GB。ProviderNetwork子网网段:/24。网关地址:。DHCP服务:On。Management&DataNetwork子网网段:/24。网关地址:。DHCP服务:Off。注:root用户的登录名为root,密码为root@openlab;openlab用户的登录名为openlab,密码为user@openlab。使用命令行方式管理项目使用命令行方式管理用户使用命令行方式管理角色使用WebUI方式管理项目使用WebUI方式管理用户使用WebUI方式管理角色2.4小结本模块着重阐述了OpenStack的认证服务Keystone,讲解了OpenStack平台中Keystone的基本概念,包括用户、项目、角色、端点和令牌等,它们共同构建了OpenStack的认证与授权机制。接着讲解了Keystone核心服务、组件和架构,旨在帮助读者深入理解其工作原理。最后以虚拟机创建为例,详细介绍了Keystone的认证流程。实验部分向读者演示了命令行和界面两种认证管理方式,包括项目、用户、角色等的创建和管理。通过本模块的学习,可以全面掌握OpenStack认证服务的实现原理和应用,为OpenStack云平台的安全稳定运行打下坚实基础。

模块3教学安排的说明章节题目:模块3OpenStack镜像服务(Glance)3.1情景引入3.2相关知识3.2.1Glance镜像服务概述3.2.2Glance镜像服务架构及其实现原理3.2.3Glance上传镜像流程3.2.4OpenStack镜像管理3.3实验:OpenStack镜像管理3.4小结学时分配:总5学时第1~2学时:3.1~3.2第3~5学时:3.3~3.4本章教学目的与要求:本章的教学目标旨在使学生深入理解并掌握OpenStack中镜像管理服务的相关知识与操作技能。首先,学生需要对镜像服务的基础概念有清晰的认识,了解其在云计算环境下的作用与意义;其次,要深入学习镜像服务的架构设计及其背后的实现机制,从而能够解释镜像是如何被存储、检索和分发的;再者,熟悉镜像上传的具体流程,掌握其中的关键步骤和技术要点。此外,学生应能熟练运用命令行工具执行镜像的创建、修改、删除等管理任务,并且具备通过Web用户界面进行相同操作的能力,以适应不同场景下的工作需求。最终,期望学生不仅能从理论上理解镜像服务的工作原理,还能在实践中灵活应用这些知识完成实际操作。

课堂教学方案课题名称、授课时数:模块3OpenStack镜像服务(Glance),5学时授课类型(理论课、实验课、技法课、习题课等):理论课、实验课教学方法与手段(讲授、讨论、指导、多媒体等):多媒体教学目的要求:1.熟悉Glance镜像服务基本概念。2.掌握Glance镜像服务架构及其实现原理。3.Glance上传镜像流程。4.能够用命令创建和管理镜像。5.能够用WebUI方式创建和管理镜像。教学重点、难点:重点内容:熟悉Glance镜像服务基本概念;掌握Glance镜像服务架构及其实现原理、Glance上传镜像流程;能够用命令创建和管理镜像;能够用WebUI方式创建和管理镜像。难点:能够用命令创建和管理镜像;能够用WebUI方式创建和管理镜像。教学内容及组织安排:模块3OpenStack镜像服务(Glance)3.2相关知识3.2.1Glance镜像服务概述Glance镜像服务简介Glance是OpenStack项目中负责虚拟机镜像管理的核心服务组件。它提供了一种集中、可扩展的方式来发现、注册、检索和存储虚拟机镜像。通过Glance提供的RESTAPI,用户可以查询虚拟机镜像的元数据,并获取实际的镜像文件。同时,Glance还支持将镜像保存到多种后端存储上,如文件存储系统、对象存储系统等。Glance的主要功能包括:支持镜像的全生命周期管理。如创建镜像、查询镜像元数据及镜像本身、更新镜像信息及元数据和删除镜像等。支持多种方式存储镜像,包括普通的文件系统、Swift和AmazonS3等;支持对虚拟机实例执行创建快照来创建新的镜像。目前Glance提供的RESTAPI有APIv1和APIv2两个版本。其中v1版本只提供基本的操作功能,包括镜像的增删改查以及镜像租户成员的增删改查。v2版本除了支持v1版本的所有功能外,主要增加了镜像位置的增删改查和元数据、名称空间以及镜像标记操作。两个版本对镜像存储支持相同,但是从OpenStackNewton版本开始,v1版本已不再被推荐使用,已被v2版本替代。镜像格式在向Glance添加镜像时,必须指定虚拟机镜像的磁盘格式和容器格式。磁盘格式虚拟机镜像的磁盘格式是底层磁盘镜像的格式。这些格式定义了虚拟磁盘镜像在物理磁盘上的结构、组织和存储方式。OpenStack支持的镜像磁盘格式包括RAW、VHD、VHDX、VMDK、VDI、ISO、PLOOP、QCOW2以及亚马逊公司支持的内核镜像格式AKI、主机镜像格式AMI和内存磁盘镜像格式ARI。其中最常用的是RAW和QCOW2。RAW格式是一种没有压缩的非结构化镜像磁盘格式,它以二进制形式存储镜像,因此访问速度非常快,但不支持动态扩容。QCOW2是一种虚拟磁盘格式,通常用于与KVM虚拟化监视器配合使用。它具有动态扩展的功能,可以根据需要自动增加磁盘空间,同时也支持写时复制技术,可以实现资源的有效共享和快速复制。QCOW2格式具有节省存储空间和高效管理磁盘镜像的优点,使其成为OpenStack中使用的主要虚拟机镜像格式之一。容器格式容器格式定义了虚拟机镜像文件的封装方式和包含的元数据信息。OpenStack支持多种镜像容器格式,包括Bare、Docker、OVA和OVF,以及亚马逊公司支持的元数据封装格式AKI、AMI和ARI。其中,最常用的是Bare和Docker。Bare格式是指没有容器或元数据封装的虚拟机镜像,它是原始的资源集合。由于没有额外的封装和依赖,Bare格式镜像不存在兼容性问题。因此,在不确定选择哪种容器模式时,指定Bare格式是最安全的选择。目前,OpenStack主要使用Bare格式。Docker格式是一种在OpenStack镜像服务中存储容器文件系统的方式。通过将Docker容器注册为镜像,可以方便地在OpenStack环境中使用和管理这些容器。使用Docker格式可以实现对磁盘存储的数据和元数据进行隔离管理,提供更好的资源管理和部署灵活性。Glance镜像访问权限Glance中,镜像的访问权限主要分为Public、Private、Shared和Protected四种。Public表示镜像是公共的,可以被所有的项目使用;Private表示镜像是私有的,只可以被镜像所有者所在的项目使用;Shared表示镜像是共享的,一个非公有的镜像可以共享给其他项目使用;Protected表示镜像是受保护的,这种镜像不能被删除。3.2.2Glance镜像服务架构及其实现原理Glance镜像服务架构Glance镜像服务架构主要包括接口模块GlanceAPI、元数据管理模块GlanceRegistry、Glance数据库和存储后端StoreBackend四个部分,它们各自负责不同的任务,并通过相互协作来实现镜像管理和存储,具体如图3-1所示。图3-1Glance镜像服务架构GlanceAPI是Glance服务的核心组件,负责处理客户端发送的所有镜像相关请求,包括上传、下载和删除等。它通过RESTAPI与客户端进行通信,并将请求转发给GlanceRegistry或StoreBackend进行处理。GlanceRegistry是Glance服务的元数据管理组件,负责管理所有上传到Glance的镜像元数据。它维护了一个元数据数据库,用于存储所有镜像的元数据信息,包括名称、格式、大小、状态和位置等。在收到API请求后,GlanceAPI会先将请求转发给GlanceRegistry,然后Registry负责处理镜像元数据并返回相应的结果给API。需要注意的是GlanceRegistry的API只通过GlanceAPI调用,而且官方文档已声明,在Queens版本中,GlanceRegistry服务已被弃用,并可能在Stein版本中被移除。GlanceDB是Glance服务的数据库组件,用于存储GlanceRegistry所管理的元数据信息,以及其他相关配置信息。它通常使用MySQL、MariaDB和SQLite等数据库。StoreBackend是Glance服务的镜像数据存储组件,用于存储上传到Glance的镜像数据。GlanceAPI通过与StoreBackend后端存储接口交互将镜像文件存放到各种存储后端,并从中获取镜像文件再交由Nova创建虚拟机。Glance通过后端存储适配器支持多种镜像存储方案,主要包括本地文件系统存储、对象存储、Cinder块存储以及分布式存储。具体使用哪种存储方案可以在Glance配置文件/etc/glance/glance-api.conf中[glance-store]模块进行配置。Glance镜像服务实现原理Glance采用客户端/服务器架构,客户端通过RESTAPI向服务器端发送镜像操作请求,服务器端则根据收到的请求进行相应的处理,并返回响应结果给客户端。具体实现原理如图3-2所示。图3-2Glance镜像服务工作原理当用户进行镜像操作时,首先需要经过Keystone进行身份认证(Authentication,AuthN),认证通过才可以请求Glance镜像服务。Glance服务接收到外部请求后,也会去Keystone验证此请求是否已得到授权(Authorization,AuthZ),验证通过后才会将请求转至后端处理。GlanceDomainController是GlanceAPI和后端功能模块之间的中间件,其主要作用是将Glance内部服务的任务分发到各个功能层去处理,相当于调度器,GlanceDomainController包括以下几个功能层。Auth:此层主要用于控制镜像的访问权限。根据用户请求信息,与镜像的所有者进行比较,验证用户是否可以更改元数据和镜像本身。一般情况下只有管理员和镜像所有者可以更改,如果无法更改将返回相应的错误消息。Notifier:此层主要用于将镜像变化的消息和使用镜像时发生的错误和警告添加到消息队列中。Policy:此层主要用于在/etc/policy.json文件中定义镜像操作的访问规则,并对其进行监视和实施。Quota:此层主要用于定义某个用户上传的所有镜像的配额大小,并对其进行检测。如果此用户上传镜像超过此配额限制,则上传失败并报错,反之则上传成功。Location:此层主要通过GlanceStoreDriver与存储后端进行交互,如上传、下载镜像,管理镜像存储位置。该层还能够在添加新存储位置时检查位置的统一资源标识符(UniformResourceIdentifier,URI)是否正确;镜像位置改变时删除存储后端保存的镜像数据;防止镜像位置重复。DB:此层主要实现了与数据库API的交互,一方面将镜像转换为相应的格式以存储在数据库中,另一方面将从数据库读取的信息转换为可操作的镜像对象。Glance后端有两种服务类型,一种是处理关于元数据的请求,另一种是处理关于镜像数据的请求。GlanceDomainController根据不同的请求类型将请求分配到相应的服务模块进行处理。当请求元数据时,GlanceDB会与GlanceDomainController进行交互提供服务,此时中间还可以通过RegistryLayer进行安全交互。当请求是关于镜像数据本身服务时,GlanceStore会提供一个统一的接口访问后端的存储。3.2.3Glance上传镜像流程上传镜像流程当用户发送上传镜像请求时,首先需要经过Keystone进行身份认证,认证通过并获取Token后才可以请求Glance服务进行镜像操作。以存储后端为Cinder为例,上传镜像具体流程如图3-3所示。图3-3上传镜像流程用户向Keystone发送创建镜像申请,Keystone验证用户身份并颁发令牌。用户携带令牌,向GlanceAPI发送创建镜像的RESTAPI请求,GlanceAPI接收到请求后,会使用令牌去Keystone验证令牌的有效性。令牌验证通过后,GlanceAPI向GlanceRegistry注册并将镜像元数据添加到数据库,然后向GlanceAPI返回镜像元数据添加成功的消息。GlanceAPI携带令牌向存储后端Cinder发送存储镜像请求。Cinder首先去Keystone验证令牌的有效性,验证通过后存储镜像,并返回存储成功的消息给GlanceAPI。然后GlanceAPI返回镜像创建成功的消息给用户。Glance镜像状态在Glance上传镜像过程中,主要包括六种镜像状态,分别是Queued、Saving、Active、Killed、Deleted和Pending_delete,各种状态之间的转换关系如图3-4所示。图3-4镜像状态Queued:此状态是镜像的初始化状态,它表示Glance注册表中已保存了镜像的标识符,但尚未上传镜像数据。此状态下Glance直接设置镜像数据大小为0。Saving:此状态是镜像数据上传过程中的一种过渡状态,它表示镜像数据正在上传到Glance。Active:此状态是镜像上传成功后的一种状态,它表明镜像在Glance中处于可用状态。Killed:此状态表示镜像数据在上传过程中发生错误,或者无法读取该镜像。Deleted:此状态表示Glance保留了镜像的相关信息,但是镜像不可用。此状态下的镜像不久会自动删除。Pending_delete:此状态类似Deleted,表示Glance尚未删除镜像数据。但是此状态下的镜像数据无法恢复。3.3实验:OpenStack镜像管理搭建实验拓扑OpenStack镜像管理实验的拓扑包括2个子网和2台云主机,其中2台云主机分别安装了OpenStack的控制节点Controller和计算节点Compute,2台云主机的eth0端口连接提供网络ProviderNetwork,eth1端口连接管理数据网络Management&DataNetwork,具体拓扑如图3-6所示。图3-6OpenStack镜像管理实验拓扑OpenStack镜像管理实验环境信息如表3-2所示。表3-2OpenStack镜像管理实验环境信息设备名称软件环境(镜像)硬件环境ControllerOpenStackRockyController桌面版CPU:4核。内存:8GB。磁盘:80GB。ComputeOpenStackRockyCompute桌面版CPU:4核。内存:6GB。磁盘:80GB。ProviderNetwork子网网段:/24。网关地址:。DHCP服务:On。Management&DataNetwork子网网段:/24。网关地址:。DHCP服务:Off。注:root用户的登录名为root,密码为root@openlab;openlab用户的登录名为openlab,密码为user@openlab。使用命令行方式查看镜像使用命令方式删除镜像使用命令行方式创建和更新镜像使用WebUI方式管理镜像3.4小结本模块介绍了OpenStack镜像服务的核心内容。首先,对镜像服务的基本概念进行了概述,包括其主要功能、磁盘格式以及容器格式。随后,从镜像服务的架构视角,深入解析了其实现机制。最后,以镜像创建为例,详细展示了创建流程及其状态转变。在实验环节,读者将学习到如何通过命令行和WebUI两种方式进行镜像的创建、属性更新及删除操作。通过本模块的学习,读者将能够全面理解OpenStack平台的镜像服务,进而更好地运用和管理其镜像资源。

模块4教学安排的说明章节题目:模块4OpenStack计算服务(Nova)4.1情景引入4.2相关知识4.2.1OpenStack计算服务架构和组件4.2.2Nova项目工作流程4.2.3虚拟机常见操作4.2.4OpenStack虚拟机管理4.3实验:OpenStack虚拟机管理4.4小结学时分配:总5学时第1~2学时:4.1~4.2第3~5学时:4.3~4.4本章教学目的与要求:本章的教学目标是使学生深入理解OpenStack计算服务的体系结构及其组成部分,并熟练掌握虚拟机的管理与操作技能。具体要求包括:熟悉OpenStack计算服务的整体架构设计,了解其各个组件的功能及协同工作方式;深入学习Nova项目的工作流程,理解虚拟机生命周期管理的核心机制;掌握OpenStack中虚拟机的常见操作方法,如启动、停止、重启等基本管理任务;具备通过命令行工具创建和管理虚拟机的能力,同时能够熟练运用Web用户界面完成相关操作。期望学生在理论学习的基础上,结合实践训练,全面掌握OpenStack计算服务的使用技巧,提升解决实际问题的能力。

课堂教学方案课题名称、授课时数:模块4OpenStack计算服务(Nova),5学时授课类型(理论课、实验课、技法课、习题课等):理论课、实验课教学方法与手段(讲授、讨论、指导、多媒体等):多媒体教学目的要求:1.OpenStack计算服务架构和组件。2.掌握Nova项目工作流程。3.掌握OpenStack虚拟机常见操作。4.掌握OpenStack虚拟机管理。5.能够用命令创建和管理虚拟机。6.能够用WebUI方式创建和管理虚拟机。教学重点、难点:重点内容:熟悉OpenStack计算服务架构和组件;掌握Nova项目工作流程、OpenStack虚拟机常见操作和OpenStack虚拟机管理;能够用命令创建和管理虚拟机;能够用WebUI方式创建和管理虚拟机。难点:能够用命令创建和管理虚拟机;能够用WebUI方式创建和管理虚拟机。教学内容及组织安排:模块4OpenStack计算服务(Nova)4.2相关知识4.2.1OpenStack计算服务架构和组件OpenStack的计算服务早在“Austin”版本中就已经存在,是OpenStack首批两个项目之一。作为OpenStack的核心项目,Nova承担着虚拟机、裸金属服务器和容器的全周期管理任务,涵盖了创建、启动、暂停、恢复、删除和查看等操作。Nova项目是一个由多个组件构成的复杂系统,每个组件都承担着特定的功能,其核心组件包括接口模块API、调度模块Scheduler、指挥模块Conductor和计算模块Compute,这些组件相互协作,共同完成了Nova项目的主要任务。Nova体系结构如图4-1所示。图4-1Nova体系结构API:是最终用户与Nova项目对接的HTTP接口,作为用户与Nova项目之间的桥梁,负责把用户请求发送给Nova,并将Nova处理完的结果返回给用户。Scheduler:负责为虚拟机筛选并确定其所在的宿主机。从OpenStack的Ocata版本开始,为了更好地满足不同项目的资源跟踪管理需求,提出了将Scheduler组件独立成OpenStack通用项目Placement的设想,从而优化资源分配的效率和精度,并为不同的项目提供了统一的资源跟踪服务。Conductor:在OpenStack的Grizzly版本中首次发布,主要负责代理计算节点发出的数据库请求,如图4-2所示。它的设计初衷是为数据库的访问提供一层安全保障,确保数据的安全性。Conductor的出现有效地消除了Compute服务对数据库的直接访问,从而实现了Compute服务与数据库的解耦。这一改变不仅增强了系统的安全性,而且提高了部署的方便性和灵活性。就算在某个计算节点被攻陷的情况,也不会影响到数据库的安全性;此外,它还允许在不升级Compute的情况下进行数据库的升级。图4-2Conductor作用Compute:负责虚拟机的生命周期管理,包括虚拟机的创建、删除和迁移等,这些操作都是通过底层Hypervisor的接口来实现的。Hypervisor的接口有支持KVM/LXC/QEMU虚拟化引擎的LibvirtAPI、适用于XenServer/XCP虚拟化引擎的XenAPI、有支持VMware虚拟化引擎的VMwareAPI,以及适用于WindowsServer虚拟化引擎的Hyper-VAPI,如图4-3所示。一般情况下,OpenStack默认使用KVM虚拟化引擎,因此,在Compute组件中,LibvirtAPI是最常用的Hypervisor接口。图4-3Compute组件DB:负责数据存储。Keystone:提供认证服务。Neutron:提供网络服务。Glance&Cinder:提供镜像管理和块存储管理服务。Placement:负责监控硬件资源情况,自OpenStack的Stein版本起,该服务已从Nova组件中独立出来,成为OpenStack的独立项目。与Keystone项目一样,Placement在OpenStack全景图中处于共享服务层,可以向OpenStack其他项目提供服务。然而,Placement服务并不能完全取代Nova的Scheduler组件,因此在部署时,即使启用了Placement服务,也需要启动Scheduler,配合完成资源跟踪和筛选。用户创建虚拟机时会提出资源需求,如CPU、内存和硬盘容量,接着Placement项目需配合Nova完成虚拟机所在宿主机的筛选,流程如图4-4所示。主要过程分为过滤和权重两个步骤,首先,根据过滤规则(如硬盘大于40GB)确定出计算节点Host1、Host2、Host4和Host6满足要求,其次对这四台物理主机进行权重优选确定出合适的宿主机为Host6。图4-4Scheduler筛选流程该流程中Nova和Placement的配合方式如下:首先,Nova的Scheduler组件负责从队列中获取虚拟机实例的请求。随后,Scheduler向Placement发起请求,以获取符合条件的计算节点列表和资源信息。Placement根据需求进行初步筛选,并将结果返回给Scheduler。最终,Scheduler确定虚拟机实例将部署在哪个计算节点上。4.2.2Nova项目工作流程Nova项目的各个组件各自扮演着不同的角色,共同管理着虚拟机的全生命周期,下面以虚拟机创建为例,在不考虑Placement项目的情况下讲解Nova项目的工作流程,如图4-5所示。图4-5Nova的工作流程用户通过WebUI或命令行发起创建虚拟机的申请,并通过RESTAPI向Keystone提交授权请求。Keystone对用户进行身份认证,认证通过后生成Token并返回给认证请求方。WebUI或命令行调用RESTAPI,并附带授权令牌向Nova-API发送虚拟机新建请求。在接收到请求后,Nova-API会向Keystone发送认证请求,以验证Token的有效性。Keystone根据验证结果返回有效的认证和授权结果。通过认证后Nova-API和数据库通讯。初始化新建虚拟机的数据库记录并返回消息给Nova-API。Nova-API发送请求到消息队列(MessageQueue,MQ),用于查询当前是否有可用的主机资源。Nova-Scheduler通过MQ获取Nova-API的请求。Nova-Scheduler会查询数据库,以获取计算资源的相关信息。接着采用过滤算法,对计算资源进行筛选,以确定哪些主机能够满足虚拟机创建的需求。Nova-Scheduler负责更新数据库中虚拟机对应的物理主机信息,确保数据的准确性和一致性。Nova-Scheduler通过MQ向Nova-Compute发送创建虚拟机的请求消息。Nova-Compute从消息队列中获取虚拟机创建请求消息。Nova-Compute通过MQ向Nova-Conductor请求以获取有关虚拟机的消息。Nova-Conductor从消息队列中获取Nova-Compute请求消息。Nova-Conductor根据消息查询数据库中对应虚拟机的信息。Nova-Conductor从数据库中获得虚拟机信息。Nova-Conductor把虚拟机信息发送到MQ中。Nova-Compute从消息队列中获得虚拟机信息。Nova-Compute经过Keystone认证,成功获取Token,并据此请求Glance以获取创建虚拟机所需的镜像。Glance向Keystone认证Token是否有效,并返回验证结果。Token验证通过,Nova-Compute获得虚拟机镜像信息。Nova-Compute通过Keystone认证服务获取令牌,并向Neutron服务请求相关的网络配置信息,以创建虚拟机。Neutron向Keystone认证token是否有效,并返回验证结果。token验证通过,Nova-Compute获得虚拟机网络信息。Nova-Compute通过Keystone认证获取Token,并向Cinder发起请求,以获取创建虚拟机所需的持久化存储信息。Cinder向Keystone认证Token是否有效,并返回验证结果。Token验证通过,Nova-Compute获得虚拟机持久化存储信息。Nova-Compute将根据实例信息调用虚拟化驱动程序以创建虚拟机。以上流程中,虚拟机的状态会发生变化,虚拟机状态类型有四种,分别是VM_State、Task_State、Status和Power_State。VM_State(虚拟机状态):表示虚拟机当前的状态,如active(活跃)、building(创建中)、deleted(已删除)。Task_State(任务状态):表示虚拟机当前的任务执行状态,如block_device_mapping(块设备映射中)、spawning(虚拟机生成中)。Status(状态):表示虚拟机对外呈现的整体状态,由VM_State和Task_State共同决定,如VM_State为active(活跃),而Task_State为rebooting(重启中),则Status为reboot(重启)。Power_State(电源状态):表示从Hypervisor中获取的虚拟机的真实状态,如running(运行中)、shutdown(关机)。如图4-6所示三台虚拟机均已完成创建,所以TaskState为“-”,Status为“Active”,PowerState为“Running”。图4-6虚拟机状态数据库中可以看到三台虚拟机的vm_state为“active”,如图4-7所示。图4-7数据库中虚拟机状态4.2.3虚拟机常见操作除了虚拟机创建之外,常见的虚拟机操作还包括虚拟机迁移、调整大小、挂起和恢复。冷迁移(ColdMigration):是指在虚拟机处于关机或不可用状态下,将其从一台物理服务器迁移至另一台物理服务器的操作。由于需要在虚拟机关机及启动过程中等待,因此冷迁移通常需要较长的迁移时间。热迁移(LiveMigration):是指在虚拟机仍保持运行状态时,将其从一台物理服务器迁移至另一台物理服务器的操作。为了确保业务运行的连续性,热迁移过程通常需要在共享存储的环境中进行。如图4-8所示,host1和host2共享存储,当VM2从host1迁移到host2时,用户将短暂地无法与虚拟机通信,仅会感到一瞬间的无响应。图4-8热迁移调整大小(Resize):是指按需调整虚拟机资源的行为,在进行Resize操作时,必须确保新的flavor配置大于旧的flavor配置,OpenStack支持跨设备Resize操作,同时也可以进行本地Resize操作。在OpenStack中,虚拟机的挂起和恢复操作均有两种方式。如图4-9所示,挂起方式包括挂起(Suspend)和暂停(Pause),对应的恢复方式分别为恢复(Resume)和取消暂停(Unpause)。图4-9挂起和恢复Suspend是将虚拟机的当前状态保存到磁盘,并且将虚拟机的内存和CPU资源释放出来;与Suspend不同的是,Pause虚拟机时虚拟机的状态和资源并不会保存到磁盘,但其内存和CPU资源会被保留。4.3实验:OpenStack虚拟机管理搭建实验拓扑OpenStack虚拟机管理实验的拓扑包括2个子网和2台云主机,其中2台云主机分别安装了OpenStack的控制节点Controller和计算节点Compute,2台云主机的eth0端口连接提供网络ProviderNetwork,eth1端口连接管理数据网络Management&DataNetwork,具体拓扑如图4-12所示。图4-12OpenStack虚拟机管理实验拓扑OpenStack虚拟机管理实验环境信息如表4-2所示。表4-2OpenStack虚拟机管理实验环境信息设备名称软件环境(镜像)硬件环境ControllerOpenStackRockyController桌面版CPU:4核。内存:8GB。磁盘:80GB。ComputeOpenStackRockyCompute桌面版CPU:4核。内存:6GB。磁盘:80GB。ProviderNetwork子网网段:/24。网关地址:。DHCP服务:On。Management&DataNetwork子网网段:/24。网关地址:。DHCP服务:Off。注:root用户的登录名为root,密码为root@openlab;openlab用户的登录名为openlab,密码为user@openlab。实验准备使用命令行方式管理虚拟机使用WebUI方式管理虚拟机4.4小结本模块主要讲解了OpenStack的计算服务Nova。首先介绍的是Nova的架构和组件,包含对接用户请求的Nova-API、负责资源调度与筛选的Nova-Scheduler、代理计算节点数据库请求的Nova-Conductor,以及管理虚拟机生命周期的Nova-Compute,旨在帮助读者全面理解Nova服务的整体架构和功能。随后,以虚拟机创建为例,详细阐释了Nova内部组件间的协同工作,及其与其他项目的交互过程,同时探讨了虚拟机的状态变化。最后介绍了虚拟机常见操作的基本概念和区别。在实验环节,我们分别通过命令行与图形化界面,深入讲解了虚拟机管理的核心要点。通过本单元的学习,读者将能够对OpenStack平台的计算服务有更全面、深入地认识,进而更好地运用和管理OpenStack平台的计算资源。

模块5教学安排的说明章节题目:模块5OpenStack网络服务(Neutron)5.1情景引入5.2相关知识5.2.1OpenStack网络服务概述5.2.2Neutron架构和组件5.2.3Neutron网络资源5.2.4Neutron网络实现模型5.2.5Neutron网络流量分析5.2.6OpenStack网络管理5.3实验:OpenStack网络管理5.4小结学时分配:总5学时第1~2学时:5.1~5.2第3~5学时:5.3~5.4本章教学目的与要求:本章教学的主要目标是让学生全面掌握OpenStack网络服务的核心知识,并能够熟练进行虚拟网络的管理与操作。具体要求包括:理解OpenStack网络服务的基本概念及其在云计算环境中的作用;深入学习Neutron项目的架构设计及各组件的功能,了解其在网络服务中的实现机制;熟悉Neutron提供的网络资源类型及其管理方式;掌握Neutron网络的实现模型以及流量分析方法。此外,学生应具备通过命令行工具创建和管理虚拟网络、子网、路由器等网络资源的能力,并且能够利用Web用户界面完成相同的配置任务;同时,还需要学会使用命令行工具进行网络连通性测试,以确保网络配置的正确性和功能性。期望学生在理论学习的基础上,结合实践操作,提升解决实际问题的能力。

课堂教学方案课题名称、授课时数:模块5OpenStack网络服务(Neutron),5学时授课类型(理论课、实验课、技法课、习题课等):理论课、实验课教学方法与手段(讲授、讨论、指导、多媒体等):多媒体教学目的要求:1.了解OpenStack网络服务基本概念。2.掌握Neutron架构和组件。3.掌握Neutron网络资源。4.掌握Neutron网络实现模型。5.Neutron网络流量分析。6.能够用命令创建和管理虚拟网络、子网和路由器。7.能够用WebUI方式创建和管理虚拟网络、子网和路由器。8.能够用命令完成网络连通性测试。教学重点、难点:重点内容:了解OpenStack网络服务基本概念;掌握Neutron架构和组件、Neutron网络资源和Neutron网络实现模型;Neutron网络实现模型;能够用命令创建和管理虚拟网络、子网和路由器;能够用WebUI方式创建和管理虚拟网络、子网和路由器;能够用命令完成网络连通性测试。难点:能够用命令创建和管理虚拟网络、子网和路由器;能够用WebUI方式创建和管理虚拟网络、子网和路由器;能够用命令完成网络连通性测试。教学内容及组织安排:模块5OpenStack网络服务(Neutron)5.2相关知识5.2.1OpenStack网络服务概述在OpenStack的早期版本中,网络服务集成于Nova之中,由Nova-Network负责提供。随后,鉴于网络类型的多样性、拓扑结构的灵活性、插件的多样性以及可扩展性等方面的需求,网络服务从Nova项目中独立出来,成为专用网络项目Quantum。在OpenStack的Havana版本中,Quantum项目更名为Neutron。Neutron网络项目为OpenStack中的其他服务提供网络功能,包括创建和管理网络、交换机、子网、路由器、防火墙以及VPN等。借助Neutron,用户能够在物理服务器内部轻松地规划设计私有网络地址段并保证网络连通性。Neutron项目允许各个Project独立配置管理多个私有网络,这些私有网络的地址规划可根据项目实际需求进行调整,同时还可与其他项目共享相同地址空间。此设计有助于更好地满足多租户环境下的网络需求,提高网络资源利用率。在不考虑Neutron架构、部署等复杂实现的前提下,Neutron网络拓扑可简化为外部网络(ExternalNetwork)、物理网络(PhysicalNetwork)、OpenStack运营商网络(ProviderNetwork)、虚拟路由器(VirtualRouter)及自助服务网络(Self-serviceNetwork)的连接,Neutron网络简化拓扑如图5-1所示。图5-1Neutron网络简化拓扑①外部网络(ExternalNetwork):是OpenStack所在物理网络连接的网络业务提供商(InternetServiceProvider,ISP)网络,提供上网能力,该网络不在Neutron的管理范围之内。②物理网络(PhysicalNetwork):是部署OpenStack的物理服务器所在的网络,包括物理交换机、物理路由器等硬件设备,该网络不在Neutron的管理范围之内。③OpenStack运营商网络(ProviderNetwork):由OpenStack运营商创建,可以在多个租户之间共享,其

温馨提示

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

评论

0/150

提交评论