OpenStack 入门及三大存储组件浅析

OpenStack 入门及三大存储组件浅析

作者:神秘的陈老师 2019-01-18 09:02:26

存储

存储软件

OpenStack 大家好,想必大家也听说过 openstack ,很多人在学习过程中都感觉openstack 整个架构比较复杂,涉及到的组件较多,学习也比较吃力。

 大家好,想必大家也听说过 openstack ,很多人在学习过程中都感觉openstack 整个架构比较复杂,涉及到的组件较多,学习也比较吃力。

一、认识 OpenStack

OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface.

以上是官网对 OpenStack 的定义,OpenStack 对整个数据中心的计算、存储以及网络资源进行统一的管理。云计算平台是一个面向服务层面的架构,按照提供服务的不同可分为 IaaS(Infrastructure as a Service,基础设施即服务)、PaaS(Platform as a Service,平台即服务)和 SaaS(Software as a Service,软件即服务)。由上述官网定义来看,OpenStack 针对的是 IT 基础设施,是 IaaS 层的云操作系统。

OpenStack 已经走过了 9 个年头。每半年会发布一个新的版本,版本以字母顺序命名。现在已经到了第 18 个版本 Rocky(版本 R),从最初的只有两个模块(服务),发展到现在的数十个模块,每个模块都作为独立的子项目开发。那么,既然有那么多的服务模块,我们应该如何去进行高效的学习呢——抓住 openstack 最本质的东西(计算,存储,网络资源的统一管控),如下图所示:

 

在 openstack 这么庞大的架构里面,究竟哪些组件模块是负责管理计算,存储,网络资源的呢?组件之间又是如何进行协调工作的呢?(下图被称为「神图」,图片有点大,请横屏来看)

 

架构是个好东西,它能够帮助我们站在高处看清楚事物的整体结构,上图是 openstack 各个组件之间以及组件内部的交互图,其实也并不复杂。今天我们先来学习一下 openstack 的三大存储组件 Glance,Cinder,Swift。

二、浅析 OpenStack 的三大存储组件 Glance,Cinder,Swift

I.Glance,Cinder,Swift 是什么?

首先咱们要明白,Glance,Cinder,Swift 究竟是什么东西?在 openstack 当中,Glance 是负责提供 Image Service(镜像服务)的,这个所谓的镜像服务指的就是去管理 Image,让用户能够发现、获取和保存 Image。Image 是一个模板,里面包含了基本的操作系统和其他的应用软件,在云环境的大需求下,(大规模)手动去安装部署系统比较不灵活,时间较长,效率低下,这个时候就需要更加高效的解决方案————Image。再来看 Cinder,在 openstack 当中,Cinder 是用来提供块存储服务的。什么是块存储?大家其实可以简单理解为裸硬盘,通过某种协议(SCSI,iSCSI,SAN 等)挂接裸硬盘,然后进行分区、格式化、创建文件系统,或者直接使用裸硬盘提供存储空间,进行数据存储。Swift,为 openstack 提供一种分布式、持续虚拟对象存储,他其实类似于 Amazon Web Service 的 S3 简单存储服务。Swift 具有跨节点百级对象的存储能力,內建冗余和失效备援管理,也能够处理归档和媒体流,特别是对大数据(千兆字节)和大容量(多对象数量)的测度非常有效。该服务不是必需的,为可选服务。接下来咱们具体来看下三大组件的内部架构以及各个子组件的作用。

II.Glance

 

Glance-api:接收 REST API 请求,通过其他模块(glance-registry 及 image store)来完成诸如镜像的查找、获取、上传、删除等操作。

glance-registry:用于与 MySQL 数据库交互,用于存储或获取镜像的元数据(metadata)。

image store:是一个存储的接口层,通过这个接口,glance 可以获取镜像,image store 支持的存储有 Amazon 的 S3、OpenStack 本身的 Swift,还有诸如 ceph,sheepdog,GlusterFS 等分布式存储。

III.Cinder

 

Cinder Client 封装 Cinder 提供的 rest 接口,以 CLI 形式供用户使用。

Cinder API 对外提供 rest API,对操作需求进行解析,对 API 进行路由寻找相应的处理方法。包含卷的增删改查(包括从源卷、镜像、快照创建)、快照增删改查、备份、volume type 管理、挂载/卸载(Nova 调用)等。

Cinder scheduler 负责收集 backend 上报的容量、能力信息,根据设定的算法完成卷到指定 cinder-volume 的调度。

Cinder volume 多节点部署,使用不同的配置文件、接入不同的 backend 设备,由各存储厂商插入 driver 代码与设备交互完成设备容量和能力信息收集、卷操作。

Cinder backup 实现将卷的数据备份到其他存储介质(目前 Swift/Ceph/TSM 提供了驱动)。

SQL DB 提供存储卷、快照、备份等数据,支持 Mysql、PG、MSSQL 等 SQL 数据库。

IV.Swift

 

Proxy Server:对外提供对象服务 API,由于采用无状态的 REST 请求协议,可以进行横向扩展来均衡负载。 ◎Account Server:提供账户元数据和统计信息,并维护所含容器列表的服务,每个账户的信息被存储在一个 SQLite 数据库中。 ◎Container Server:提供容器元数据和统计信息,并维护所含对象列表的服务,每个容器的信息也存储在一个 SQLite 数据库中。 ◎Object Server:提供对象元数据和内容服务,每个对象的内容会以文件的形式存储在文件系统中,元数据会作为文件属性来存储,建议采用支持扩展属性的 XFS 文件系统。

Replicator:检测本地分区副本和远程副本是否一致,发现不一致时会采用推式(Push)更新远程副本,并且确保被标记删除的对象从文件系统中移除。 ◎Updater:当对象由于高负载的原因而无法立即更新时,任务将会被序列化到在本地文件系统中进行排队,以便服务恢复后进行异步更新。 ◎Auditor:检查对象,容器和账户的完整性,如果发现比特级的错误,文件将被隔离,并复制其他的副本以覆盖本地损坏的副本;其他类型的错误会被记录到日志中。

Account Reaper:移除被标记为删除的账户,删除其所包含的所有容器和对象。

三、三大存储组件的区别

功能上的区别

Glance 提供镜像服务,他负责对镜像进行管理,例如发现、注册,镜像是产生虚拟机系统盘的模板;Cinder 给虚拟机提供块级的持久化卷,通过 Cinder 可以实现卷的创建、挂载、快照等功能;Swift 是 openstack 提供的一种分布式、持续虚拟对象存储。

存储空间的区别

Glance 并不保存镜像,他将数据交给后端存储去进行保存:Swift、本地存储、OBS 等;Cinder 本身也不保存卷,但他可以通过 Driver 来接管各种存储,并通过这些存储给虚拟机提供空间。他可以接管华为 VRM Datastore、VMware Datastore、华为 FusionStorage、华为 OceanStorV3、LVM 等;Swift 它本身维持空间并对外提供对象存储服务,通常使用本地存储+XFS 文件系统。

总结一下,今天我们学习了 openstack 以及三大存储组件的本质以及作用,想要深入学习的同学可以课下去查阅 openstack 相关的文档,参照对应的文档不妨可以搭建 openstack 实验环境来进行一个系统的学习。Openstack经过多年的发展,整个组织架构变得越来越庞大。本身提供多种存储服务,这也是为了满足更多不同的需求,体现出开源项目灵活快速的特性。总的说来,当需要去选择存储的时候,如果考虑到将来会被多个应用所共同使用,应该视为长期的决策。Openstack作为一个开放的系统,最主要是解决软硬件供应商锁定的问题,可以随时选择新的硬件供应商,将新的硬件和已有的硬件组成混合的集群,统一管理,当然也可以替换软件技术服务的提供商,不用动应用。这是开源本身的优势。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/302041.html<

(0)
运维的头像运维
上一篇2025-05-24 14:58
下一篇 2025-05-24 14:59

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注