




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
OpenStack镜像服务
(Glance)知识目标学习OpenStack镜像服务,需要掌握以下相关知识。Glance镜像服务基本概念、服务架构及其实现原理Glance上传镜像流程OpenStack镜像管理能够用命令创建和管理镜像能够用WebUI方式创建和管理镜像技能目标目录01Glance镜像服务概述02Glance镜像服务架构及其实现原理03Glance上传镜像流程和Glance镜像状态04OpenStack镜像管理情景引入优速网络公司采用OpenStack私有云平台,但员工小王发现部署新应用时需重复安装操作系统和软件包,影响效率。研究后,小王利用OpenStack的Glance镜像服务,通过预配置镜像快速生成虚拟机实例,简化了部署流程。Glance提供标准化环境,减少错误;具备版本控制,保障业务稳定;支持多租户隔离和镜像共享,促进团队合作;并支持多种镜像格式,满足跨平台需求。应用Glance后,公司提高了虚拟机镜像管理效率,实现了快速部署和实时更新,增强了IT团队效能,为云化项目推进打下坚实基础。01Glance镜像服务概述Glance简介Glance是OpenStack项目中负责虚拟机镜像管理的核心服务组件。它提供了一种集中、可扩展的方式来发现、注册、检索和存储虚拟机镜像。通过Glance提供的RESTAPI,用户可以查询虚拟机镜像的元数据,并获取实际的镜像文件。同时,Glance还支持将镜像保存到多种后端存储上,如文件存储系统、对象存储系统等。支持镜像的全生命周期管理。如创建镜像、查询镜像元数据及镜像本身、更新镜像信息及元数据和删除镜像等。支持多种方式存储镜像,包括普通的文件系统、Swift和AmazonS3等。支持对虚拟机实例执行创建快照来创建新的镜像。Glance主要功能镜像的磁盘格式虚拟机镜像的磁盘格式是底层磁盘镜像的格式。这些格式定义了虚拟磁盘镜像在物理磁盘上的结构、组织和存储方式。OpenStack支持的镜像磁盘格式包括RAW、VHD、VHDX、VMDK、VDI、ISO、PLOOP、QCOW2以及亚马逊公司支持的内核镜像格式AKI、主机镜像格式AMI和内存磁盘镜像格式ARI。其中最常用的是RAW和QCOW2。QCOW2RAW是一种没有压缩的非结构化镜像磁盘格式,它以二进制形式存储镜像,因此访问速度非常快,但不支持动态扩容。是一种虚拟磁盘格式,通常用于与KVM虚拟化监视器配合使用。它具有动态扩展的功能,可以根据需要自动增加磁盘空间,同时也支持写时复制技术,可以实现资源的有效共享和快速复制。镜像的容器格式容器格式定义了虚拟机镜像文件的封装方式和包含的元数据信息。OpenStack支持多种镜像容器格式,包括Bare、Docker、OVA和OVF,以及亚马逊公司支持的元数据封装格式AKI、AMI和ARI。其中,最常用的是Bare和Docker。是一种在OpenStack镜像服务中存储容器文件系统的方式。通过将Docker容器注册为镜像,可以方便地在OpenStack环境中使用和管理这些容器。是指没有容器或元数据封装的虚拟机镜像,它是原始的资源集合。由于没有额外的封装和依赖,Bare格式镜像不存在兼容性问题。BareDockerGlance镜像访问权限Glance中,镜像的访问权限主要分为Public、Private、Shared和Protected四种。表示镜像是公共的,可以被所有的项目使用。表示镜像是共享的,一个共享的镜像可以共享给其他项目使用。表示镜像是受保护的,这种镜像不能被删除。表示镜像是私有的,只可以被镜像所有者所在的项目使用。ProtectedSharedPrivatePublic02Glance镜像服务架构
及其实现原理Glance镜像服务架构Glance镜像服务架构主要包括接口模块(GlanceAPI)、元数据管理模块(GlanceRegistry)、Glance数据库和存储后端(StoreBackend)4个部分,它们各自负责不同的任务,并通过相互协作来实现镜像管理和存储。Glance模块功能接口模块GlanceAPI负责处理客户端发送的所有镜像相关请求,包括上传、下载和删除等。数据库模块GlanceDB用于存储GlanceRegistry所管理的元数据信息,以及其他相关配置信息。元数据模块GlanceRegistry负责管理所有上传到Glance的镜像元数据存储后端模块StoreBackend用于存储上传到Glance的镜像数据。Glance镜像服务工作原理当用户进行镜像操作时,首先需要经过Keystone进行身份认证(AuthN),认证通过才可以请求Glance镜像服务。Glance服务接收到外部请求后,也会去Keystone验证此请求是否已得到授权(AuthZ),验证通过后才会将请求转至后端处理。GlanceDomainController是GlanceAPI和后端功能模块之间的中间件,其主要作用是将Glance内部服务的任务分发到各个功能层去处理,相当于调度器Glance后端有两种服务类型,一种是处理关于元数据的请求,另一种是处理关于镜像数据的请求。GlanceDomainController根据不同的请求类型将请求分配到相应的服务模块进行处理。GlanceDomainController功能层GlanceDomainControllerPolicy主要用于在/etc/policy.json文件中定义镜像操作的访问规则,并对其进行监视和实施。Quota主要用于定义某个用户上传的所有镜像的配额大小,并对其进行检测。Location主要通过GlanceStoreDriver与存储后端进行交互,如上传、下载镜像,管理镜像存储位置。DB主要实现了与数据库API的交互。Auth主要用于控制镜像的访问权限Notifier主要用于将镜像变化的消息和使用镜像时发生的错误和警告添加到消息队列中。03Glance上传镜像流程和Glance镜像状态Glance上传镜像流程(1/2)当用户发送上传镜像请求时,首先需要经过Keystone进行身份认证,认证通过并获取Token后才可以请求Glance服务进行镜像操作。以存储后端为Cinder为例,上传镜像具体流程如下:用户向Keystone发送创建镜像申请,Keystone验证用户身份并颁发令牌。用户携带令牌,向GlanceAPI发送创建镜像的RESTAPI请求,GlanceAPI接收到请求后,会使用令牌去Keystone验证令牌的有效性。Glance上传镜像流程(2/2)令牌验证通过后,GlanceAPI向GlanceRegistry注册并将镜像元数据添加到数据库,然后向GlanceAPI返回镜像元数据添加成功的消息。GlanceAPI携带令牌向存储后端Cinder发送存储镜像请求。Cinder首先去Keystone验证令牌的有效性,验证通过后存储镜像,并返回存储成功的消息给GlanceAPI。然后GlanceAPI返回镜像创建成功的消息给用户。Glance镜像状态在Glance上传镜像过程中,主要包括六种镜像状态,分别是Queued、Saving、Active、Killed、Deleted和Pending_delete。Queued:此状态是镜像的初始化状态,它表示Glance注册表中已保存了镜像的标识符,但尚未上传镜像数据。此状态下Glance直接设置镜像数据大小为0。Saving:此状态是镜像数据上传过程中的一种过渡状态,它表示镜像数据正在上传到Glance。Active:此状态是镜像上传成功后的一种状态,它表明镜像在Glance中处于可用状态。Killed:此状态表示镜像数据在上传过程中发生错误,或者无法读取该镜像。Deleted:此状态表示Glance保留了镜像的相关信息,但是镜像不可用。此状态下的镜像不久会自动删除。Pending_delete:此状态类似Deleted,表示Glance尚未删除镜像数据。但是此状态下的镜像数据无法恢复。04OpenStack镜像管理OpenStack命令行CLI命令作用openstackimageaddproject将镜像与项目关联openstackimagecreate创建镜像openstackimagedelete删除指定的镜像openstackimagelist查看镜像列表openstackimageremoveproject解除镜像与项目的关联关系openstackimagesave本地保存镜像openstackimageset设置镜像参数openstackimageshow查看某镜像的详细信息openstackimageunset取消镜像的属性设置使用命令行CLI方式管理镜像时,需要在控制节点上执行的openstack命令,实现OpenStack环境中镜像的上传、修改、删除和存储。OpenStackWebUI在控制节点的浏览器中输入URL地址http://controller/dashboard/project/images进入OpenStack环境的镜像管理WebUI页面。实验:OpenStack镜像管理OpenStack基础管理实验的拓扑包括2个子网和2台云主机,其中2台云主机分别安装了OpenStack的控制节点Controller和计算节点Compute,2台云主机的eth0端口连接
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论