(一)磁盘阵列
是由多台磁盘存储器组成的一个快速、大容量、高可靠的外存子系统。
(1)镜像(Mirroring)
将数据复制到多个磁盘,提高可靠性和可读性。
(2)数据条带(Data Stripping)
将数据分片保存在多个不同的磁盘,提升I/O性能。
(3)数据校验(Data parity)
利用冗余数据(海明码、异或操作等)进行数据错误检测和修复。
在写入数据同时进行校验计算,并将得到的校验数据存储在 RAID 成员磁盘中。
当其中一部分数据出错时,就可以对剩余数据和校验数据进行反校验计算重建丢失的数据。
(二)海明校验码
由理查德·海明提出,不仅能检测错误,还能给出错误位置并自动纠正。实质上是一种多重奇偶校验。
基本思想:将有效信息按照某种规律分成若干组,对每一个组作奇偶测试并安排一个校验位,从而能提供多位检错信息,以定位错误点并纠正。
(三)异或校验
通过异或逻辑运算产生,将一个有效信息与一个给定初始值进行异或运算,得到校验信息。如果有效信息出现错误,通过校验信息与初始值的异或运算能还原正确的有效信息。
(四)廉价冗余磁盘阵列(Redundant Array of Independent Disk,RAID)
标准 RAID 等级
RAID级别 | 说明 | 场景 | |
1 | RAID-0 | 将数据分散存储在所有磁盘中,读写性能是单个磁盘性能的n倍。 无校验无冗余,存储利用率100%,数据损坏后无法恢复。 | 对性能要求严格但对数据安全性和可靠性不高,如视频、音频存储、临时数据缓存空间等。 |
2 | RAID-1 | 称为镜像,将数据完全一致地分别写到工作磁盘和镜像磁盘。存储利用率50% | 对顺序读写性能要求高以及对数据保护极为重视,如对邮件系统的数据保护。 |
3 | RAID-2 | 称为纠错海明码磁盘阵列,采用海明码进行错误检测。 冗余开销大,数据重建非常耗时。 | 实际中很少应用,没有形成商业产品,目前主流存储磁盘阵列均不提供支持。 |
4 | RAID-3 | 只用一个校验盘。 至少需要三块磁盘,校验值写入校验盘中。 | 用大容量数据的顺序访问应用,如影像处理、流媒体服务等。 |
5 | RAID-4 | 只用一个检验盘。 单一校验盘是瓶颈,写性能差,数据盘越多越差。 | 在实际应用中很少见,主流存储产品也很少使用。 |
6 | RAID-5 | 是对RAID-4改进,不设置专门检验盘。 同一磁盘既记录数据,也记录检验信息,解决了多个磁盘争用一台检验盘的问题 | 为 RAID0 和 RAID1 的折中方案,目前综合性能最佳。可以满足大部分存储应用需求 |
7 | RAID-6 | 扩展了RAID5,引入双重校验,在两个磁盘出现故障时仍能正常工作。 成本较高,写性能较差,设计和实施复杂。 | 很少得到实际应用,主要用于对数据安全等级要求非常高的场合。是替代 RAID10 方案的经济性选择。 |
8 | RAID-10 | RAID1+0,兼备RAID0和RAID1的优点,先做镜像再作条带化,是对虚拟磁盘实现镜像。存储利用率50% | 非常适合对性能和数据安全性都有较高要求的应用场景 |