Ceph之CRUSH解析

问题考虑:

1):故障隔离,降低数据损坏的风险;2)负载均衡,避免部分节点空闲,部分节点超载,影响系统性能;3)控制节点加入离开引起的数据迁移量。

对象存储中一致性hash和Ceph的CRUSH算法是使用比较多的数据分布算法,Amazon的Dyanmo键值存储系统采用一致性hash算法,并对它做了很多优化,OpenStack的Swift对象存储系统也采用一致性hash算法。

CRUSH是一种基于伪随机控制数据分布、复制的算法,CRUSH为解决数据的平衡分布、负载、最大化系统性能以及系统的扩展和硬件容错而被设计的。在Ceph集群中,CRUSH需要一个简洁而层次清晰的设备描述,包括存储集群和副本放置策略,从而有效的将数据对象映射大存储设备上,而这个过程完成是分布式的。

CRUSH原理


存储设备具有吞吐量限制,影响读写性能和可扩展性,所以存储系统需要支持条带化以增加存储系统的吞吐量并提升性能。数据条带化常见方式是做RAID,同Ceph的条带化最相似的是RAID 0,Ceph条带化提供类似RAID 0的吞吐量。决定Ceph条带化数据的3个因素:

  • 对象大小:处于分布式集群中的对象拥有一个最大可配置的尺寸,对象大小应该足够大以适应大量的条带单元
  • 条带宽度:条带有一个可配置的单元大小,每个条带宽度应该是对象大小的一小部分
  • 条带总量:

Ceph条带化后,获得N个带有唯一object ID, object ID是进行线性映射生成,由file的元数据、Ceph条带化产生的Object的序号连缀而成。对象映射到PG,映射包括两部分:静态hash计算Object

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值