分布式存储Ceph中的CRUSH算法

分布式存储系统之Ceph集群存储池、PG 与 CRUSH 前文我们了解了ceph集群状态获取常用命令以及通过ceph daemon、ceph tell动态配置ceph组件、ceph.conf配置文件相关格式的说明等,回顾请参考https://blog.youkuaiyun.com/qiuhom-1874/p/16727820.html;今天我们来聊一聊ceph的存储池、PG以及CRUSH相关话题;一、关于存储池我们知道ceph客户端存储对象数据到RADOS集群上,不是客户端直接存储到osd上;首先客户端会根据ceph集群的配置,将客户端存储的对象数据切分多个固定大小的对象数据 阅读详情
AI摘要

CRUSH算法是Ceph集群中用于数据分布的关键机制,它基于hash,通过clustermap和placementrule确保数据在存储设备间的高效、均衡分布。CRUSH算法采用分层的ClusterMap和数据分布策略,通过select操作动态选择存储位置,并能应对设备增减和故障。当集群发生变化时,CRUSH能够自动调整数据分布,维持系统稳定性。用户可以通过编辑和调整CRUSHmap来实现数据备份和负载均衡策略。

CRUSH算法是一种基于hash的数据分布算法,在Ceph集群中以cluster map作为输入将数据映射到所有的存储设备之间。本文简单介绍Ceph中的CRUSH算法原理。


1、Ceph中的CRUSH算法
1.1 CRUSH算法介绍

CRUSH(Controlled Replication Under Scalable Hashing)是一种基于hash的数据分布算法,以数据唯一标识符、当前存储集群的拓扑结构以及数据备份策略作为CRUSH输入,可以随时随地通过计算获取数据所在的底层存储设备的位置并直接与其通信,从而避免查表操作,实现去中心化和高度并发。

CRUSH算法基于权重将数据映射到所有的存储设备之间,这个过程高度依赖于集群的拓扑描述cluster map和不同的数据分布策略placement rule。CRUSH的计算过程仅使用x、cluster map和placement rule作为hash函数的输入,如果cluster map不发生变化那么结果基本是确定的;同时使用的hash函数是伪随机的,所以CRUSH选择每个目标存储对象的概率相对独立,从而可以保证数据在整个集群间均匀分布。

1.1.1 分层Cluster Map

Cluster map是Ceph集群拓扑结构的逻辑描述形式,通常由树状层级关系表示,包括device和bucket,每个叶子节点是最小的物理存储设备device、所有的中间节点统称为buckets、根节点为root是整个集群的入口。Device和buckets都有唯一的数字ID和属性描述标识其在集群中所处的位置和层级,每个节点同时设置权重值用于CRUSH算法的选择过程进行调整,上一级节点的权重是所有子节点权重之和。

在这里插入图片描述

图中的树状层级关系在Cluster Map中是通过一张二维映射表<bucket,item>建立起来的,树中的每个节点都是一个bucket,每个bucket都只保存自身所有直接孩子节点的编号。当bucket类型为device时,知道此时对应的item列表为空,即bucket为叶子节点。

1.1.2 数据分布策略Placement Rule

CRUSH算法的设置目的是使数据能够根据设备的存储能力和宽带资源加权平均地分布,并保持一个相对的概率平衡。其中placement rule包括以下操作类型:

  • 操作take(a),从cluster map中选择指定编号的bucket,并以此作为后续步骤的输入。例如系统默认的placement rule总是以cluster map中的root节点作为输入开始执行的。
  • 操作select(n,t),从输入的bucket当中随机选择指定类型和数量的条目,迭代每个元素i,并且在这个点中的子树中选择了n个t类型的项。存储设备有一个绑定类型,并且每个bucket在系统中拥有一个用于分辨buckets中classes的类型区域。对于每个i,select(n,t)都会从1到n迭代调用,同时通过任何中间buckets降序递归,它伪随机地选择一个通过函数c(r,x)嵌套的项,直到它找到请求t中的一个项。去重后的结果项n|i|会返回给输入变量i,同时也会作为随后被调用的select(n,t)操作的输入参数,或者被移动到用于触发操作的结果向量中。
  • 操作emit,emit输出最终选择结果给上级调用者并返回

可见数据分布策略中真正起作用的是select操作,下图展示了select从指定的bucket当中查找指定数量条目的过程:

在这里插入图片描述

1.1.3 Map的变化和数据移动

在大型文件系统中一个比较典型的部分就是数据在存储资源中的增加和移动。为了避免非对称造成的系统压力和资源的不充分利用,CRUSH主张均衡的数据分布和系统负载。当存储系统中个别设备宕机后,CRUSH会对这些宕机设备做相应标记,并且会将其从存储架构中移除,这样这些设备就不会参与后面的数据存储,同时也会将其上面的数据复制一份到其它机器进程存储。

在这里插入图片描述

当集群架构发生变化后情况就比较复杂了,例如在集群中添加节点或者删除节点。在添加的数据进行移动时,CRUSH的mapping过程所使用的按决策树中层次权重算法比理论上的优化算法∆w /w更有效。在每个层次中,当一个相关子树的权重改变分布后,一些数据对象也必须跟着从下降的权重移动到上升的权重。由于集群架构中每个节点上伪随机位置决策是相互独立的,所以数据会统一重新分布在该点下面,并且无须获取重新map后的叶子节点在权重上的改变。仅仅更高层次的位置发送变化时,相关数据才会重新分布。这样的影响在下图的二进制层次结构中展示了出来。

在这里插入图片描述

1.1.4 Bucket的类型

一般而言,CRUSH算法是为了协调两个计算目标:map计算的高效性和可伸缩性,以及当添加或者移除存储设备后的数据均衡。在CRUSH中定义了4种类型的buckets来代表集群架构中的叶子节点:union buckets、list buckets、tree buckets以及straw类型buckets。对于在数据副本存储的进程中的伪随机选择嵌套项,每个类型的bucket都是建立在不同的内部数据结构和充分利用不同c(r,x)函数的基础上,这些buckets在计算和重构效率上发挥着不同的权衡性。

  • Union bucket:CRUSH中的一般类型Bucket会被当成一个设备集合一样进行使用
  • List bucket:它的结构是链表结构,所包含的item可以具有任意的权重
  • Tree bucket: 树状buckets是一种加权二叉排序树,数据项位于树的叶子节点。每个递归节点有其左子树和右子树的总权重,并根据一种固定的算法进行标记。
  • Straw bucket: Straw类型bucket允许所有项通过类似抽签的方式来与其他项公平“竞争”。定位副本时,bucket中的每一项都对应一个随机长度的straw,且拥有最长长度的straw会获得胜利

在这里插入图片描述

这些bucket的差异总结如表所示,unique算法执行效率最高但是抵御结构变化能力最差;straw算法执行效率较低但是抵御结构变化能力最好;list和tree算法执行效率和抵御结构变化能力基于二者之间。

1.2 映射过程

介绍完Crush算法,现在来看下Ceph中的寻址方式以及file->object->PG->OSD之间是如何完成映射的,如下图所示:
在这里插入图片描述

1)File和object的映射

File按照一定的大小对进行切割得到object,相当于RAID中的条带化处理。切割以后,对object进行编号,也即oid(Object ID)。每个file都有一个唯一的元数据ino,然后再把file切分后产生的序号连缀在一起,即可构成oid。比如元数据为fileName的文件成分为三个Object,oid即为fileName0,fileName1,fileName2。需要注意的是ino必须唯一。

2)Object和PG的映射

每个Object都要独立的映射到PG里,可以将oid进行哈希,这样会得到一个近似均匀分布的伪随机值,然后需要考虑的是把Object放到PG里面去了。假设PG数为m,那么最简单的就是在m个PG中随机的选一个,那么可以设定一个长度为m-1的掩码,然后将HASH得到的伪随机值于mask按位相与,最终得到PG序号(pgid)

在这里插入图片描述

3)PG和OSD的映射

Object与PG的映射其实是静态的,也就是一个Object通过这个运算一定会映射到某个PG里面,而PG与OSD这一层的映射公式需要满足动态特性,可以让PG根据需要动态迁移到不同的OSD组合上,由CRUSH算法来实现。

4)Object、PG和OSD之间关系如下所示

在这里插入图片描述

参考《Ceph集群中的逻辑结构》部分介绍

1.3 CRUSH调制
1.3.1 编辑CRUSH MAP

Ceph将集群的cluster map和所有的placement rule合并成一张CRUSH map,因此基于CRUSH map可以独立实施数据备份和备份策略。

1)获取CRUSH map

ceph osd getcrushmap -o {compiled-crushmap-filename}

2)反编译CRUSH map

crushtool -d {compiled-crushmap-filename} -c {decompiled-crushmap-filename}

3)编辑crush map,得到反编译后的crush map,直接以文本形式进行编辑

rule replicated_ruleset                            #规则集的命名,创建pool时可以指定rule集 
{ 
    ruleset 0                                      #rules集的编号,顺序编即可 
    type replicated                                #定义pool类型为replicated(还有esurecode模式) 
    min_size 1                                     #pool中最小指定的副本数量不能小1\
    max_size 10                                    #pool中最大指定的副本数量不能大于10   
    step take default                              #定义pg查找副本的入口点
    step chooseleaf  firstn  0  type  host         #选叶子节点、深度优先、隔离host 
    step emit        #结束 
}

4)编译CRUSH map

crushtool -c {decompiled-crushmap-filename} -o {compiled-crushmap-filename}

5)模拟测试,验证修改是否符合预期

crushtool -imycrushmap --test --min-x 0 --max-x 9--num-rep 3 --resultset 0 --showing mappings

6)注入集群,使之生效

ceph osd setcrushmap -i {compiled-crushmap-filename}
1.3.2 数据重平衡

如果集群数据分布不平衡,可以手动调整每个OSD的reweight触发PG在OSD之间进行迁移,以恢复数据平衡。数据重平衡操作可以逐个OSD或者批量执行。

1)查看整个集群的空间利用率统计

ceph osd df tree

2)找到空间利用率较高的OSD,逐个执行

ceph osd reweight {osd_id} reweight

也可以批量执行,一种是按照OSD当前空间的利用率,另一种是按照PG在OSD之间的分布。可以先测试执行命令,触发PG迁移数量的相关统计,方便进行调整:

ceph osd test-reweight-by-utilization {overload}{max_change}\{max_osds} {--no-increasing}

在这里插入图片描述

到这里,分布式存储中的Crush算法已经介绍完毕。


参考资料:

  1. CRUSH: Controlled, Scalable, Decentralized Placement of Replicated Data,Sage A. Weil
  2. Ceph设计原理与实现,谢型果等著
  3. https://www.cnblogs.com/chenxianpao/p/5568207.html
  4. https://www.cnblogs.com/dy2903/p/8513713.html
  5. https://www.jianshu.com/p/cc3ece850433
  6. https://amoldighe.github.io/2018/01/20/exploring-ceph/
  7. 分布式存储Ceph中的逻辑结构

转载请注明原文地址:https://blog.youkuaiyun.com/solihawk/article/details/123367944
文章会同步在公众号“牧羊人的方向”更新,感兴趣的可以关注公众号,谢谢!
在这里插入图片描述

Ceph之CRUSH解析 问题考虑: 1):故障隔离,降低数据损坏的风险;2)负载均衡,避免部分节点空闲,部分节点超载,影响系统性能;3)控制节点加入离开引起的数据迁移量。 对象存储中一致性hash和Ceph的CRUSH算法是使用比较多的数据分布算法,Amazon的Dyanmo键值存储系统采用一致性hash算法,并对它做了很多优化,OpenStack的Swift对象存储系统也采用一致性hash算法。 CRUSH是一种基于伪随机控制数据分布、复制的算法,CRUSH为解决数据的平衡分布、负载、最大化系统性能以及系统的扩展和硬件容错 阅读详情

相关推荐

ceph简介

ceph是⼀种分布式存储系统,可以将多台服务器组成⼀个超⼤集群,把这些机器中的磁盘资源整合到⼀块⼉,形成⼀个⼤的资源池(⽀持PB级别,大厂用得多),然后按需分配给客户端应⽤使⽤。由于ceph源码代码量较大,这里只做简单介绍。 ceph特点 ⽀持三种存储接口: 对象存储、块存储、⽂件存储,称之为统⼀存储 采⽤CRUSH算法,数据分布均衡,并⾏度⾼,不需要维护固定的元数据结构。CRUSH需要集群的映射,并使⽤CRUSH映射在OSDs中伪随机存储和检索数据,数据在集群中均匀分布 数据具有强⼀致性,确保所有副本写

m0_65931372的博客 1万+

Ceph分布式存储实战:5分钟搞懂CRUSH算法如何避免数据热点问题

本文深入解析Ceph分布式存储中的CRUSH算法如何有效避免数据热点问题。通过分析算法核心设计、实战优化步骤及高级调优技巧,展示CRUSH在数据均衡分布方面的优势,帮助管理员提升存储系统性能与稳定性。

weixin_29290963的博客 239

ceph客户端使用_ceph分布式存储原理

1. Ceph 架构简介及使用场景介绍 1.1 Ceph 简介 1.2 Ceph 特点 1.3 Ceph 架构 1.4 Ceph 核心组件及概念介绍 1.5 三种存储类型-块存储 1.6 三种存储类型-文件存储 1.7 三种存储类型-对象存储2. Ceph IO 流程及数据分布 2.1 正常IO 流程图 2.2 新主IO 流程图 2.3 ...

weixin_28676181的博客 301

CRUSH 算法

1. 简介 CRUSH 算法能够根据每个存储设备的权重来分布数据对象,使得这个分布近似于均匀分布。 数据分布是由具有层级结构的 cluster map 来控制的,其表示了可用的存储资源,以及一些逻辑元素。 数据分布策略是根据放置规则来定义的,其指定了要从集群中选出多少个存储设备以存储数据副本,以及数据副本的存放限制(如,故障域隔离)。 输入一个整数 xxx(通常是对象的 ID),CRUSH 算法会输出一个大小为 nnn 的有序列表 R→\mathop{R} \limits ^{\righta

gaoZhuanMing的博客 3446

Ceph分布式存储入门:从CRUSH算法到OSD集群部署与故障排查

分布式存储是构建大规模云基础设施的基石,而Ceph作为开源分布式存储系统的代表,凭借其去中心化架构与高可扩展性,成为众多企业存储解决方案的首选。理解Ceph的核心原理,关键在于掌握CRUSH算法——它通过客户端本地计算数据位置,取代传统元数据服务器,从而消除性能瓶颈。在Ceph集群中,OSD负责实际数据存储,MON维护集群状态,PG则作为数据分布的基本单位。这种架构赋予系统弹性扩展与自动修复能力,使节点故障时数据可自动迁移恢复。在工程实践中,无论是搭建Ceph集群、规划网络隔离,还是处理OSD down导致

weixin_34015336的博客 406

Ceph的CRUSH算法原理

Ceph的CRUSH算法原理

【ceph】CRUSH算法的原理与实现|File->Object->PG->OSD的映射方法

https://zhuanlan.zhihu.com/p/59317425 0. 前言 本文主要面向对Ceph及分布式系统有一定了解基础的同学;新入坑的读者可以先从Ceph文档官网获取基本信息。 1. 背景 在分布式存储系统中,数据的位置存放规则一直是研究的热门话题之一。一般来说,系统中所有角色(Clients、Servers)需要有一个统一的数据寻址算法Locator,满足: Locator(ID) -> [Device_1, Device_2, Device_3, ...] 其中输

我的笔记本 3641

华为云Stack 8.X 流量模型分析(一)

​ 当内部需要提供对外服务时(如对外发布Web网站),外部地址发起主动连接,由路由器或者防火墙上的网关接收这个连接,然后将连接转换到内部,此过程是由带有公网IP的网关替代内部服务来接收外部的连接,然后在内部做地址转换,此转换称为DNAT,主要用于内部服务对外发布。​ 内部地址要访问公网上的服务时(如Web访问),内部地址会主动发起连接,由路由器或者防火墙上的网关对内部地址做个地址转换,将内部地址的私有IP转换为公网的公有IP,网关的这个地址转换称为SNAT,主要用于内部共享IP访问外部。

Ciyaso的博客 3244

分布式存储ceph:CRUSH算法

作为一个分布式存储系统,如何合理地分布数据非常重要。Ceph系统的许多特性,如去中心化、易扩展性和负载均衡等都和它采用的CRUSH数据分布算法是密不可分的。经过不断地实践和优化,Ceph作为开源云存储重要的后端之一,被大家认可,这也离不开CRUSH算法的先进设计。 CRUSH算法的基本特性 为一个分布式存储系统实现数据分布算法不简单,至少需要考虑下述情况。 · 实现数据的随机分布,并在读取时能快速索引。 · 能够高效地重新分布数据,在设备加入、删除和失效时最小化数据迁移。 · 能够根据设备的物理位

cyq6239075的博客 1890

群晖NAS下docker安装MySql

本文将一步一步讲解如何在群晖NAS的docker中启用一个MySQL容器 , 算是初学者对问题解决的一个记录.

qq_46375248的博客 5977

国科大学习资料--VLSI测试与可测试设计--2020期末考试试题

国科大学习资料–VLSI测试与可测试设计–2020期末考试试题 国科大学习资料–VLSI测试与可测试设计–2020期末考试试题 国科大学习资料–VLSI测试与可测试设计–2020期末考试试题 一、概念题 1简述可测试性测度与两个主要的测度指标的含义; 2以March C-算法为例,说明March算法的构成,以及March C-算法的故障覆盖率; 3“效果-原因”诊断法和“原因效果诊断法”的不同; 4列举四条扫描设计时出现的问 题及解决办法; 5最少写出1149.1与1500的五点不同; = = = = =

无名何许人的博客 1150

Ceph分布式存储架构解析:从CRUSH算法到生产环境部署实战

分布式存储系统通过将数据分散存储在多个节点上,解决了传统集中式存储的单点故障和扩展性瓶颈问题。其核心原理在于数据分布算法和副本机制,CRUSH算法作为Ceph的关键技术,通过可控的复制策略实现数据的智能分布,避免了元数据服务器的性能瓶颈。这种架构的技术价值在于提供高可用性、线性扩展能力和统一存储接口,特别适用于云原生、边缘计算等大规模数据场景。在实际应用中,Ceph通过RBD块存储、CephFS文件系统和RGW对象存储三大接口,为虚拟化、容器化和混合云环境提供统一的存储解决方案。本文基于分布式存储和CRUS

weixin_30924087的博客 568

安装并新建windows下wxwroks7.0 bootrom工程

安装licence,将zwrsLicense-vx7-perm.lic粘贴到安装目录C盘WindRiver/license下。现在双击Workbench 4,新建vxworks7.0工程,会出现下面的情况,因为没有licence。编译完成binaries下生成wxwroks x86格式,可以修改bootrom硬件信息的配置了。单击x86_wxwroks工程右键,build project编译工程。双击桌面Workbench 4打开,新建windows下工程。新建完成,选择finish。

wangjie36的博客 1922

Ceph分布式存储系列(二):CRUSH算法与数据分布策略深度解析

本文深度解析了Ceph分布式存储的核心CRUSH算法与数据分布策略。文章阐述了CRUSH算法如何通过确定的计算过程替代中心化元数据查询,实现客户端自主定位数据,从而支撑Ceph无限扩展的架构。详细剖析了Cluster Map与CRUSH Map的作用,并介绍了如何通过设计CRUSH规则来优化数据布局,实现故障域隔离与混合存储。

weixin_29214559的博客 390

分级 API Key 的使用案例

分级 API Key 的使用案例 1. 背景介绍 1.1 问题由来 随着网络服务的普及,API(Application Programming Interface,应用程序编程接口)成为了连接不同系统和应用的关键桥梁。API Key(API密钥)

欢迎来到我的优快云空间!这里聚焦AI大模型应用实战,分享前沿技术、实战案例与开发经验。 1010

3D高斯压缩黑科技开源!1GB场景压到42MB,Web3D迎来“WebP时刻”——SOG格式深度解析

Web3D迎来革命性突破!PlayCanvas开源全新3D高斯泼溅压缩格式SOG,将1GB场景压缩至仅42MB,体积缩小95%,加载速度提升10倍+。SOG通过将3D数据编码为WebP纹理+元数据,实现GPU零拷贝实时渲染,完美兼容WebGL/WebGPU。实测显示,4百万高斯点的场景在手机上1.5秒内完成加载,内存占用降低83%。这一技术突破为电商展示、虚拟旅游、工业设计等领域带来新机遇,开发者可通过开源工具链快速集成。SOG被誉为"3D界的WebP",有望成为下一代3D互联网的基础设

这里汇聚了前沿的技术分享与实用的开发技巧,带你探索从创意到企业的技术创业之路。 865

架构解密从分布式到微服务:Linux分布式存储系统—Ceph

所以,CRUSH算法是Ceph的核心内容之一。我们看看Ceph Monitor实现的自动修复能力:当某个PG对应的Primary OSD被标记为down时,某个Replica就会成为新的Primary,并处理所有读写Object的请求,此时该PG的当前有效副本数是N-1,所以PG的状态被变更为Active+Degraded,过了M秒之后,如果还是无法连接原来的 Primary OSD,则此OSD被标记为Out,Ceph 会重新计算PG到OSD Set的映射,以保证此PG的有效副本数始终是N。

2401_83384536的博客 1395

WiFi基本概念(六)(L-STF,L-LTF)

L-STF它由10个OFDM symbol(1,0,1,0,1,0,1,0,1,0)构成,每个symbol是0.8us,GI是0.2us,总计10us。Symbol的长度是正常长度的1/4,因此称为Short training field,主要用于快速进行信号检测,信号同步,自动增益控制,接收天线选择(Diversity Selection)。 由于symbol长度是正常的1/4,子载波的宽度是正常的4倍,能进行初略的信道估计,其使用了-24, -20, -16, -12, -8, -4, 4, 8, 1

reekyli的专栏 6863

CRUSH算法的原理与实现

0. 前言 本文主要面向对Ceph及分布式系统有一定了解基础的同学;新入坑的读者可以先从Ceph文档官网获取基本信息。 1. 背景 在分布式存储系统中,数据的位置存放规则一直是研究的热门话题之一。一般来说,系统中所有角色(Clients、Servers)需要有一个统一的数据寻址算法Locator,满足: Locator(ID) -> [Device_1, Device_2, De...

1779

【参数配置】OpenClaw 的破解之道(Doom Loop)

本文深入解析了OpenClaw中的Doom Loop(死循环)问题及其应对策略。主要内容包括: Agent Loop的核心概念:基于ReAct范式,OpenClaw通过"思考-行动-观察"循环执行任务,但可能陷入无进展的死循环。 Doom Loop现象:Agent持续执行但任务进度为零,常见于四种工具调用场景:相同调用重复执行、调用不存在工具、轮询工具卡死、操作交替振荡。 OpenClaw的防御机制: 第一道防线:重试端断路器,通过上下文压缩熔断(最多3次)和总重试次数熔断(32-160次)防止无限重试。

海兰 4042

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

ceph介绍、原理、架构、算法...个人学习记录

之前公司安排出差支援非结构化项目,采用springcloud+(redis+mysql数据冷热处理)+s3+es+ceph+kafka还涉及一些区块链技术等等…,在与大佬的沟通交流下对ceph产生了兴趣,私下学习记录一下;后续工作之余会采用上面相关技术栈手动实现不带公司业务的项目,可能不会分享出来;ceph集群部署这篇记录学习ceph的相关知识ceph是⼀种分布式存储系统,可以将多台服务器组成⼀个超⼤集群,把这些机器中的磁盘资源整合到⼀块⼉,形成⼀个⼤的资源池,⽀持PB级别,然后按需分配给客户端应⽤使⽤。

qq_37432174的博客 1299

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

理解Ceph CRUSH数据定位算法

Ceph是当下最优秀的分布式存储系统之一。其中Ceph EBS块设备结合虚拟机的使用场景十分流行。 Ceph的核心之一是其数据定位算法,称之为CRUSH算法,这是一种用户可控的伪随机算法。理解此算法对掌握Ceph助益很大。 下面通过示例来分析CRUSH算法。我们部署一个Ceph集群,用一个节点做monitor,用两个节点(2×3=6块硬盘)做OSD数据服务器,OSD服务器的层次结构如下:

@xanpeng 3421

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

李航:分布式存储 Ceph 介绍及原理架构分享

出品 | 滴滴技术作者 | 李航前言:本文主要从架构简介使用场景,以及内部IO流程、心跳机制、通信框架、CRUSH算法、QOS等多个方面逐渐介绍分布式存储系统Ceph的特性。希望对你有所帮助。▍阅读索引1. Ceph 架构简介及使用场景介绍 1.1 Ceph 简介 1.2 Ceph 特点 1.3 Ceph 架构 1.4 Ceph 核心...

weixin_34107955的博客 846

Ceph介绍

常用的存储可以分为DAS、NAS和SAN三类DAS:直接连接存储,是指通过SCSI接口或FC接口直接连接到一台计算机上,常见的就是服务器的硬盘NAS:网络附加存储,是指将存储设备通过标准的网络拓扑结构(比如以太网),连接到计算机上使用。例如NFS和Samba文件共享系统SAN:存储区域网络,目前SAN存储有两种,一是基于光纤通道的FC SAN,二是基于以太网的IP SAN,也就是iscsi常见的存储类型有文件存储、块存储和对象存储。

梵修 1572
上一篇: 分布式存储Ceph中的逻辑结构Pool和PG
下一篇: MySQL中多并发更新单条记录引发的死锁分析
solihawk
博客等级 码龄17年 8002粉丝 184原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值