存储基础知识(四):RAID技术(上)

一、 RAID 概述

RAID
为廉价磁盘冗余阵列( Redundant Array of Inexpensive Disks ), RAID 技术将一个个单独的磁盘以不同的组合方式形成一个逻辑硬盘,从而提高了磁盘读取的性能和数据的安全性。不同的组合方式用 RAID 级别来标识。 RAID 技术是由美国加州大学伯克利分校 D.A. Patterson 教授在 1988 年提出的,作为高性能、高可靠的存储技术,在今天已经得到了广泛的应用。

二、 RAID 级别

RAID
技术经过不断的发展,现在已拥有了从 RAID 0 5 6 种明确标准级别的 RAID 级别。另外,其他还有 6 7 10 RAID 1 RAID 0 的组合)、 01 RAID 0 RAID 1 的组合)、 30 RAID 3 RAID 0 的组合)、 50 RAID 0 RAID 5 的组合)等。不同 RAID 级别代表着不同的存储性能、数据安全性和存储成本,下面将介绍如下 RAID 级别: 0 1 2 3 4 5 6 01 10

1
RAID0

RAID0
也称为条带化( stripe ),将数据分成一定的大小顺序的写道阵列的磁盘里, RAID0 可以并行的执行读写操作,可以充分利用总线的带宽,理论上讲,一个由 N 个磁盘组成的 RAID0 系统,它的读写性能将是单个磁盘读取性能的 N 倍。且磁盘空间的存储效率最大( 100 %) RAID0 有一个明显的缺点:不提供数据冗余保护,一旦数据损坏,将无法恢复。

RAID0
应用于对读取性能要求较高但所存储的数据为非重要数据的情况下。

2
RAID1

RAID1
成为镜像( mirror ),它将数据完全一致的分别写到工作磁盘和镜像磁盘,因此它的磁盘空间利用率为 50 %,在数据写入时时间会有影响,但是读的时候没有任何影响, RAID0 提供了最佳的数据保护,一旦工作磁盘发生故障,系统自动从镜像磁盘读取数据,不会影响用户工作。

RAID1
应用于对数据保护极为重视的应用。

3
RAID2

RAID2
称为纠错海明码磁盘阵列,阵列中序号为 2N 的磁盘(第 1 2 4 6…… )作为校验盘,其余的磁盘用于存放数据,磁盘数目越多,校验盘所占比率越少。 RAID2 在大数据存储额情况下性能很高, RAID2 的实际应用很少。

4
RAID3

RAID3
采用一个硬盘作为校验盘,其余磁盘作为数据盘,数据按位或字节的方式交叉的存取到各个数据盘中。不同磁盘上同一带区的数据做异或校验,并把校验值写入到校验盘中。 RAID3 系统在完整的情况下读取时没有任何性能上的影响,读性能与 RAID0 一致,却提供了数据容错能力,但是,在写时性能大为下降,因为每一次写操作,即使是改动某个数据盘上的一个数据块,也必须根据所有同一带区的数据来重新计算校验值写入到校验盘中,一个写操作包含了写入数据块,读取同一带区的数据块,计算校验值,写入校验值等操作,系统开销大为增加。

RAID3 中有数据盘出现损坏,不会影响用户读取数据,如果读取的数据块正好在损坏的磁盘上,则系统需要读取所有同一带区的数据块,然后根据校验值重新构建数据,系统性能受到影响。

RAID3
的校验盘在系统接受大量的写操作时容易形成性能瓶颈,因而适用于有大量读操作如 web 系统以及信息查询等应用或持续大块数据流(例如非线性编辑)的应用。

5
RAID4

RAID4
RAID3 基本一致,区别在于条带化的方式不一样, RAID4 按照块的方式存放数据,所以在写操作时只涉及两块磁盘,数据盘和校验盘,提高了系统的 IO 性能。但面对随机的分散的写操作,单一的校验盘往往成为性能瓶颈。

6
RAID5

RAID5
RAID3 的机制相似,但是数据校验的信息被均匀的分散到的阵列的各个磁盘上,这样就不存在并发写操作时的校验盘性能瓶颈。阵列的磁盘上既有数据,也有数据校验信息,数据块和对应的校验信息会存储于不同的磁盘上,当一个数据盘损坏时,系统可以根据同一带区的其他数据块和对应的校验信息来重构损坏的数据。

RAID 5
可以理解为是 RAID 0 RAID 1 的折衷方案。 RAID 5 可以为系统提供数据安全保障,但保障程度要比 RAID1 低而磁盘空间利用率要比 RAID1 高。 RAID 5 具有和 RAID 0 相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息, RAID 5 的磁盘空间利用率要比 RAID 1 高,存储成本相对较低。

RAID5
在数据盘损坏时的情况和 RAID3 相似,由于需要重构数据,性能会受到影响。

7
RAID6

RAID 6
提供两级冗余,即阵列中的两个驱动器失败时,阵列仍然能够继续工作。一般而言, RAID 6 的实现代价最高,因为 RAID 6 不仅要支持数据的恢复,又要支持校验的恢复,这使 RAID 6 控制器比其他级 R A I D 更复杂和更昂贵。

RAID 6
的校验数据:
当对每个数据块执行写操作时, RAID 6 做两个独立的校验计算,因此,它能够支持两个磁盘的失败。为了实现这个思想,目前基本上有两个已经接受的方法:( 1 )使用多种算法,如 X O R 和某种其他的函数;( 2 )在不同的数据分条或者磁盘上,使用排列的数据。

RAID 6
的一维冗余:
RAID 6
的第一种方法是用两种不同的方法计算校验数据。实现这个思想最容易的方法之一是用两个校验磁盘支持数据磁盘,第一个校验磁盘支持一种校验算法,而第二个磁盘支持另一种校验算法,使用两种算法称为 P + Q 校验。一维冗余是指使用另一个校验磁盘,但所包含的分块数据是相同的。例如, P 校验值可能由 X O R 函数产生,这样, Q 校验函数需要是其他的某种操作,一个很有力的侯选者是 Reed Solomon 误差修正编码的变体,这个误差修正编码一般用于磁盘和磁带驱动器。假如两个磁盘失败,那么,通过求解带有两个变量的方程,可以恢复两个磁盘上的数据,这是一个代数方法,可以由硬件辅助处理器加速求解。

8
RAID10

RAID10
RAID1 RAID0 的结合,也称为 RAID 0+1 ),先做镜像然后做条带化,既提高了系统的读写性能,有提供了数据冗余保护, RAID10 的磁盘空间利用率和 RAID1 是一样的,为 50 %。 RAID10 适用于既有大量的数据需要存储,有对数据安全性有严格要求的领域,比如金融,证券等。

9
RAID01

RAID01
也是 RAID0 RAID1 的结合,但它是对条带化后的数据进行镜像。但与 RAID10 不同,一个磁盘的丢失等同于整个镜像条带的丢失,所以一旦镜像盘失败,则存储系统成为一个 RAID-0 系统(即只有条带化)。 RAID01 的实际应用非常少。

你可能感兴趣的:(基础,技术,raid,知识,休闲)