首页 技术 正文
技术 2022年11月17日
0 收藏 712 点赞 3,452 浏览 479 个字

在分布式系统中,数据最终还是要存储到物理设备上的,ceph的底层设备抽象角色是OSD,那么数据是如何被决定放在哪块OSD上的,答案就是CRUSH算法。

关键字:CRUSH、一致性hash、ceph数据分布

总体来说,数据存储分为2个阶段

  1,首先根据一般的hash算法,对数据x的hash数值进行PG数取模运算

    PG是ceph中由OSD再进一步抽象出来的资源池pool中的虚拟存储单元

    为什么要抽象出这一层呢,其实可以类比LVM的作用,即为了让一切资源都能够变得“不那么硬“,

    方便在故障发生时,系统扩容时,可以迅速的调整,并且对整体系统影响最小

    PG的存在让节点的增加和减少变为了逻辑层面的调整,对物理层的OSD起到了封装的作用

  2,确定了PG后,再根据monitor节点中的全局拓扑cluster map,结合数据规则(副本数),再次映射到具体的OSD节点上

    此时需要注意选择的OSD节点可能是多个,算法会保证不在同一个故障域

    故障域的大小可以是(从小到大级别):host-rack-row-root

下面照例总结一张图:

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,488
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,903
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,736
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,487
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,127
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,289