`
zhoubo0706
  • 浏览: 953 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

CEPH分布式存储中CRUSH算法来源及优点

阅读更多

      CEPH是近几年软件定义存储的新贵,以其面向海量存储、提供高可靠、易扩展、高性能的设计理念,在Openstack开源生态中逐渐绽放光彩。CEPH的原型设计及开发者Sage.A.Weil是一个充满传奇经历的电脑极客,CEPH首次出现在其博士论文中。与Linux一样,CEPH的开源给它点燃了强大的生命力,其开放、共享的自由精神,让它如熄火燎原,迅速发展状态。

       任何事物的发展与其时代背景息息相关,没有时代大环境的支持,大多的事物及思想也如昙花一现,瞬间淹没在时代发展的浪潮中。在地球文明的这次迭代中,人类不断探索和演进,通过文字、图表和代码固化传递知识,一次又一次突破自然和自我的限制,创造了一个美好的时代。

       如何让社会更加美好是当前人类发展的动力和进步的原因,发展中不断积累的信息及生产的数据在由量变得到质变的转换后,成为了新的苦恼。任何一个事物的出现,大部分的是为了解决遇到的问题,并且在解决问题过程当中不断的迭代。Crush就是Ceph为解决海量数据存储分布而优化适配的一种Hash算法。

       Crush不是一种全新的算法而是基于存储及使用环境的一种设备方法。在正式分析crush前,介绍一下Ceph的架构。ceph的架构如图:

其底层是对象存储Rados,对外提供RADOSGW(对象网关),RBD(块存储),CEPH-FS(文件系统)及LIBRADOS(rados调用库)。RADOS是一个对象存储,其需要解决海量数据的分布和维护数据的增、删、改、查。CRUSH就是控制RADOS中数据分布的核心。

      HASH是一种将数据管理的思想,主旨是将广域的信息通过一定方法映射到小的数据集中。对于简单的使用,需要解决HASH冲突,解决HASH冲突的方法不在此学习和介绍。CRUSH是将海量的数据通过特定化的控制分布到不同的服务器上。在Sage A weil的论文中对于Crush的描述如下。

     CRUSH(controlled Replication Under Scalable Hashing), a pseudo-random data distribution algorithm that efficiently and robustly distributes object replicas across a heterogeneous, structured storage cluster. CRUSH is implemented as a pseudo-random, deterministic fucntion that maps an input value, typically an object or object group dentifier, to a list of devices on which to store object replicas.This differ form conventional approaches int that data placement does not rely on any sort of pre-file or pre-object directory-CRUSH needs only a compact, hierarchical description of the devices comprising the storage cluster and knowledge of the replica placement policy. This approach has two key advantages: first, it is completely distributed such that any party in a large system can independdenty ccalculate the location of any object; and second, what little metadat is required is mostly static., changing only when devices are added or removed.

      表述的意思主要是:CRUSH是一种伪随机算法,根据输入值及已定义的对象或对象组,得到要存储到的存储设备集合,当它的依赖的对象或对象集合发生变化时,这个描述集合的元数据才发生变化。极其轻量的元数据和根据描述集合获得存储集合是CRUSH算法的关键优点。

      因此与CRUSH算法相关的两个主题是:CRUSH算法和依赖的cluster Map。在论文中对于CRUSH算法及cluster Map的描述主要如下。

    Cluster Map: The cluster map is composed of devices and buckets, both of which has numerical identifiers and weight  values associated with them.Buckets can contain any number of devices or other buckets, allowing them to form interior nodes in a storage herarchy in which devices are always are the leaves. 

    CRUSH algorithm: Given a single integer input value x, CRUSH will output an orderd list R of n distinct storage targets. CRUSH utillizes a strong multi-input integer hash function whose inputs include x, making the mapping completly deterministic and independently calculable using only the cluster map, palcement rules, and x.

      集群的Map表由设备和桶构成。设备和桶都根据他们关联的设备进行数字的量化,桶可以包括桶和设备,在他们构成的层次结构中,设备始终位于叶子节点。

      CRUSH算法对于输入的一个整数x,会输出n个不同存储设备的排序的集合列表集R。CRUSH使用x,集群map和放置规则进行独立计算。

       架构是解决问题的核心,在具体实现过程中,更需要解决诸多细节问题,比如怎么减少crush算法在集群变化后数据迁移,如何设计集群内核集群间的数据同步。通过十多年的迭代,CEPH的快速迭代和日渐广泛使用将这些问题一一解决,Ceph已经逐渐成为企业级存储的主流解决方案,深入的对ceph中的原理及代码进行学习对存储架构及实现学习具有重要的参考意义。

  • 大小: 37.7 KB
分享到:
评论

相关推荐

    Ceph 分布式存储实战(高清带目录完全版本562页)

    《Ceph分布式存储实战》是一本深入探讨Ceph技术的高清完整版图书,共计562页,旨在帮助读者全面理解和掌握Ceph分布式存储系统。Ceph作为一个开源的、高可扩展的统一存储解决方案,其核心特性包括数据的高可用性、...

    ceph分布式存储解说

    与GlusterFS相比,Ceph提供了更高级别的数据冗余和故障恢复策略,例如CRUSH算法用于智能地分布数据以避免单点故障。 在部署Ceph时,首先需要安装和配置Ceph组件,创建存储池,然后根据需求创建不同类型的卷。比如,...

    Ceph分布式存储系统性能优化技术研究综述.pdf

    Ceph分布式存储系统是一个统一的分布式存储解决方案,其主要特性在于能够提供块存储、文件系统和对象存储三种接口服务,支持多样的数据访问方式。Ceph的设计哲学与传统分布式存储系统不同,它采用无中心节点的元数据...

    Ceph分布式存储技术研究与设计.pdf

    Ceph是一个高性能、高可靠性的分布式存储系统,适用于当今日益增长的数据存储需求。它具有良好的扩展性、高可用性,并且能够提供块存储、文件存储、对象存储三种接口,在同一个集群内支持多种存储形式,是当前主流的...

    ceph分布式存储入门文章

    ### Ceph分布式存储系统知识点详解 #### 一、Ceph简介 Ceph作为一个备受瞩目的开源存储项目,凭借其独特的“统一的”和“分布式的”特性,在存储领域内占据了重要地位。它不仅可以同时支持对象存储、块存储和文件...

    ceph crush算法分析

    Ceph 是一个高度可扩展的分布式存储系统,设计用于处理PB级别的数据和大量的存储设备。在这样的环境中,有效地分布数据和负载至关重要,以确保资源利用率最大化,系统性能最优化,并能适应扩展和硬件故障。为此,...

    Ceph分布式存储平台指南.docx

    Ceph分布式存储平台指南 Ceph是当前开源世界中的一种流行的分布式存储解决方案。许多企业IT基础设施经理们都需要了解Ceph是如何满足企业级存储产品的需求的。Ceph通过其三大存储接口满足了企业的多样需求,通过其...

    RedHat Ceph分布式存储-存储策略指南.pdf

    总而言之,本指南是为希望在生产环境中部署和管理Red Hat Ceph分布式存储系统的用户提供的详细参考资料。遵循该指南,用户可以创建适合自身应用需求的存储策略,优化数据存储和访问效率,从而保证服务的连续性和数据...

    基于Ceph的分布式存储在数据中心的设计与实现1

    关键词:Ceph分布式存储,CRUSH算法,性能优化,数据中心 这篇论文的工作涵盖了从理论研究到实践应用的全过程,不仅对Ceph分布式存储的原理进行了深入探讨,还结合实际需求进行了定制化设计,为数据中心的存储解决...

    Ceph分布式文件系统的研究及性能测试1

    总的来说,Ceph分布式文件系统以其先进的CRUSH算法和RADOS对象存储服务为基础,展示了出色的性能和可扩展性。通过深入研究和性能测试,不仅可以验证系统的优秀特性,还可以找到优化点,提升整个系统的效率。这为大型...

    第五十章:Ceph分布式存储1

    总的来说,Ceph分布式存储系统以其独特的设计理念和强大的功能,成为现代数据中心和云环境中的理想选择。它不仅能够处理PB级别的数据,还支持高并发访问,同时提供了多种存储服务接口,满足了不同应用场景的需求。在...

    Ceph的CRUSH算法原理

    随着大规模分布式存储系统的兴起,诸如Ceph这样的系统面临着将PB级别的数据分布到成千上万台存储设备中的挑战。为了有效地利用可用资源并最大化系统性能,这些系统必须均匀地分配数据和工作负载,并且在管理硬件故障...

    RedHat Ceph分布式存储-硬件配置指南.pdf

    RedHat Ceph分布式存储硬件配置指南为技术人员提供了关于Ceph部署工作的高级基础设施指南,包括工作负载分析、Ceph监视器配置和Ceph部署中的OSD硬件定级。指南总结了硬件配置的建议,用以开始执行可扩展部署,并摆脱...

    分布式存储Ceph技术及应用白皮书

    总的来说,Ceph作为一款强大的分布式存储系统,因其灵活性、可靠性和高效性,在现代数据中心和云计算环境中扮演着越来越重要的角色。随着技术的不断发展,Ceph将继续推动存储领域的创新,为企业级存储解决方案提供更...

    OpenStack Ceph分布式存储安装测试报告.docx

    OpenStack Ceph分布式存储安装测试报告详述了在IT领域中一种重要的云存储解决方案——OpenStack集成Ceph的实现过程及测试结果。本报告旨在深入理解这两种技术的结合,为读者提供一个清晰的概览。 一、基础知识介绍 ...

    分布式文件系统CEPH的CRUSH算法原理

    CRUSH算法作为CEPH分布式文件系统的核心组件之一,解决了大规模分布式存储系统中数据的均衡分布问题。通过使用伪随机函数、哈希函数和层次化的存储模型,CRUSH不仅实现了数据的高效分布,还确保了系统的可扩展性、...

    金融行业基于服务器通过Ceph实现分布式存储最佳实践.docx

    金融行业基于服务器通过Ceph实现分布式存储最佳实践是当前IT行业中的一种热门技术,旨在解决金融行业中的数据存储问题。下面是关于金融行业基于服务器通过Ceph实现分布式存储的知识点: 1. 分布式存储的定义:...

    RedHat Ceph分布式存储-技术架构.pdf

    4. **CRUSH算法**:Ceph使用CRUSH(Controlled Replication Under Scalable Hashing)算法来决定数据的分布和复制策略。该算法根据节点的性能和容量动态调整数据分布,确保数据的高效访问和均衡负载。 5. **监控与...

Global site tag (gtag.js) - Google Analytics