我前同事之前在项目上组了个 RAID 5,心想这下稳了。后面有块盘亮红灯,拿着新盘重建,重建过程中进度条卡在 70%,界面报错——然后所有数据,全没了!
RAID 5 重建失败,是数据恢复行业的「高频事故」之一。很多人以为组了 RAID 就是进了保险柜,其实 RAID 只是给数据加了一层有裂缝的护甲。
这篇我们聊下RAID 选型,重点说下:RAID 5 和 RAID 6 差在哪,以及为什么监控存储为什么 RAID 5。
一个好记的比喻:RAID 其实就是给数据「记账」——有的记两份一样的账,有的记一份「校验码」。账怎么记,决定了坏几页能救回来。
一、RAID五个主要级别
RAID 就是把几块硬盘捆成一个整体来用,玩法从「要快」到「要稳」分好几种。认全这五个,后面的选型才有的聊:
级别 | 玩法 | 容错 | 最少盘数 | 可用容量 |
RAID 0 | 条带化,数据拆散并行写 | 0 块(坏一块全丢) | 2 块 | 100%(全部) |
RAID 1 | 镜像,两块存一模一样 | 1 块 | 2 块 | 50%(一半) |
RAID 5 | 条带 + 1 份校验 | 1 块 | 3 块 | 损耗 1 块 |
RAID 6 | 条带 + 2 份校验 | 2 块 | 4 块 | 损耗 2 块 |
RAID 10 | 先镜像再条带 | 每组镜像各坏 1 块 | 4 块 | 50%(一半) |
监控存储最常纠结的就是 RAID 5 和 RAID 6,因为它们俩「用校验换容错」的玩法最像,又都算「实惠」——比 RAID 1/10 省盘,比 RAID 0 安全。
下面用记账的比方,把这两个死磕清楚。
二、RAID 5 和 RAID 6:差在「账本」的份数
把数据想象成一本账本,每页记着内容。
RAID 5:一本账 + 一份「校验码」。校验码是拿每一页数据算出来的一个「汇总值」,坏了一页,可以靠剩下的页加校验码反推回来。但只有一份校验码——同时坏两页,就推不出来了,账本全废。
RAID 6:一本账 + 两份「独立的校验码」(专业叫 P 校验和 Q 校验,两套算法互不相干)。同时坏两页,两套校验码联立,还能把两页都算回来。
翻译成容错能力,就是那几句你常听到的话:
•RAID 5:最多同时坏 1 块盘,坏第 2 块,阵列崩溃、数据全丢
•RAID 6:最多同时坏 2 块盘,坏第 3 块才崩
•RAID 5 最少 3 块盘,RAID 6 最少 4 块盘
•容量损耗:RAID 5 少 1 块盘,RAID 6 少 2 块盘
到这里,很多人会说:那不就是「差一块盘」吗?多坏一块的概率才多大。错,真正的差别不在「平时坏几块」,在「重建的那一刻」。下一章是这篇的核心,也是 RAID 5 的死穴。
三、RAID 5 的死穴:重建,和那个叫 URE 的东西
先搞懂「重建」是什么。阵列坏了一块盘,你换上新盘,系统要把新盘的数据算回来、写回去——坏的那块盘上的数据,靠剩下所有盘的每一个扇区加校验码,一块一块算出来。这个过程的专业名叫 Rebuild(重建)。
关键问题来了:重建时要读光所有存活盘的每一个扇区,读写量巨大,时间长得吓人。一个 12TB 的阵列,重建要 24 到 48 小时;24TB 往上,两到四天。
而在这几十个小时的「全盘狂读」里,藏着 RAID 5 最致命的隐患——URE(不可恢复读取错误)。
URE 是硬盘「读不回来」的坏扇区。机械硬盘的指标里都有这么一条:消费级硬盘,大约每读 12.5TB 数据,就会撞上一次 URE。听起来概率很低?你拿重建的读量一算就知道有多要命:一个 8TB 的盘重建,要读 24TB 数据,撞 URE 的概率直线上升。
撞上 URE 之后,两个级别的下场完全不同:
•RAID 5:重建时只有一份校验,撞一次 URE,那一页数据就凑不齐了——重建失败,整组数据可能全部报废
•RAID 6:重建时还剩一份校验兜底,撞一次 URE,靠第二份校验照样把数据救回来,重建继续
数据恢复工程师统计过:RAID 5 重建失败率大概在 15% 到 20%。更狠的是大容量阵列——一个 8 块 16TB 硬盘组的 RAID 5,重建过程中撞上 URE 的概率高达 32%,差不多三分之一的重建会以数据全毁收场。
⚠「RAID 5 已死」这句话,说的就是大容量盘时代的这个数学现实:盘越大,重建越久,撞 URE 的概率越高,而 RAID 5 撞一次就全崩。它不是到处都死了——小容量盘、3 盘以内的小阵列还能用;但 8TB、16TB 的大盘组 RAID 5,就是在赌命。
说个数据恢复工程师经手的真实案例,帮你把上面的风险具体化:一台企业服务器,6 块 4TB 的 SAS 盘组 RAID 5。某天 3 号盘 SMART 报警、离线,控制器显示阵列「降级」(Degraded)——业务还能跑,但已经没了冗余保护。这时候最怕的就是:剩下的 5 块盘里,但凡再有一块因为「同一批次、同样老化」而出问题,整个阵列立刻崩溃。这就是 RAID 5 降级期的脆弱——你以为只是坏一块,其实你已经在赌剩下的盘不会再坏。
顺带记个时间账,选型时用得上:
阵列容量 | 大致重建时间 | 重建期间 RAID 5 的处境 |
1TB | 2~4 小时 | 短暂无冗余,忍一忍 |
4TB | 8~16 小时 | 半天到一天,悬着一根弦 |
12TB | 24~48 小时 | 一到两天,二次故障风险陡增 |
24TB 以上 | 2~4 天 | 几天裸奔,赌 URE 不撞上 |
四、监控存储,为什么不建议做 RAID 5
现在把视角拉回弱电本行。监控存储有它的特殊性,这三点决定了它对 RAID 的选择和普通 NAS 不一样:
•7×24 持续写入:监控盘几乎不歇,录像一刻不停地往里写,硬盘磨损比普通盘狠得多
•录像丢了就是事故:关键点位的录像一旦损坏,可能是纠纷、取证、问责的问题,丢不起
•大容量是刚需:几十上百路摄像头,动辄几十 TB、上百 TB,用的必然是大容量盘
三点叠一起,结论就呼之欲出了:大容量盘 + 持续写入 + 丢不起,这三个条件凑齐,RAID 5 那个「重建撞 URE 就全崩」的死穴,就是监控项目最大的雷。所以监控存储,我宁可多花一块盘的容量,也要上 RAID 6。
这条不是我拍脑袋,存储行业对大容量盘、视频监控、归档这类场景的一致建议就是 RAID 6——用两份校验,换重建期的安全。
那什么时候 RAID 5 还能用?三个条件同时满足,才可以考虑:盘小(4TB 以内)、盘少(3~5 块)、数据丢了能承受。三者有一条不满足,老老实实 RAID 6。
顺便说一句监控盘的搭配:监控存储除了选对 RAID,硬盘本身也要选监控级盘(西数紫盘、希捷酷鹰这类),它们针对 7×24 写入做了优化,和普通盘混用在阵列里,普通盘反而容易先坏。
4.1 可用容量怎么算
选型要算钱,容量必须会算。公式很简单:
# RAID 5:可用容量 = 最小单盘容量 × (盘数 - 1)
# RAID 6:可用容量 = 最小单盘容量 × (盘数 - 2)
# 举例:8 块 8TB 盘
# RAID 5:8TB × (8-1) = 56TB
# RAID 6:8TB × (8-2) = 48TB
# 差的那 8TB,买的就是「重建期再坏一块也不丢数据」的保险。
注意「最小单盘容量」——阵列里如果混了大盘小盘,是按最小的那块算的。所以组阵列,所有盘最好同容量、同型号,不浪费。
五、选型决策表:对着勾就完事
把前面所有判断收成一张决策表,监控存储选型时照着勾:
你的情况 | 选 RAID 几 | 理由 |
大容量盘(8TB 及以上) | RAID 6 | 重建久、撞 URE 概率高,必须双校验 |
监控/归档,录像丢不起 | RAID 6 | 重建期再坏一块也要能救 |
小盘(4TB 内)、3~5 块、能容忍丢 | RAID 5 | 省一块盘容量,风险可控 |
又要快又要稳、预算足 | RAID 10 | 镜像+条带,读写快、重建快,但容量只有一半 |
临时数据、无所谓 | RAID 0 | 纯为快和容量,坏了认栽 |
再补一个选型时容易被忽略的点:RAID 10 的重建比 RAID 5/6 快得多、也安全得多。因为 RAID 10 是镜像,重建就是把好盘原样复制一份到新盘,纯搬运、不用算校验;而 RAID 5/6 重建要读光所有盘、算校验,慢且风险高。所以对「又要快又要稳」的核心业务,RAID 10 虽然贵(容量只剩一半),但重建时的风险反而是最小的。
还有三条实操铁律,务必记:
1.RAID 不是备份。它防的是「硬盘坏」,防不了误删、中病毒、机房火灾。重要数据,RAID 之外还得有独立备份
2.盘一旦报警,立刻换、别拖。降级状态下多撑一天,就是多赌一天的二次故障
3.监控阵列换盘,优先同型号同容量,最好备一块热备盘(Hot Spare)——盘一坏自动顶上,缩短「裸奔」时间
六、总结
•RAID 5 一份校验、坏一块;RAID 6 两份校验、坏两块
•真正的差别在重建期:RAID 5 重建是裸奔,撞一次 URE 就全崩;RAID 6 重建还留一手兜底
•监控大容量存储,宁可少一块盘容量,也要上 RAID 6
下次甲方问「RAID 5 和 RAID 6 差在哪」,别说「差一块盘」,告诉他:差在硬盘坏掉后的那几十个小时,你敢不敢再坏一块。这回答,比背参数高级多了。