0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

固态硬盘内RAID5技术

VIBT_dputech 来源:大普微 作者:大普微 2020-09-25 17:24 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

提到冗余保护,最容易想到的就是RAID(Redundant Arrays of Independent Disks)。它是一种把多块独立的物理硬盘按不同方式组合形成一个硬盘组,以此提供比单个硬盘更高的存储性能和数据冗余的技术。该技术在服务器和存储阵列产品中广泛应用。

近年来,随着固态硬盘的使用率上升,提升固态硬盘的性能和可靠性(包括寿命)一直是行业攻关的重点。RAID技术在固态硬盘内已经得到了广泛应用。关键数据多副本,可以看作是RAID1保护,用户数据更常见的则是使用性价比较高的RAID5。具体使用什么RAID级别,一般是根据实际情况进行选择。DapuStor的HaiShen系列产品就使用RAID5技术为用户数据提供冗余保护,提升可靠性。这里,我们就将盘内RAID5技术做一个简单介绍。

RAID5原理

数据按条带分布在不同位置,比如图中A1~Ap是一个条带,B1~Bp是另一个条带,每个条带中的一份数据(比如A1)叫做条带单元。每个条带有一份校验数据(比如Ap),所以我们一般也称它为N+1的RAID组。RAID5校验计算通常采用异或(XOR)算法。现在很多主控也提供RAID5计算的硬件加速功能。

盘内RAID5条带布局

为了保证任意时候,一个Block或者DIE损坏,不会导致数据丢失。一个RAID5条带中的每个条带单元最好是来自不同的Block和不同的DIE。这种我们一般称为DIE级别的RAID冗余。跟上图对应,比如A1数据在DIE 1的某个Block,A2数据在DIE2的某个Block。最直观的组条带方式就是每个DIE各选一个Block,然后每个Block的相同Page组成一个条带。各个Block的Page组成RAID5条带有下面几种常见布局:

1)固定DIE的布局

在组成一个RAID组的Block中,使用一个固定DIE的Block存储校验(类似传统的RAID3),但是组成不同RAID组的Block可以不同。

2)旋转布局

组成一个RAID组的Block中,校验不固定在某个Block上,而是有规律的旋转变化(RAID5的旋转布局有多种方式,此处只列举了一种)。

不同的数据布局,会产生不同的盘内数据布局。最直观的,顺序写后,顺序读,各个DIE或者Block上的压力模型,在前面提到两种布局下是不同的。

RAID5数据恢复

如果Host 读某个Nand Page发生UNC(UNCorrectable)错误,这时RAID5恢复的原理是读这个条带内其他数据和校验数据,进行计算,得到期望的数据。

盘内RAID的异常处理

RAID5的数据恢复依赖分条的完整性,因为故障可能发生在任何阶段,所以数据恢复前必须判断出校验的有效性,避免恢复出错误数据。

典型场景1:某个Nand Block故障时,这个Block已经在一个写完成的条带上,此时RAID其实处于降级状态,较优的想法是把相关条带的数据重新放到一个健康的条带或者重建出故障Block的数据来替换它。

典型场景2:某个Nand Block 故障时,此时还没有数据写入,尽量把它从RAID组的Block中剔除,选一个健康的Block替换或者让当前RAID组从N+1保护转换成(N-1)+1。

典型场景3:一个条带单元的数据写入Nand 过程中发生了Program fail,同时另一个位置的读又遇到UNC,这些场景在DapuStor的HaiShen系列产品中都有专门处理,保障可以恢复出正确数据。

因为错误可能发生在任何时刻,所以其他场景这里就不一一列举。

RAID带来的影响

1.OP(Over Provisioning)空间降低

引入RAID后,有的Nand空间用于存储校验数据,间接导致用户数据的可用OP空间降低,

2.WA(Write Amplification)变大

因为每个条带额外写入了一份校验数据,所以整个生命周期的WA会增大。

3.性能影响

前面两点提到的OP变小,写放大变大,其实最终也都会表现成对性能的影响。另外,一个直观感受是顺序写和读的过程,因为每个条带都有一个DIE没有提供给Host IO服务,所以性能也必定会有影响。

盘内冗余技术发展

RAID5为用户数据提供了N+1级别的冗余保护。随着盘内功能增强,业务对盘内可靠性要求的提高,不同成本和可靠性定位的用户可能会需要不同冗余保护的级别。技术上还有一些更高级别的冗余保护:

1.RAID6

相比RAID5的N+1,它提供了N+2的保护。对应在SSD产品中,它当然也会带来更大的OP损耗。

2.EC(Erasure Coding)

现在分布式存储时代,多备份和EC相比传统RAID是更广泛的应用。EC算法提供了N+M的保护级别,可以有更广阔的选择空间。

原文标题:盘内数据冗余保护

文章出处:【微信公众号:大普微】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 固态硬盘
    +关注

    关注

    12

    文章

    1607

    浏览量

    60116

原文标题:盘内数据冗余保护

文章出处:【微信号:dputech,微信公众号:DapuStor】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    服务器数据恢复—5RAID5中的4盘重建RAID5RAID5数据恢复秘籍!

    一台某品牌服务器,挂接一台同品牌的磁盘阵列,有一组由5硬盘组建的RAID5阵列。 raid5阵列中有一块硬盘掉线,由于
    的头像 发表于 11-13 16:20 416次阅读
    服务器数据恢复—<b class='flag-5'>5</b>盘<b class='flag-5'>RAID5</b>中的4盘重建<b class='flag-5'>RAID5</b>,<b class='flag-5'>RAID5</b>数据恢复秘籍!

    服务器数据恢复—硬盘离线致raid5阵列崩溃,数据恢复大揭秘

    公司的一台服务器中有一组数块硬盘组建的raid5阵列。 服务器中有一块硬盘由于未知原因离线,服务器崩溃,存储重要数据的D分区无法识别。 服务器管理员重启服务器,故障硬盘重新上线同步
    的头像 发表于 11-04 15:32 169次阅读

    服务器数据恢复—硬盘指示灯亮黄灯,RAID5崩溃数据这样恢复

    服务器存储数据恢复环境: 某单位一台某品牌DS5300存储,1个机头+4个扩展柜,50块的硬盘组建了两组RAID5阵列。一组raid5阵列有27块硬盘,存放Oracle数据库文件。存
    的头像 发表于 10-14 17:17 400次阅读
    服务器数据恢复—<b class='flag-5'>硬盘</b>指示灯亮黄灯,<b class='flag-5'>RAID5</b>崩溃数据这样恢复

    服务器数据恢复—Raid5多盘掉线,存储复活大揭秘!

    某单位同友存储,存储中有一组raid5磁盘阵列。存储内部共有虚拟机若干台,raid5阵列崩溃导致存储无法启动。
    的头像 发表于 10-10 13:44 237次阅读
    服务器数据恢复—<b class='flag-5'>Raid5</b>多盘掉线,存储复活大揭秘!

    服务器数据恢复—Raid5两盘损坏热备盘未启咋恢复?

    EMC存储上有一组由多块stat硬盘组建的raid5磁盘阵列,该raid5阵列中有两块热备盘。上层采用的是zfs文件系统。 raid5阵列中2块
    的头像 发表于 10-09 17:31 471次阅读

    服务器数据恢复—坏道“突袭”Raid5阵列,数据恢复大揭秘

    北京市某单位的办公用服务器。服务器上有一组由6块硬盘组建的raid5磁盘阵列。 服务器崩溃,经过初步检测,发现raid5阵列的两块硬盘掉线。这2块
    的头像 发表于 08-05 11:24 554次阅读

    服务器数据恢复—raid5阵列多块硬盘离线导致raid崩溃的数据恢复

    一台服务器中有5硬盘,其中的4块组建了一组RAID5阵列,剩下一块盘作为热备盘(Hot-Spare)使用。服务器操作系统为linux,应用系统为构架于oracle数据库的一个oa。 rai
    的头像 发表于 07-17 14:37 421次阅读
    服务器数据恢复—<b class='flag-5'>raid5</b>阵列多块<b class='flag-5'>硬盘</b>离线导致<b class='flag-5'>raid</b>崩溃的数据恢复

    raid5数据恢复—Raid阵列重建后如何恢复原阵列的数据?

    raid5阵列数据恢复环境&故障: 一台服务器上有一组raid5磁盘阵列,该raid5阵列有5硬盘。服务器数据无备份。 服务器一块
    的头像 发表于 07-10 12:27 458次阅读

    raid5数据恢复—raid5阵列热备盘未完全激活导致崩溃的数据恢复案例

    某单位一台EMC某型号存储中有12块STAT接口的硬盘,其中10块硬盘组建了一组RAID5阵列,剩下2块设置为热备盘使用。 RAID5阵列中的2块
    的头像 发表于 07-09 11:35 311次阅读

    服务器数据恢复—raid5阵列多块硬盘离线导致EMC存储不可用的数据恢复案例

    服务器存储数据恢复环境: EMC某型号存储中有一组由8块硬盘组建的raid5磁盘阵列。 服务器存储故障: raid5阵列中有2块硬盘离线,存储不可用,上层应用崩了。
    的头像 发表于 05-29 10:50 401次阅读

    服务器数据恢复—双循环raid5磁盘阵列数据恢复案例

    一台服务器上共有10块硬盘,其中的7块硬盘组建了一组raid5磁盘阵列,另外3块硬盘是没有拔掉的掉线磁盘。 服务器raid5阵列中
    的头像 发表于 04-23 14:30 513次阅读

    服务器数据恢复—Raid5阵列热备盘上线失败的数据恢复案例

    服务器数据恢复环境: 某公司一台存储上有一组由15块硬盘组建的raid5阵列。raid5阵列上层是一个xfs裸分区,起始位置是0扇区。 服务器故障: raid5阵列中有一块
    的头像 发表于 03-26 15:17 525次阅读

    服务器数据恢复—raid5阵列上层win系统+oracle数据库数据恢复案例

    一台服务器上的8块硬盘组建了一组raid5磁盘阵列。上层安装windows server操作系统,部署了oracle数据库。 raid5阵列中有2块硬盘
    的头像 发表于 01-10 14:40 555次阅读

    服务器数据恢复—OceanStor存储RAID5阵列数据恢复案例

    华为OceanStor T系列某型号存储中有一组由24块机械硬盘组建的一组RAID5阵列。 运行过程中该存储设备RAID5阵列上多块硬盘出现故障离线,阵列失效,存储中数据无法访问。
    的头像 发表于 12-31 13:49 716次阅读
    服务器数据恢复—OceanStor存储<b class='flag-5'>RAID5</b>阵列数据恢复案例

    服务器数据恢复—RAID5阵列两块硬盘离线崩溃,数据如何起死回生?

    服务器数据恢复环境: 两组分别由4块SAS接口硬盘组建的raid5阵列,两组raid5阵列划分LUN并由LVM管理,格式化为EXT3文件系统。 服务器故障: RAID5阵列中
    的头像 发表于 12-11 13:17 1856次阅读
    服务器数据恢复—<b class='flag-5'>RAID5</b>阵列两块<b class='flag-5'>硬盘</b>离线崩溃,数据如何起死回生?