带你读《存储漫谈Ceph原理与实践》第二章Ceph 架构2.2 Ceph 数据寻址(一)

简介: 带你读《存储漫谈Ceph原理与实践》第二章Ceph 架构2.2Ceph 数据寻址

在从方案演进及变迁的较为宏观角度对比了分布式存储系统的有中心架构与无中心架构寻址方式之后,本小节将深入Ceph 存储系统的数据寻址方案,进行详细介绍。

在   PB   级数据存储和成百上千台存储服务器纳管的需求背景下,大规模分布式存储系统必须做到数据和负载的均衡分布,以此来提高资源利用率,最大化系统的性能输出,同   时要处理好系统的扩展和硬件失效问题。Ceph设计了一套 CRUSH 算法,用在分布式对象存储系统(RADOS)上,可以有效地将数据对象(Object)映射到存储设备(OSD)上。CRUSH     算法能够处理存储设备的添加和移除,并最小化由于存储设备的添加和移动而导致的数据迁移。

 

CRUSH 算法有两个关键优点。

(1)  任何组件都可以独立计算出 Object所在的位置(去中心化

(2)  运算过程只需要很少的集群元数据(ClusterMap,只有当存储集群添加或删除设备时,这些元数据才会发生改变。

这些特性使得 CRUSH 适合管理对象分布非常大的(PB级别)且要求可伸缩性、性能和可靠性非常高的存储系统。


2.2.1     Ceph寻址流程

为了讲清楚 Ceph 寻址流程,这里先介绍一下常用术语。

◆  File

File   是要存储和访问的文件,它是面向用户的,也是可直观操作的对象,在块存储使用场景,File 指挂载出去使用的RBD设备;在对象存储使用场景,File指用户可见的音视频或其他格式的用户数据;在文件存储使用场景File 指文件系统中存储的用户数据。

◆  Object

ObjectCeph底层 RADOS所看到的对象,也是在 Ceph中数据存储的基本单位,File过大时,需要将File切分成统一大小的 Object进行存储,每个 Object应包含 ID、BinaryDataMetadata信息。Object的大小可由 RADOS限定通常为 4MB,可依据需要进行配置

◆  PG

PG(PlacementGroup)是一个逻辑的概念,它的用途是对 RADOSObject的存储进行组织和位置的映射,通过PG概念的引入,Ceph 存储系统可以更好地分配数据和定位数据,PGCeph存储系统数据均衡和恢复的最小单位。

◆  Pool

Pool规定了数据冗余的类型,如副本模式、纠删码模式,对于不同冗余类型的数据存储,需要单独的 Pool划分,即每个 Pool只能对应一种数据冗余类型的规则。每个 Pool内可包含多个 PG。

◆  OSD

如第 1章介绍,OSD(ObjectStorageDevice)服务负责数据的存取,并处理数据的复制、恢复、回填、再均衡等任务。

PGObject 是一对多的关系,1PG里面组织若干个 Object,但是 1Object射到 1PG 中。

PGOSD是多对多的关系,1PG会映射到多个OSD(依照副本或者纠删码规则每个 OSD也会承载多个 PG

PGPool是多对一的关系1Pool内包含多个 PGPool创建时可指定其中 PG的数量(通常为2的指数次幂Pool创建之后,也可以通过命令对其进行调整。

2-1展示了 Ceph 的寻址流程,可以看到,Ceph的寻址需要经历 3次映射。

 

 image.png

2-1Ceph寻址流程

 

 

首先,将File切分成多个 Object

每个Object都有唯一的IDOID,OID根据文件名称得到,由inoono构成, ino为文件唯一ID(比如filename+timestampono则为切分后某个Object的序号(如0、 1、2、3、4、5,根据该文件的大小我们就会得到一系列的OID。

其次,将每个 Object映射到一个 PG中去。

实现方式也很简单,对 OID进行 Hash 运算,然后对运算结果进行按位与计算,即可得到某一个 PGID。图中的mask掩码设置为 PG的数量减 1

我们认为得到的 pgid是随机的,这与 PG的数量和文件的数量有关系,在足够量级PG数量的前提下,集群数据是均匀分布的。最后,将 Object所在的 PG映射到实际的存储位置 OSD上。

这里应用的就是 CRUSH算法了,CRUSH算法可以通过 pgid得到多个 OSD副本或者纠删码的配置策略有进程。

可以看到,Ceph 存储系统的数据寻址过程只需要输入文件的名称以及文件的大小等信息,所有计算过程都可以直接在客户端本地完成。Ceph客户端只要获得了 ClusterMap, 就可以使用 CRUSH算法计算出某个 Object所在OSDid,然后直接与它通信。Ceph客户端在初始化时会从Monitor服务获取最新的 Cluster   Map,随后采用反向订阅机制,仅当Monitor服务中记录的ClusterMap 发生变化时,才主动向Ceph 客户端进行推送。

目录
打赏
0
0
0
0
45
分享
相关文章
软考软件评测师——计算机组成与体系结构(分级存储架构)
本内容全面解析了计算机存储系统的四大核心领域:虚拟存储技术、局部性原理、分级存储体系架构及存储器类型。虚拟存储通过软硬件协同扩展内存,支持动态加载与地址转换;局部性原理揭示程序运行特性,指导缓存设计优化;分级存储架构从寄存器到外存逐级扩展,平衡速度、容量与成本;存储器类型按寻址和访问方式分类,并介绍新型存储技术。最后探讨了存储系统未来优化趋势,如异构集成、智能预取和近存储计算等,为突破性能瓶颈提供了新方向。
Linux多节点多硬盘部署MinIO:分布式MinIO集群部署指南搭建高可用架构实践
通过以上步骤,已成功基于已有的 MinIO 服务,扩展为一个 MinIO 集群。该集群具有高可用性和容错性,适合生产环境使用。如果有任何问题,请检查日志或参考MinIO 官方文档。作者联系方式vx:2743642415。
468 57
一文带你从入门到实战全面掌握RocketMQ核心概念、架构部署、实践应用和高级特性
本文详细介绍了分布式消息中间件RocketMQ的核心概念、部署方式及使用方法。RocketMQ由阿里研发并开源,具有高性能、高可靠性和分布式特性,广泛应用于金融、互联网等领域。文章从环境搭建到消息类型的实战(普通消息、延迟消息、顺序消息和事务消息)进行了全面解析,并对比了三种消费者类型(PushConsumer、SimpleConsumer和PullConsumer)的特点与适用场景。最后总结了使用RocketMQ时的关键注意事项,如Topic和Tag的设计、监控告警的重要性以及性能与可靠性的平衡。通过学习本文,读者可掌握RocketMQ的使用精髓并灵活应用于实际项目中。
476 7
 一文带你从入门到实战全面掌握RocketMQ核心概念、架构部署、实践应用和高级特性
千万级数据秒级响应!碧桂园基于 EMR Serverless StarRocks 升级存算分离架构实践
碧桂园服务通过引入 EMR Serverless StarRocks 存算分离架构,解决了海量数据处理中的资源利用率低、并发能力不足等问题,显著降低了硬件和运维成本。实时查询性能提升8倍,查询出错率减少30倍,集群数据 SLA 达99.99%。此次技术升级不仅优化了用户体验,还结合AI打造了“一看”和“—问”智能场景助力精准决策与风险预测。
316 69
为什么混合专家模型(MoE)如此高效:从架构原理到技术实现全解析
本文深入探讨了混合专家(MoE)架构在大型语言模型中的应用与技术原理。MoE通过稀疏激活机制,在保持模型高效性的同时实现参数规模的大幅扩展,已成为LLM发展的关键趋势。文章分析了MoE的核心组件,包括专家网络与路由机制,并对比了密集与稀疏MoE的特点。同时,详细介绍了Mixtral、Grok、DBRX和DeepSeek等代表性模型的技术特点及创新。MoE不仅解决了传统模型扩展成本高昂的问题,还展现出专业化与适应性强的优势,未来有望推动AI工具更广泛的应用。
183 4
为什么混合专家模型(MoE)如此高效:从架构原理到技术实现全解析
阿里云SLB深度解析:从流量分发到架构优化的技术实践
本文深入探讨了阿里云负载均衡服务(SLB)的核心技术与应用场景,从流量分配到架构创新全面解析其价值。SLB不仅是简单的流量分发工具,更是支撑高并发、保障系统稳定性的智能中枢。文章涵盖四层与七层负载均衡原理、弹性伸缩引擎、智能DNS解析等核心技术,并结合电商大促、微服务灰度发布等实战场景提供实施指南。同时,针对性能调优与安全防护,分享连接复用优化、DDoS防御及零信任架构集成的实践经验,助力企业构建面向未来的弹性架构。
314 76
高性能云盘:一文解析RDS数据库存储架构升级
性能、成本、弹性,是客户实际使用数据库过程中关注的三个重要方面。RDS业界率先推出的高性能云盘(原通用云盘),是PaaS层和IaaS层的深度融合的技术最佳实践,通过使用不同的存储介质,为客户提供同时满足低成本、低延迟、高持久性的体验。
|
19天前
|
微信读书十周年,后台架构的技术演进和实践总结
微信读书经过了多年的发展,赢得了良好的用户口碑,后台系统的服务质量直接影响着用户的体验。团队多年来始终保持着“小而美”的基因,快速试错与迭代成为常态。后台团队在日常业务开发的同时,需要主动寻求更多架构上的突破,提升后台服务的可用性、扩展性,以不断适应业务与团队的变化。
39 0
图神经网络在信息检索重排序中的应用:原理、架构与Python代码解析
本文探讨了基于图的重排序方法在信息检索领域的应用与前景。传统两阶段检索架构中,初始检索速度快但结果可能含噪声,重排序阶段通过强大语言模型提升精度,但仍面临复杂需求挑战
82 0
图神经网络在信息检索重排序中的应用:原理、架构与Python代码解析
Spring框架 - 深度揭秘Spring框架的基础架构与工作原理
所以,当你进入这个Spring的世界,看似一片混乱,但细看之下,你会发现这里有个牢固的结构支撑,一切皆有可能。不论你要建设的是一座宏大的城堡,还是个小巧的花园,只要你的工具箱里有Spring,你就能轻松搞定。
103 9

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问