什么是M+N:1纠删码?

文章介绍了亚节点纠删码,特别是4+2:1技术,作为解决小规模集群存储问题的方案。相较于3副本和传统的2+1纠删码,4+2:1能提供更高的空间利用率和容错能力,允许2个节点各故障1块硬盘而不丢失数据,提高了数据安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       除了常见的M+N纠删码之外,我们还经常见到一种M+N:1的纠删码,这是一种特殊的纠删码技术,我们称之为亚节点纠删码。

      这种技术的出现是为了满足小规模集群的部署要求,我们举个例子,有一个用户采购了3个分布式存储节点,因为节点数量比较少,他可选的数据冗余策略就只有3副本和2+1纠删码(2副本暂不考虑,后文我们来详细说明原因)。选择3副本的话,存储的空间利用率就只有33%了,如果我们再考虑其他因素,比如硬盘标称值的差异、系统预留空间、热备空间的话,可用空间可能只有26%左右,这对于很多看重容量的用户来讲是比较难以接受的。但如果我们选择2+1纠删码呢,问题出现了,2+1纠删码只能允许1个分片数据丢失,当集群中2个节点分别故障1块硬盘的时候,数据就丢失了!

      在实际使用场景下,2块硬盘同时故障的情况虽然比较少见,但概率也并不算低,因为很多用户在1块硬盘故障时可能并没有发觉。这段时间存储就是在极其危险的状态下运行,任何硬盘出问题都会导致集群数据丢失,很显然,2+1纠删码的方案并不好。

      基于以上原因,4+2:1的纠删码出现了。为什么叫亚节点纠删码呢,因为默认的纠删码是按照节点来分配数据的,但4+2:1只会按照硬盘来分配数据,它把3个节点当6个节点用,每个节点选择2块硬盘,整个集群选择6块不同的硬盘来存放4+2总计6个分片数据(如下图所示)。

       我们看到,4+2:1相比2+1纠删码,虽然能容忍节点故障数量仍然是1个,但它可以允许2个节点分别故障1块硬盘(总计故障2块硬盘)而数据不丢失。而实际情况下,硬盘故障的概率是远远低于整个节点故障的,所以4+2:1还是非常可靠的,而且它的空间利用率远高于3副本。当然如果你担心的是2个节点同时故障,那你只能选择3副本了。

类似于4+2:1,也存在8+2:1、16+2:1等亚节点纠删码,这里我们就不多讨论了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YoungerChina

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值