Ceph建立纠删码池时PG出现creating+incomplete

在尝试创建Ceph纠删码池时遇到PG处于creating+incomplete状态。通过检查和修改crush map,将ruleset-failure-domain从host改为osd,解决了问题。使用crush-tool和vim编辑crush map,成功激活并清理了PG,实现了纠删码池的正常读写。
摘要由CSDN通过智能技术生成

想测试下纠删码,所以照着官网上的步骤执行了下.

ceph osd pool create ecpool 12 12 erasure
pool ‘ecpool’ created
echo ABCDEFGHI | rados –pool ecpool put NYAN -
$ rados –pool ecpool get NYAN -
ABCDEFGH

但是到第二步就写不进去了。自己设定一个erasure-code-profile也不行。用ceph -s 之后发现,新建的12个pg一直处于creating+incomplete的状态。

因为默认的纠删码参数是k=2,m=1。设定的ruleset-failure-domain=osd。而我们实验的集群正好是3个osd。猜测可能是osd不够,又加了一个osd还是不行。如图。
这里写图片描述

后来在网上搜了一大圈也没找到解决办法,就在官网找。找到了一篇PG出问题的文章,里面有提到建纠删码池时可能会出现的几个问题。

ERASURE CODED PGS ARE NOT ACTIVE+CLEAN

找到了问题出在crush map中,我们这个集群都是在一台服务器中,所以crushmap中纠删码的ruleset就不能设成host,而应该改成osd。

Ceph是一种开源的分布式存储系统,它支持使用删码进行数据保护。在Ceph中,删码被用来替代传统的多副本技术,以降低存储开销。引用提到,删码技术因其低存储开销的特点受到越来越多的关注。Ceph使用的删码方案是RS编码(Reed-Solomon code)。RS编码是一种被广泛使用的删码方案,它将k个数据块按照一定的编码规则生成m个校验块,通过任意的k个编码块都能重建出所有数据。以RS(4, 2)编码为例,它只需要占用1.5倍的存储空间,就可以提供与三副本技术相同的容错能力。因此,Ceph使用删码来实现数据的冗余和容错,以提供高可用性和数据保护。引用中提到,Ceph删码实现是基于C语言接口的范德蒙行列式编码。具体来说,在Ceph中,使用jerasure_encode函数调用jerasure库中的jerasure_matrix_encode函数进行编码处理。jerasure_matrix_encode函数是ErasureCodeJerasureReedSolomonVandermonde类中的一个方法,它实现了删码的编码过程。通过使用删码Ceph可以降低存储开销,并提供数据的高可用性和可靠性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [删码项目总结](https://blog.csdn.net/tianyi520jx/article/details/126965871)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [Ceph删码编码源码分析](https://blog.csdn.net/wqxl01/article/details/131045453)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值