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

[经验分享] ceph学习笔记之四PG

[复制链接]

尚未签到

发表于 2019-2-2 08:31:03 | 显示全部楼层 |阅读模式
  PG
    PG(Placement Group)单从名字上可理解为一个放置策略组,它是对象的集合,集合里的所有对象具有相同的放置策略;对象的副本都分布在相同的OSD列表上。一个对象只能属于一个PG,一个PG对应于放置在其上的OSD列表。一个OSD上可以分布多个PG。
    PG是一组对象的逻辑集合,也可将PG看成一个逻辑容器,容器里面包含多个对象。
  

  •   图中PG1、PG2同处于一个Pool,所以是副本类型,并且是两副本。
  •   PG1、PG2里包含许多对象,PG1上的所有对象,主从副本分布在OSD1和OSD2上,PG2上的所有对象的主从副本分布在OSD2和OSD3上。
  •   一个对象只能属于一个PG,一个PG包含多个对象。
  •   一个PG的副本分布在对应的OSD列表,在一个OSD上可以分布多个PG。
  
  计算PG数
    计算ceph集群中的PG数公式:
  PG总数=(OSD总数*100)/副本数
  结果必须舍入到最接近2的N次幂的值。
    计算每个Pool的PG数,公式:
  PG总数=((OSD总数*100)/副本数)/Pool数
  结果必须舍入到最接近2的N次幂的值。
  PG与OSD
    在实际集群中由PG映射到实际存储数据的OSD中,该映射规则是CRUSH算法来确定的;映射过程大致如下:
  首先将PG ID作为CRUSH算法的输入,获取到包含N个OSD的集合,集合中的第一个OSD将被作为主OSD,其他的OSD则依次作为从OSD。N表示该PG所在Pool下的副本数,在实际生产环境中N一般为3,表示3副本数。3副本表示将一个PG复制到3个不同节点OSD上。集合中的OSD将共同维护该PG下的Object。
  CRUSH算法并不是绝对不变的,会受其他因素影响,影响因素主要有:
  1、当前系统状态(Cluster Map)
  当系统中的OSD状态、数量发生变化,会引起Cluster Map发生变化,这边变化就会影响PG与OSD的映射关系。
  2、存储策略配置 (存储策略主要与数据安全相关)
  通过策略可以指定同一个PG的3个OSD分别位于数据中心的不同服务器甚至不同机柜上,从而更加完善存储的可靠性。
  总结:只有在Cluster Map和存储策略都不发生变化的情况下,PG和OSD之间的映射关系才会不变。
  为什么选择CRUSH算法?
   之所以在PG映射过程中选择CRUSH算法而不是其他的Hash算法,原因有以下几点:
  1、CRUSH同态特性
    利用CRUSH同态特性,ceph才可以将一个PG根据具体需求动态迁移到不同的OSD上,从而自动化实现高可靠、数据分布负载等特性,即使PG与OSD的映射关系发生了变化,对上层应用不会造成太大的困扰。
  2、可配置特性
  通过对存储策略的配置,使用配置参数决定OSD的物理位置映射策略。
  3、特殊的稳定性
   当集群中加入新的OSD使规模增大时,大部分PG与OSD之间的映射关系并不会发生改变,只有少部分PG的映射关系会发生变化并触发数据迁移。




运维网声明 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-670676-1-1.html 上篇帖子: ceph详细安装部署教程(多监控节点) 下篇帖子: Ceph作为OpenStack后端存储
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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