分布式存储架构的安全和稳定通常采用用的EC纠删码M+N机制,是否意味着M和N都能无限大?

现在的分布式存储架构的安全和稳定通常采用用的EC纠删码M+N机制,例如4+2、8+3、12+4、22+2等模式,是否意味着M和N都能无限大或是M和N越大会越好显示全部

现在的分布式存储架构的安全和稳定通常采用用的EC纠删码M+N机制,例如4+2、8+3、12+4、22+2等模式,是否意味着M和N都能无限大或是M和N越大会越好

收起
参与33

查看其它 6 个回答火龙猫的回答

火龙猫火龙猫架构师华为技术有限公司

这个问题要说清楚,得详细展开一下。

首先,考虑的维度是数据持久度。这个决定因素主要取决于校验条带数量N。但是N也不需要越大越好。一般的业务2就够了。关键业务一般4也够了。因为存储坏掉一个条带肯定是要重构的,所以除非在重构时间内连续坏掉N个盘,否则是不会丢数据的。

然后考虑利用率。利用率约等于M/(M+N)。但是即使是追求利用率,M也不是越大越好。假设N是2,M是20这时理论利用率是90.1%。我们即使把M再增加到30,理论利用率也只增加到93.8%而已。而M+N的增加,也就增加了多个坏盘影响同一个分条的概率,降低了可靠性,所以没必要加到太大。

接下来要考虑的问题是性能。其实对于高吞吐型的业务,分条大小最好和业务的Io大小相当或者成倍数比较好。比如业务每次读写大小是2MB,那分条大小,也就是条带大小乘以_M,最好是2MB或者1MB这样。因为对于EC校验而言,不满分条写,也要更新修改的条带和校验的条带,也就是即使修改1KB,也要把 条带大小乘以_(N+1)大小的数据刷盘,造成io放大。所以如果io普遍偏小,不要配过大的M,得不偿失。

总之,这个配置选择和业务需求之间一定是配合关系,不是越大越好。

互联网服务 · 2023-02-01
浏览1665

回答者

火龙猫
架构师华为技术有限公司
擅长领域: 数据库分布式系统服务器

火龙猫 最近回答过的问题

回答状态

  • 发布时间:2023-02-01
  • 关注会员:8 人
  • 回答浏览:1665
  • X社区推广