raid(磁盘阵列)
RAID 是英文 Redundant Array of Independent Disk 的首字母缩写,中文意思是:独立磁盘冗余阵列。通俗的讲就是把多块硬盘组成一个独立的磁盘阵列进行管理。
磁盘阵列是由很多块独立的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。
磁盘阵列还能利用同位检查(Parity Check)的观念,当数组中任意一个硬盘发生故障时,仍可读出数据。在数据重构时,可将数据经计算后重新置入新硬盘中。
用RAID最直接的好处是:
- 提升数据安全性
- 提升数据读写性能
- 提供更大的单一逻辑磁盘数据容量存储
常见的类型
功能
RAID技术主要有以下三个基本功能:
- 通过对磁盘上的数据进行条带化,实现对数据成块存取,减少磁盘的机械寻道时间,提高了数据存取速度。
- 通过对一个阵列中的几块磁盘同时读取,减少了磁盘的机械寻道时间,提高数据存取速度。
- 通过镜像或者存储奇偶校验信息的方式,实现了对数据的冗余保护。
分类
RAID 0
RAID 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余,因此并不能算是真正的RAID结构。RAID 0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。因此,RAID 0不能应用于数据安全性要求高的场合。
RAID 1
它是通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能。RAID 1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。
RAID 5
RAID 5 综合了 RAID 0 的条带化技术以及阵列数据冗余技术(阵列最少包括三个磁盘)。RAID 3 和 RAID 5 之间的区别在于,RAID 3 配置提供的性能更高,但总容量略低。数据会在所有磁盘之间分条,并且每个数据块的奇偶校验块 § 写入到同一条带上。如果一个物理磁盘出现故障,该磁盘上的数据可以重建到更换磁盘上。单个磁盘出现故障时,数据不会丢失,但如果数据尚未重建到更换驱动器上,而此时又有一个磁盘出现故障,那么阵列中的所有数据都将丢失。
RAID 6
前面所述的各个 RAID 等级都只能保护因单个磁盘失效而造成的数据丢失。如果两个磁盘同时发生故障,数据将无法恢复。 RAID6 引入双重校验的概念,它可以保护阵列中同时出现两个磁盘失效时,阵列仍能够继续工作,不会发生数据丢失。 RAID6 等级是在 RAID5 的基础上为了进一步增强数据保护而设计的一种 RAID 方式,它可以看作是一种扩展的 RAID5 等级。RAID6在RAID5的基础上再次改进,引入了双重校验的概念。
RAID6 不仅要支持数据的恢复,还要支持校验数据的恢复,因此实现代价很高,控制器的设计也比其他等级更复杂、更昂贵。 RAID6 思想最常见的实现方式是采用两个独立的校验算法,假设称为 P 和 Q ,校验数据可以分别存储在两个不同的校验盘上,或者分散存储在所有成员磁盘中。当两个磁盘同时失效时,即可通过求解两元方程来重建两个磁盘上的数据。
RAID6 具有快速的读取性能、更高的容错能力。但是,它的成本要高于 RAID5 许多,写性能也较差,并且设计和实施非常复杂。因此, RAID6 很少得到实际应用。
RAID 10
RAID10其实就是RAID0与RAID1的一个合体。
RAID10兼备了RAID0和RAID1的有优点。首先基于RAID1模式将磁盘分为2份,当要写入数据的时候,将所有的数据在两份磁盘上同时写入,相当于写了双份数据,起到了数据保障的作用。且在每一份磁盘上又会基于RAID0技术讲数据分为N份并发的读写,这样也保障了数据的效率。
但也可以看出RAID10模式是有一半的磁盘空间用于存储冗余数据的,浪费的很严重,因此用的也不是很多。
类型 | RIAD 0 | RAID 1 | RAID 5 (raid0和raid的折中方案) | RAID 10(RAID 10+1镜像阵列条带) |
---|---|---|---|---|
读写性能 | 最好(因并行性而提高) | 读和单个磁盘无分别,写则要写两边 | 读:RAID 5=RAID 0(相近似的数据读取速度)写:RAID 5<对单个磁盘进行写入操作(多了一个奇偶校验信息写入) | 读:RAID10=RAID0(数据跨盘抽取)写:RAID10=RAID1(每个磁盘都有一个镜像磁盘) |
安全性 | 最差(毫无安全保障)1/n | 最高(提供数据的百分之百备份) | RAID 0<RAID 5<RAID 1 | RAID10=RAID1 |
冗余类型 | 没有 | 有 镜像100%(mirror) | 奇偶校验 | 有 镜像100%(mirror) |
磁盘数量 | 2或2*n(这里至少2个) | ≥2 | ≥3 | ≥4 |
连接方式 | 串联 | 并联 | 并联 | 符合并联(先做两个RAID1然,再并联按照RAID1) |
磁盘利用率 | 最高(100%) | 差(50%) | RAID0>RAID 5>RAID 1 (n-1)*10 | RAID10=RAID1(50%) |
容错率 | 没有错误修复能力 | 有 | 有 | 有 |
随机/连续写性能 | 高 | 低 | 低 | 高 |
管理方便性 | 容易 | 出现问题,及时更换问题硬盘 | ||
成本 | 最低 | 最高 | RAID 5<=""> | RAID10=RAID1 |
应用方面 | 普通个人用户,图形工作站(对性能要求高,安全率要求不高) | 适用于存放重要数据,如服务器和数据库存储等领域。 | 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。(随机数据传输要求安全性高)应用领域:金融、数据库存储等 | 集合了RAID0,RAID1的优点,但是空间上由于使用镜像,而不是类似RAID5的“奇偶校验信息”,磁盘利用率一样是50%其特别适用于既有大量数据需要存取,同时又对数据安全性要求严格的领域,如银行、金融、商业超市、仓储库房、各种档案管理等。 |