Ceph分布式存储混合硬件架构方案

笔者在为容器云做存储支持时开始接触、使用、研究ceph分布式存储系统。Ceph能够同时提供对象存储、文件存储以及块存储,为基于云的海量数据存储提供了较优的解决方案。

 

具体了解ceph相关内容请参考ceph官网[1]及论文[2]。本文主要讲基于ssd和hdd混合硬件的三种架构方案以及大致步骤,力求在硬件价格成本与存储服务性能之间找到一个最佳平衡点。目前ceph的osd主要可以基于SSD或者HDD的裸盘进行构建,如果全部基于SSD进行构建,毫无疑问其性能一定会最优,但是SSD价格昂贵,出于成本考虑,不可能全部采用SSD进行构建,那么SSD与HDD混合硬件架构就显得很有必要。下面我们根据ceph的功能特点来讲三种架构方案,以及实现的大致步骤。

 

方案1:主本在SSD其余副本在HDD:

ceph写时先写primary,成功后primary写向其余副本,其余副本写成功才会向ceph客户端响应写成功,而ceph读时直接从primary读取。综合考虑,将primary放在基于SSD的OSD上,其余副本放在基于HDD的OSD上,步骤大体如下:

1.1 设置ceph.conf 主副本倾向性选择性为true
[mon]

 monosd allow primary affinity = true

修改配置后强制同步到集群的其它机器,重启mon。

 

1.2 将hdd被选为primary的概率设置为0:
ceph osd primary-affinity osd.<id> 0

1.3 编写新的crush  rule 使得主副本一定落在ssd上,假设bucket只有host:
     rule ssd-primary-rule{
        ruleset 1
        typereplicated
        min_size 2
        max_size 3
        step take default class ssd
        step chooseleaf firstn 1 type host
        step emit
        step take default class hdd
        step chooseleaf firstn -1 type host
        step emit
       }

 

1.4 编译crush rule:
1.4.1 获取ceph集群crush map:
ceph osd getcrushmap -o{compiled-crushmap-filename}
1.4.2 反编译获取的map二进制文件:
crushtool -d{compiled-crushmap-filename} -o {decompiled-crushmap-filename}
1.4.3  将1.3中编写的rule添加到反编译可编辑文件的rule集合中;
1.4.4 重新编译生成crush map二进制文件:
crushtool -c {decompiled-crushmap-filename}-o {compiled-crushmap-filename}
1.4.5  将新的crush map注入进ceph集群中:
ceph osdsetcrushmap -i {compiled-crushmap-filename}

 

1.5 创建pool并指定该pool所用crush rule 为1.3的rule:
ceph osd pool create ssdprimary_pool 128 128
ceph osd poolset ssdprimary_pool crush_rule ssd-primary-rule
至此,对于存储池ssdprimary_pool的主副本一定会落在ssd上,其余副本在hdd上。

 

方案2:为用户存储池分优先级:

用户优先级高的所有副本指定到ssd,优先级低的所有副本指定到hdd,也是通过编写crush rule来实现,具体可模仿1.3 的crush rule 。crush  rule的理解请参考论文[3]。

 

方案3:分层存储

 

分层存储利用ceph的缓存代理技术,将ssd作为hdd的缓存层,把客户端对hdd的写与读全部引到对ssd的写与读,而用户本身不用关心其实现细节及后端配置。实现这样的功能,需要进行如下配置:

3.1 创建两个crush rule, 使得cache pool能够全部选择ssd,storage pool能够全部选择hdd:

  rule high-priority{

             id 2

             type replicated

             min_size 2

             max_size 3

             step take default class ssd

             step chooseleaf firstn 0 type host

             step emit

   }

 

  rule low-priority{

               id 3

               type replicated

               min_size 2

               max_size 3

               step take default class hdd

               step chooseleaf firstn 0 type host

               step emit

   }

 

3.2. 分别创建后端存储池和前端缓存池:

     ceph osd pool create test_storage 64 64 low-priority

     ceph osd pool create test_cache 64 64 high-priority

3.3. 设置缓存池为存储池的tier:

     ceph osd tier add test_storage  test_cache

3.4. 设置缓存模式:

      ceph osd tier cache-mode test_cachewriteback

3.5. 打通客户端从存储池到缓存池的交互:

      ceph osd tier set-overlay test_storage test_cache 

至此,之后客户端对真正后端存储池的所有操作将被透明化到前端缓存池,当然,由于缓存的存在,缓存刷写参数的配置将会很大程度上影响性能。

 

三种混合硬件存储架构方案,具体哪一种能将存储性能发挥到最优,还需要不断测试对比以及根据实际业务进行配置与调整,没有绝对的好与坏。

 

[1].  https://ceph.com/

[2]. Sage A.Weil,  Andrew W.Leung,Scott A. Brandt, Carlos Maltzahn.  RADOS:A Scalable,Reliable Storage Service for Petabyte-scale Storage Clusters.

[3]. Sage A.Weil,  Andrew W.Leung, Ethan L.Miller, CarlosMaltzahn. CRUSH: Controlled, Scalable, Decentralized Placement of ReplicatedData.

### 回答1: CEPH是一种开源的分布式文件系统和对象存储系统,以其高可靠、可扩展和高性能的特点而受到广泛关注。《Ceph分布式存储实战》是一本关于CEPH分布式存储系统的实用指南,内容详细介绍了CEPH的架构、部署和运维等方面的知识,适合对CEPH感兴趣的读者学习和实践。 该书首先介绍了CEPH的基本概念和工作原理,包括集群、数据分布、数据一致性等重要内容。对于初次接触CEPH的读者来说,这些基础知识的讲解非常实用。接着,书中详细探讨了CEPH的架构,包括存储节点、元数据服务器、监控节点等组件的功能和相互关系。通过对CEPH的结构深入了解,读者可以更好地理解其内部工作机制。 此外,《Ceph分布式存储实战》还包含了CEPH的部署和配置指南,以及一些常见问题的解决方案。对于想要实际搭建CEPH集群的读者来说,这些指南非常有用。书中还介绍了CEPH的运维和监控方法,包括集群管理、容错处理、性能优化等等。这些内容能帮助读者更好地维护和管理自己的CEPH系统。 总结来说,《Ceph分布式存储实战》是一本实用的CEPH指南,通过对CEPH的架构和运维等方面进行详细讲解,帮助读者深入了解CEPH的工作原理,掌握CEPH的实际应用。对于对CEPH感兴趣的读者来说,这本书是一本不可多得的参考资料。无论是初学者还是有一定经验的运维人员,都能从中获得实用的知识和技巧。 ### 回答2: 《ceph分布式存储实战》是一本介绍ceph分布式存储系统的实践指南,全书共分为六个部分。 第一部分简要介绍了ceph的基本概念和基础知识,包括ceph的架构和工作原理,以及分布式存储系统的设计理念和挑战。读者通过本部分可以了解到ceph的核心概念和基本原理,为后续的实战内容打下基础。 第二部分主要讲解了ceph的部署和配置,包括ceph的安装、环境配置和网络设置。此外,还介绍了如何创建存储集群、配置存储池和设置用户权限等。通过本部分的学习,读者可以掌握ceph的部署和配置方法,为后续的使用和维护工作打下基础。 第三部分重点介绍了ceph的数据管理和存储方案。包括数据分布和均衡、数据迁移和备份、以及故障恢复和容灾等方面。本部分通过具体的操作示例和案例分析,帮助读者理解ceph在实际应用中的数据管理和存储方案。 第四部分讲解了ceph的性能调优和监控。包括如何优化ceph的性能、如何监控ceph集群的状态和性能指标。同时,本部分还介绍了一些常见的问题和故障处理方法。通过本部分的学习,读者可以掌握ceph的性能调优和故障处理的方法和技巧。 第五部分介绍了ceph的高级特性和扩展应用。包括缓存和加速、多租户和多数据中心等方面。本部分通过实战案例和实际应用场景的分析,帮助读者了解ceph的高级特性和扩展应用。 第六部分总结了整本书的内容,并展望了ceph的发展趋势和前景。通过本部分的学习,读者可以对ceph分布式存储技术有一个全面的了解,并能够根据实际需求进行部署和应用。 总的来说,《ceph分布式存储实战》是一本详实的实践指南,通过具体的操作示例和实际应用案例,帮助读者全面了解ceph分布式存储系统的基本原理和实践方法。无论是初学者还是有一定经验的读者,都可以通过阅读本书,掌握ceph的配置部署、数据管理、性能调优和扩展应用等方面的知识和技能。 ### 回答3: 《Ceph分布式存储实战pdf》是一本介绍Ceph分布式存储技术的实战指南。Ceph是一个开源的分布式存储平台,具有高可靠性、高扩展性和高性能的特点,可以用于构建私有云、公有云以及混合云等存储解决方案。 这本书主要内容包括Ceph的基本概念、架构和工作原理,以及Ceph的部署、配置和管理方法。读者可以从中学习到Ceph的各种组件和功能,如RADOS对象存储、RBD块设备、CephFS文件系统等,并深入了解它们的实际应用场景。 此外,本书还介绍了Ceph在企业中的应用案例,包括容器存储、虚拟化存储、大数据存储等。读者可以通过这些案例了解Ceph在不同场景中的具体应用方法和效果,并可以根据自己的需求选择相应的部署和管理策略。 《Ceph分布式存储实战pdf》除了提供理论知识外,还包含了丰富的实际操作指南和实验实例。读者可以按照书中的步骤进行一系列的实验,从而掌握Ceph的部署、配置和管理技巧,提升自己的实战能力。 总之,这本书是一本系统地介绍Ceph分布式存储技术的实战指南,适合对Ceph感兴趣的读者阅读。无论是初学者还是有一定经验的技术人员,都可以从中获得宝贵的知识和经验,更好地应用Ceph进行分布式存储的实践工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值