01什么是框级冗余策略
普通RAID模式(盘级冗余)是把CHUNK打散到不同的硬盘上,支持不超过RAID冗余能力的硬盘故障,不能直接支持硬盘框故障。
金融核心交易系统等核心业务场景对存储系统的可靠性提出了更为苛刻的诉求,要求存储设备能容忍单个硬盘框故障。
基于此,存储系统的框级冗余策略应运而生。当存储池具备框级冗余能力时,可以实现:
RAID 6和RAID 10支持单硬盘框故障,业务不中断、数据不丢失。
RAID-TP支持单硬盘框故障后,其他硬盘框再故障单块硬盘,业务不中断、数据不丢失。
故障的单盘在热备重构完成后,支持再故障单个硬盘框。
故障硬盘框恢复后,自动恢复框级冗余的能力。
02框级冗余策略的实现原理
框级冗余是在满足盘级冗余的前提下,考虑硬盘和框的归属关系。这里,我们以系统配有4个框,每个框配置3块硬盘为例进行介绍。
框级冗余策略的实现原理如图1所示。图中,相同颜色的CK组成一个CKG。
为了支持单硬盘框故障不断业务,在选盘组RAID时,需要保证每个CKG的CK尽量来自于不同的框,并且来自每个框的CK列数不能超过RAID冗余。因此,配置RAID6时每框最多选2列,这样即使框故障后,每个CKG只丢失2份数据,未超出CKG的冗余数量,业务不中断。同时,为了使RAID-TP能支持单框故障后再故障单块硬盘,我们让RAID-TP每框最多也只能选2列。
即存储系统在组CKG时会优先跨框分配Block,保证CKG在每框选盘不超过2盘。
为了支持故障的单盘在重构完成后不缩列,还能继续支持单框故障,我们让CKG的分条长度再减一,即RAID列数(N+M) = 2*K - 1。其中,K为组成存储池的硬盘所属的框(控制框+硬盘框)的个数。例如,上图中的RAID列数 = 2*4 - 1 = 7,即每个CKG的分条长度为7。
03存储池的冗余能力
存储池为框级冗余策略时,存储池的冗余能力状态可以是框级冗余、盘级冗余和无冗余。
框级冗余能力
框级冗余策略的存储池在正常运行时,具备框级冗余能力,支持单硬盘框故障,业务不中断、数据不丢失。
盘级冗余能力
由于框掉电、多盘故障等导致存储池不能继续保持框级冗余能力时,存储池将变为盘级冗余能力,此时支持不超过RAID冗余能力的盘故障。
当故障恢复且存储系统完成冗余恢复后台任务后,存储池将恢复具备框级冗余能力,重新支持单硬盘框故障,业务不中断、数据不丢失。
无冗余能力
处于盘级冗余能力的存储池,若盘故障再超过RAID冗余能力,存储池将变为无冗余能力。
原文标题:闪存存储如何通过框级冗余策略提升设备可靠性
文章出处:【微信公众号:华为产品资料】欢迎添加关注!文章转载请注明出处。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !