设为首页 收藏本站
查看: 1117|回复: 0

[经验分享] ceph学习笔记之十 副本放置策略

[复制链接]

尚未签到

发表于 2019-2-2 10:18:44 | 显示全部楼层 |阅读模式
  副本放置策略
  CRUSH 算法的设置目的是使数据能够根据设备的存储能力和宽带资源加权平均地分布,并保持一个相对的概率平衡。副本放置在具有层次结构的存储设备中,这对数据安全也有重要影响。通过反射系统的物理安装组织,CRUSH算法可以将系统模块化,从而定位潜在的设备故障。这些潜在故障的资源包括物理的,比如共用电源,共用的网络。通过向集群映射编码信息,CRUSH副本放置策略可以将数据对象独立在不同故障域,同时仍然保持所需的分布。例如,为了定位可能存在的并发故障,应该确保设备上的数据副本放置在不同的机架、主机、电源、控制器、或其他的物理位置。
  Placement Rules
  Cluster Map反映了存储系统层级的物理拓扑;Placement Rules则决定了一个PG的对象副本选择规则,通过对规则进行设定,就可以使副本在集群中的分布位置。
  解读Placement Rules用法
  # rules
  rule replicated_ruleset {
          ruleset 0                //Ruleset的ID编号
          type replicated         //类型为replicated或者erasure code
          min_size 1             //副本数最小值为1
          max_size 10           //副本数最大值为10
          step take default     //选择一个名称为default的bucket,做下一步输入
          step chooseleaf firstn 0 type host   //firstn 0为表示为pool设置的副本数
          step emit
  }
  rule replicated_ssd_ruleset {
          ruleset 1
          type replicated
          min_size 1
          max_size 10
          step take ssd
          step chooseleaf firstn 0 type host
          step emit
  }
  # end crush map
  
  Placement Rules执行流程
  

  1、take操作选择一个Bucket ,一般是root类型的Bucket
  

  2、choose操作有不同的选择方式,其输入都是上一步的输出:
  

  choose firstn深度优先选择出num个类型为Bucket-type的子Bucket
  chooseleaf先选择出num个类型为Bucket-type的子Bucket,然后递归到叶节点,选择一个OSD设备。
  $、如果num为0,num为pool设置的副本数
  

  $、如果num大于0,小于pool的副本数,那么就选择出num个
  

  $、如果num小于0,就选择出pool的副本数减去num的绝对值。
  

  3、emit输出结果
  

  chooseleaf firstn {num} type {Bucket-type}等同于以下两个操作:
  

  1、choose firstn {num} type {Bucket-type}
  

  2、choose firstn 1 type osd
  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-670765-1-1.html 上篇帖子: ceph集群简单安装部署(Ubuntu14环境) 下篇帖子: KVM+Openstack+Ceph+Docker 云计算周末集训营
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表