第4章:RAID技术详解:RAID 0/1/5/6/10原理、RAID级别对比与选型、软RAID与硬RAID的取舍
各位好,我是老张。今天我们来聊聊RAID。
说实话,在安防存储这个圈子里混了十几年,我见过太多因为RAID选型不当导致的“惨案”。有的项目为了省两块硬盘钱上了RAID 0,结果一块盘挂了,几十个摄像头的录像全没了。也有的项目盲目迷信RAID 6,结果写入性能拉胯,录像回放卡成PPT。
所以这一章,咱们把RAID这层窗户纸彻底捅破。我会结合我踩过的坑,把RAID 0/1/5/6/10的原理、对比选型、软硬取舍,一次性讲清楚。
4.1 RAID到底是个啥?
RAID,全称是“独立磁盘冗余阵列”。说白了,就是把多块硬盘组合起来,让它们协同工作。
为什么要这么做?两个目的:要么为了更快,要么为了更安全。当然,也有两者兼顾的方案。
嗯,这里要注意:RAID不是数据备份。它解决的是硬盘物理故障导致的停机或数据丢失问题。你要是误删了文件,RAID救不了你。
4.2 主流RAID级别详解
4.2.1 RAID 0:条带化,要速度不要命
RAID 0的原理很简单:把数据拆成小块,同时写入多块硬盘。
举个例子,你有两块硬盘,一个文件1MB。RAID 0会把前512KB写到盘1,后512KB写到盘2。读写的时候两块盘同时干活,速度自然翻倍。
优点:
- 读写性能极高,理论上是单盘的N倍
- 磁盘利用率100%,不浪费空间
缺点:
- 没有任何冗余,一块盘坏,所有数据全丢
- 可靠性反而比单盘还低(因为故障概率是N块盘之和)
4.2.2 RAID 1:镜像,最朴素的冗余
RAID 1就是“一模一样”。数据写到盘1,同时也写到盘2。两块盘内容完全一致。
读的时候可以两块盘同时读,性能有所提升。写的时候因为要写两份,性能略低于单盘。
优点:
- 极高的数据安全性,坏一块盘不影响业务
- 读取性能有提升
缺点:
- 磁盘利用率只有50%,太浪费了
- 写性能没有提升
4.2.3 RAID 5:性价比之选
RAID 5需要至少3块盘。它把数据和校验信息分散存储在所有盘上。
校验信息占一块盘的容量。比如3块1TB的盘组RAID 5,实际可用空间是2TB。允许坏一块盘而不丢数据。
优点:
- 磁盘利用率高,N块盘可用N-1块
- 读性能不错,接近RAID 0
- 允许单盘故障
缺点:
- 写性能受校验计算影响,小文件写入尤其慢
- 重建时风险极高,第二块盘容易“陪葬”
4.2.4 RAID 6:双校验,更安全但更慢
RAID 6在RAID 5的基础上增加了一组校验信息。需要至少4块盘,允许同时坏两块盘。
可用空间是N-2块盘的容量。比如4块1TB盘,可用2TB。
优点:
- 极高的数据安全性,允许双盘故障
- 适合大容量硬盘(单盘4TB以上)
缺点:
- 写性能更差,因为要计算两组校验
- 磁盘利用率比RAID 5低
- 重建时间更长
为什么会这样?因为RAID 6的校验计算量是RAID 5的两倍。你想想看,写入一个数据块,要同时更新两组校验块,CPU和磁盘I/O的压力都翻倍了。
4.2.5 RAID 10:镜像+条带,鱼和熊掌我都要
RAID 10是RAID 1和RAID 0的组合。先做镜像,再做条带。需要至少4块盘。
举个例子:4块盘,先两两组成RAID 1,得到两个镜像组。再把这两个镜像组做成RAID 0。
优点:
- 读写性能都很好
- 允许每个镜像组中各坏一块盘
- 重建速度快,只需复制镜像
缺点:
- 磁盘利用率只有50%
- 成本高
4.3 RAID级别对比与选型
咱们直接上表格,一目了然:
| RAID级别 | 最少盘数 | 可用空间 | 读性能 | 写性能 | 容错能力 | 重建速度 | 推荐场景 |
|---|---|---|---|---|---|---|---|
| RAID 0 | 2 | 100% | ★★★★★ | ★★★★★ | 无 | N/A | 临时存储、缓存 |
| RAID 1 | 2 | 50% | ★★★★ | ★★★ | 1块盘 | 快 | 关键数据、系统盘 |
| RAID 5 | 3 | (N-1)/N | ★★★★ | ★★★ | 1块盘 | 慢 | 中小规模NVR |
| RAID 6 | 4 | (N-2)/N | ★★★★ | ★★ | 2块盘 | 很慢 | 大容量存储 |
| RAID 10 | 4 | 50% | ★★★★★ | ★★★★★ | 每组1块 | 快 | 高性能DVR/NVR |
选型时,我个人习惯按这个思路来:
- 预算充足,性能优先:RAID 10,没得商量
- 预算有限,容量优先:RAID 5,但要注意单盘容量不要超过4TB
- 数据极其重要:RAID 6或RAID 10
- 千万别用:RAID 0做安防存储
4.4 软RAID与硬RAID的取舍
这是个老生常谈的问题,也是很多新手容易纠结的地方。
硬RAID:有独立的RAID卡,自带CPU和缓存。所有RAID计算由RAID卡完成,不占用主机CPU资源。
软RAID:用操作系统或软件来实现RAID功能。所有计算由主机CPU承担。
咱们直接说结论:
| 对比项 | 硬RAID | 软RAID |
|---|---|---|
| 性能 | 高,不占用主机CPU | 低,占用主机CPU |
| 可靠性 | 高,有独立缓存和电池保护 | 一般,依赖操作系统 |
| 成本 | 高,需要购买RAID卡 | 低,免费 |
| 功能 | 丰富,支持热备盘、在线扩容 | 基础功能,部分高级功能不支持 |
| 兼容性 | 好,跨平台通用 | 差,更换系统可能无法识别 |
另外,硬RAID卡也有讲究:
- 缓存大小:至少512MB,推荐1GB以上
- 缓存保护:必须有电池或电容保护,防止掉电丢数据
- 接口类型:SAS接口优于SATA接口,支持更多盘位
- 品牌选择:LSI/Broadcom是主流,Adaptec也不错
4.5 总结
好了,这一章的内容就这些。咱们回顾一下重点:
- RAID 0要速度不要命,安防存储别碰
- RAID 1最安全但最浪费,适合关键节点
- RAID 5性价比高,但大容量硬盘慎用
- RAID 6双保险,适合大容量存储
- RAID 10性能和安全兼顾,预算允许首选
- 生产环境用硬RAID,别拿软RAID开玩笑
下一章,咱们聊聊硬盘的选型与配置。你会发现,硬盘的水比RAID还深。