账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
RAID 6基本原理与应用
网络与储存技术专栏(11)

【作者: Luca Bert】2009年12月09日 星期三

浏览人次:【12419】

为什么需要RAID 6?


基本上,RAID指的是藉由一组硬盘和相对应的数据设计,可在某些组件发生读取错误的情况下,确保从系统仍能存取数据。RAID 0是基础条带化模型,由于不支持任何冗余,因此在执行系统性能优化时,也无法在故障情况下恢复数据。RAID 5则透过添加一个校验盘(又称P盘),作同行数据XOR的计算,从而实现数据恢复之功能。以数学角度来说,数据恢复过程可视为只有一个未知变量(因读取故障而遗失的数据)的线型方程序,并可轻松的透过基础代数方法求解。



RAID 6延伸RAID 5的功能,并可在同一数据集上恢复两个数据错误。从数学角度来说,RAID 5使用一个方程序解出一个未知变量,而 RAID 6则能通过两个独立的线型方程构成一个方程组,从而恢复两个未知数据。而第二个方程则额外创建一个Q盘,因此RAID 6又称作P+Q盘机制。



理论上来说,此数列可无限延伸,并创建任意类型的M+N冗余,但实际应用通常仅限于N=2。也就是说,RAID 6被赋予的主要任务即是解决数据条上同时发生的两个独立错误。



RAID 5的局限性


RAID 5可独立解决两种磁盘无法存取数据的情况:




  • ●其中一颗磁盘损坏且无法进行任何数据读写动作,需要进行更换时,RAID 5能从保存的对等数据中恢复该损坏硬盘之所有数据,并重建毁损的磁盘。



  • ●磁盘组本身没问题,但其中一个扇区上出现了坏轨(即不能读取的区块),造成某些数据不能恢复时。





请注意,从数学角度来说,每个磁盘的平均无故障时间(MTBF)大约为50万至150万小时(也就是每50~150年发生一次硬盘损坏),但实际情况往往无法达到上述理想值。目前在大多数散热和机械条件下,都会造成硬盘正常工作的时间大幅减少。由于数组中的每个磁盘皆为独立且皆有可能发生故障,因此从统计学的角度来看的话,一个包含N个磁盘的数组,其发生故障的机率就比单一磁盘要大上N倍。综上所述,如果数组中的磁盘数量合理,且这些磁盘的平均无故障时间(MTBF)较短,那么在磁盘阵列的预期使用寿命周期中,就很有可能发生磁盘故障(比方说每隔几个月或几年就会发生一次故障)。



那么,两颗磁盘同时损坏的机率有多大呢(「同时」是指在其中一颗磁盘修复前,另一颗磁盘即发生故障)?如果说RAID 5数组的MTBF与MTBF2成比例关系,那么此种机率约为每一万年出现一次,也就是说不论在何种工作环境之下,两颗磁盘同时损坏的机率极低。然而,这仅为纯粹数学计算,并不符合现实考虑。现实中意外状况时常发生,而有些原因则根本与MTBF毫无关系。



读取错误(不能恢复的ECC读取错误)是一种较难以掌握的现象,从统计数据上发现其与位读取数成比例关系。就SCSI/ FC/ SAS磁盘来说(SAS是本文的重点,但本量化说明同样适用于其他两种种技术),发生读取错误的机率为每读取10^15位(约100TB)到10^16位(约1000TB或1PB),会出现一次错误。我们把这一机率称作误码率(Bit Error Rate;BER)。



SATA磁盘的BER比上述技术要高一到两个数量级(其BER为每读取10^14到10^15位出现一次错误,即每读取10到100TB 就出现一次错误,取决于磁盘设计)。若一个SATA磁盘容量为1TB,代表完整读取该磁盘十次集会出现坏区块(假定这里的BER为每读取10^14位出错一次)。存储相同数据的两个对应区块几乎不可能同时出现问题,因其BER为每读取10^30位出现一次错误。



然而,若同时发生的两个问题,分别由MTBF与读取错误所引起,则该机率有多大?假设将10个分别拥有300GB容量与BER为10^-15的磁盘组合成一个数组,那么我们在重建磁盘时发生读取错误的可能性有多大?计算方法为:10^15(位)×1/8(字节/位)×1/10(磁盘)×1/300GB,从而得出每50次重建就会出现一次错误,看起来相当显著但不足以令人吃惊。如果在磁盘阵列的使用寿命内,发生了50次故障的话,那才真令人头痛。上述机率在统计学上并非为不显著,因此我们可以换句话说,若您出售了50颗该款硬盘给某人,则其中至少会有一颗发生故障。看起来还好,但对于一个安装了数百个磁盘阵列的客户来说,是非常严重的问题。不过,有些SAS磁盘的BER比这里假定的情况要好上10倍,因此故障率可以大幅降低。



那么,SATA的情况又如何呢?一般来说,当磁盘的容量越大,就越容易发生重大的故障,而SATA的BER较其他技术要低-这是一个非常严重的问题。假定有上述同样的10个磁盘组成数组,但每个磁盘容量为500GB,BER为10^-14,则计算公式如下:10^14×1/8×1/10×1/500GB,得出每2.5次重建就会出现一次故障,这是一个需要被高度重视的数据。



RAID 6的重要性与弹性


上面所谈的是一个5TB容量的磁盘阵列,尽管这种数组还不太常见,但完全是当前技术可以达到的水平。每2.5个数组就有一个会在重建时发生区块毁损,然后用户会看到「Read Error at LBA = 0xF43E1AC9」这类对他们来说毫无用处的错误讯息。0xF43E1AC9到底是什么?是说空间为空?还是说内核数据下次重启会发生蓝屏错误?是仅涉及没人会用得到的数据库?还是我的银行帐户信息?实际上看到这种错误信息根本无从做出判断,唯一的办法就是从备份中恢复数据,但这会花费大量时间,而且还要考虑到从5TB容量的磁带中存取数据将面临多大的错误机率。这种读取错误的机率极高,因此用户会遇到无穷尽的问题。



RAID 6之所以重要,不是因为它能恢复两个同时发生的磁盘故障,而是能用完好的对等磁盘恢复一个磁盘故障和一个读取错误。随着磁盘容量不断增长,上述错误的发生率也越来越高,加上低质量SATA磁盘的使用,又使该机率提高十倍乃至百倍。说到底,要在价格与风险之间进行权衡,SAS与高端硬盘拥有较佳的MTBF与BER,因此发生错误的机率较小(尽管不是零);反之SATA能大幅节约购买设备的资本投入,却会面临较高的双重故障机率。在此情况下,RAID6 市场便乘势而起。



值得注意的是,上面提到的一些风险可以透过其他技术加以降低,例如定期扫描磁盘以避免区块损坏的巡读(Patrol Read),可以确保不会因为另一颗磁盘的损坏,造成同一条磁带上的数据发生双重故障。目前来说,RAID 6似乎是更适合SATA硬盘。不过就如同市场的预期,当磁盘容量与数组规模不断增加,RAID 6在SAS领域的应用商机也令人期待。



---作者为LSI公司企业策略总监---



相关文章
并购将持续发生半导体游戏规则逐渐转变
打造具备音视频媒体闸道的多核处理器
服务器虚拟化与DAS储存
运用快照强化实现低成本灾难复原机制
低容量快照实现资料库应用快速回复
comments powered by Disqus
相关讨论
  相关新闻
» 爱德万测试与东丽签订Micro LED显示屏制造战略夥伴关系
» 格斯科技携手生态系夥伴产学合作 推出油电转纯电示范车
» Arm:因应AI永无止尽的能源需求 推动AI资料中心工作负载
» 英特尔晶圆代工完成商用高数值孔径极紫外光微影设备组装
» 联发科技签署绿电合约 大步迈向净零里程碑


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK84P9BFDB6STACUKO
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw