磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“数块独立磁盘构成具有冗余能力的阵列”之意。(引用自百度百科)
- 磁盘阵列针对的是多块磁盘,对于一块磁盘来说磁盘阵列是没有意义的
- 磁盘阵列的主要目的之一就是为了解决数据安全问题
- 采用合适的组建方式可以提高数据的读写性能
- 对于随机读取来讲,有可能会降低速度
Just a bunch of disk(JBOD,只是一堆磁盘)
RAID
RAID对于使用者来说就是一块普通的硬盘,他利用各种组建方式将多块硬盘进行组合来达到不同的性能要求。目前行业公认的RAID等级为0-7。不同等级之间并没有优劣之分,他们只是不同功能的阵列。
RAID 0
- 至少2块磁盘
- 数据拆分成2份,同时写入两块磁盘,读取的时候也是从两块磁盘读取
优点
带宽翻倍、速度翻倍(有多少块磁盘,速度就翻多少倍)。需要注意的是这里的速度只是连续读写速度,而不是随机读写。RAID 0无法做到随机读写的性能提升
缺点
- 有可能某块磁盘拖后腿导致木桶效应而影响整体性能
- 某块磁盘故障会导致所有数据全部损坏,磁盘数量增多会导致出现数据损坏的概率增加
RAID 1
- 至少2块硬盘
- 镜像存储:把一份完整数据复制到另一块磁盘。简单理解为自动备份
优点
安全,某块磁盘损坏可以使用另一块磁盘进行恢复
缺点
- 磁盘利用率低
- 速度没有提升
RAID 2
- 海明码校验
- RAID 0的基础上增加数据纠错 (这里是纠错而不是容灾)
RAID 2其数据的第2的n次方为校验文件,其他的位置才是原始数据
优点
具备RAID 0的性能
缺点
- 编码数位越少,磁盘利用率越低
- 纠错功能会消耗部分性能
RAID 3
- 至少3块磁盘
- RAID 0基础上增加一块恢复码磁盘
图中第四块磁盘存放着前三块磁盘的恢复码,在前三块磁盘任意一个出现故障时都可以用第四块磁盘将其数据恢复
优点
- 具备RAID 0的性能
- 容灾能力提升
RAID 4
- RAID 0基础上增加一块恢复码磁盘
- 相比RAID3,将多组数据整体准备一个恢复码写入
RAID 3 | RAID 4 |
---|---|
RAID 3是将一个数据块拆分分开存,校验码也是针对拆分的这一部分进行计算。RAID4是按照区块进行存储,校验码针对几个块一并计算
缺点
- 只有一块恢复盘,如果数据盘增加,会导致恢复盘性能下降。恢复盘数据块没有写完不会进行下一次写入
RAID 5
- RAID 4基础上把恢复码存入数据盘
优点
- 具备RAID 0的性能
- 容灾能力提升
- 解决了RAID4恢复码磁盘的瓶颈
RAID 6
- 恢复码磁盘增加到2个
优点
- 更高的容灾能力
RAID 7
RAID 7不是一个标准的RAID级别,它可能是一种特定厂商或组织开发的专有解决方案,其配置和工作原理可能因厂商而异。
嵌套
RAID 10
RAID 50
文中插图和部分文字引用自 【【硬件科普】磁盘阵列是什么东西?为什么需要磁盘阵列?不同阵列之间的区别是什么?】,感谢原作者的分享
评论区