千家信息网

Ceph纠删码如何实现

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,这篇文章给大家分享的是有关Ceph纠删码如何实现的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、纠删码纠删码Erasure Code是一种编码技术,它可以将n份原始数据,
千家信息网最后更新 2025年02月05日Ceph纠删码如何实现

这篇文章给大家分享的是有关Ceph纠删码如何实现的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

1、纠删码

纠删码Erasure Code是一种编码技术,它可以将n份原始数据,增加m份数据,并能通过n+m份中的任意n份数据,还原为原始数据。即如果有任意小于等于m份的数据失效,仍然能通过剩下的数据还原出来。 纠删码技术在分布式存储系统中的应用主要有三类,阵列纠删码(Array Code: RAID5、RAID6等)、RS(Reed-Solomon)里德-所罗门类纠删码和LDPC(LowDensity Parity Check Code)低密度奇偶校验纠删码。 LDPC码目前主要用于通信、视频和音频编码等领域。

目前主流的分布式存储包括HDFS、Ceph、Minio等主要使用的是RS(Reed-Solomon)码。

2、Ceph 纠删码实现

2.1、纠删码写

数据将在主 OSD 进行编码然后分发到相应的 OSDs 上去。

2.2、纠删码读

2.2.1、正常纠删码读

从相应的OSDs中获取数据后进行解码。

2.2.2、数据丢失时纠删码读

如果此时有数据丢失,Ceph会自动从存放校验码的OSD中读取数据进行解码。

3、Ceph支持的纠删码插件

Ceph支持不同的纠删码插件:Jerasure,ISA-l 和 LRC,默认为Jerasure

# ceph osd erasure-code-profile get defaultk=2m=1plugin=jerasuretechnique=reed_sol_van

此处列出的三种纠删码插件其实是分成两种类型

Jerasure和ISA-l属于纠删码代码库 LRC是一种纠删码编码,类似于RS码

3.1、纠删码代码库

3.1.1、Jerasure

Jerasure2.0 使用 C 语言封装后的指令,这样代码更加的友好。另外 Jerasure2.0 不仅仅支持 GF(2^8) 有限域的计算,其还可以进行 GF(2^4) - GF(2^128) 之间的有限域。并且除了 RS 码,还提供了 Cauchy Reed-Solomon code (CRS 码)等其他编码方法的支持。它在工业应用之外,其学术价值也非常高。目前其是使用最为广泛的编码库之一。目前 Jerasure2.0 并不支持 AVX 加速。

3.1.2、ISA-l

Intel ISA-L代表英特尔智能存储加速库,使用的汇编代码,ISA-L是针对存储应用程序而优化的低级功能的开源集合。它包括针对Intel AVX和AVX2指令集优化的快速块Reed-Solomon类型纠删码,它的性能是业界最佳,主要是因为整体的矩阵运算都放在汇编之中

3.1.3、对比

3.2、纠删码编码

3.2.1、RS(Reed-Solomon)

Reed-Solomon(RS)码是存储系统较为常用的一种纠删码,它有两个参数n和m,记为RS(n,m)。n代表原始数据块个数。m代表校验块个数。

简单来讲指定RS(4,1)时,有4个数据块和1个校检块

D1-4任意数据块损坏,都可以通过P1进行解码恢复重建,同样的P1校检块损坏也可以通过数据块编码计算重建

3.2.2、LRC(Locally Repairable Codes)

LRC(Locally Repairable Codes),是一种局部校验编码方法,其核心思想为:将校验块(parity block)分为全局校验块(global parity)、局部校验块(local reconstruction parity),故障恢复时分组计算。

对比RS,这里是4个数据块分成了两组,

  • D1+D2=P1

  • D3+D4=P2

  • D1+D2+D3+D4=P3

P1、P2是局部校验块,P3是全局校验块。

优势在于,当组内数据块损坏时,由于减少了网络I/O传输的数据量,组内恢复运算的数据量和重建时间基本上能缩短一半。

劣势是因为校检块的增加,磁盘使用率和可靠性都会降低

3.2.2、编码对比

感谢各位的阅读!关于"Ceph纠删码如何实现"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

数据 编码 存储 支持 代码 原始 代表 局部 插件 应用 个数 全局 内容 分布式 可以通过 技术 指令 方法 更多 有限 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 为什么不多建立根服务器 广东电信测速软件开发 web服务器技术 网络安全漏洞系统评级 帮助网络安全的标语 国家网络安全等级最高 计算机网络技术的大师 电商网站数据库建表 js数据库更新一条数据类型 绿色阅读手抄报比赛网络安全 网络软件开发工具主要有哪些 焦作网络技术工程师证 王小歪充钱充爆服务器视频 软件开发合同应该怎么写 浙江曙光服务器虚拟化操作云主机 互联网科技创新活动方案 此数据库缺少完整数据库备份 创建数据库使用的命令语句是 法院网络安全讲座 衡水云校软件开发有限公司招聘 东至微型软件开发服务检修 软件开发 甲方要源代码 如何查询服务器型号 mes系统软件开发计划书 服务器TS250安装win10 天涯明月刀最新服务器更新 宽带网络技术课程 网络安全防护系统公司 金蝶怎么在数据库反初始化 网络安全信息保障包括
0