RAID详解
RAID
是英文
Redundant Array of Independent Disks
的缩写,翻译成中文意思是“独立磁盘冗余阵列”,有时也简称磁盘阵列(
Disk Array
)。
简单的说,
RAID
是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。组成磁盘阵列的不同方式成为
RAID
级别(
RAID Levels
)。数据备份的功能是在用户数据一旦发生损坏后,利用备份信息可以使损坏数据得以恢复,从而保障了用户数据的安全性。在用户看起来,组成的磁盘组就像是一个硬盘,用户可以对它进行分区,格式化等等。总之,对磁盘阵列的操作与单个硬盘一模一样。不同的是,磁盘阵列的存储速度要比单个硬盘高很多,而且可以提供自动数据备份。
RAID
技术的两大特点:一是速度、二是安全,由于这两项优点,
RAID
技术早期被应用于高级服务器中的
SCSI
接口的硬盘系统中,随着近年计算机技术的发展,PC机的
CPU
的速度已进入
GHz
时代。
IDE
接口的硬盘也不甘落后,相继推出了
ATA66
和
ATA100
硬盘。这就使得
RAID
技术被应用于中低档甚至个人PC机上成为可能。
RAID
通常是由在硬盘阵列塔中的
RAID
控制器或电脑中的
RAID
卡来实现的。
RAID
技术经过不断的发展,现在已拥有了从
RAID 0
到
6
七种基本的
RAID
级别。另外,还有一些基本
RAID
级别的组合形式,如
RAID 10
(
RAID 0
与
RAID 1
的组合),
RAID 50
(
RAID 0
与
RAID 5
的组合)等。不同
RAID
级别代表着不同的存储性能、数据安全性和存储成本。但我们最为常用的是下面的几种
RAID
形式。
(1) RAID 0
(2) RAID 1
(3) RAID 0+1
(4) RAID 3
(5) RAID 5
RAID
级别的选择有三个主要因素:可用性(数据冗余)、性能和成本。如果不要求可用性,选择
RAID0
以获得最佳性能。如果可用性和性能是重要的而成本不是一个主要因素,则根据硬盘数量选择
RAID 1
。如果可用性、成本和性能都同样重要,则根据一般的数据传输和硬盘的数量选择
RAID
3、
RAID
5。
RAID 0
RAID 0
又称为
Stripe
(条带化)或
Striping
,它代表了所有
RAID
级别中最高的存储性能。
RAID 0
提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。
如图所示:系统向三个磁盘组成的逻辑硬盘(
RADI 0
磁盘组)发出的
I/O
数据请求被转化为
3
项操作,其中的每一项操作都对应于一块物理硬盘。我们从图中可以清楚的看到通过建立
RAID 0
,原先顺序的数据请求被分散到所有的三块硬盘中同时执行。从理论上讲,三块硬盘的并行操作使同一时间内磁盘读写速度提升了
3
倍。
但由于总线带宽等多种因素的影响,实际的提升速率肯定会低于理论值,但是,大量数据并行传输与串行传输比较,提速效果显著显然毋庸置疑。
RAID 0
的缺点是不提供数据冗余,因此一旦用户数据损坏,损坏的数据将无法得到恢复。
RAID 0
具有的特点,使其特别适用于对性能要求较高,而对数据安全不太在乎的领域,如图形工作站等。对于个人用户,
RAID 0
也是提高硬盘存储性能的绝佳选择。
RAID 1
RAID 1
又称为
Mirror
或
Mirroring
(镜像),它的宗旨是最大限度的保证用户数据的可用性和可修复性。
RAID 1
的操作方式是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上。
如图所示:当读取数据时,系统先从
RAID 0
的源盘读取数据,如果读取数据成功,则系统不去管备份盘上的数据;如果读取源盘数据失败,则系统自动转而读取备份盘上的数据,不会造成用户工作任务的中断。当然,我们应当及时地更换损坏的硬盘并利用备份数据重新建立
Mirror
,避免备份盘在发生损坏时,造成不可挽回的数据损失。
由于对存储的数据进行百分之百的备份,在所有
RAID
级别中,
RAID 1
提供最高的数据安全保障。同样,由于数据的百分之百备份,备份数据占了总存储空间的一半,因而
Mirror(
镜像
)
的磁盘空间利用率低,存储成本高。
Mirror
虽不能提高存储性能,但由于其具有的高数据安全性,使其尤其适用于存放重要数据,如服务器和数据库存储等领域
.
RAID 0+1
正如其名字一样
RAID 0+1
是
RAID 0
和
RAID 1
的组合形式,也称为
RAID 10
。
以四个磁盘组成的
RAID 0+1
为例,其数据存储方式如图所示:
RAID 0+1
是存储性能和数据安全兼顾的方案。它在提供与
RAID 1
一样的数据安全保障的同时,也提供了与
RAID 0
近似的存储性能。
由于
RAID 0+1
也通过数据的
100%
备份功能提供数据安全保障,因此
RAID 0+1
的磁盘空间利用率与
RAID 1
相同,存储成本高。
RAID 0+1
的特点使其特别适用于既有大量数据需要存取,同时又对数据安全性要求严格的领域,如银行、金融、商业超市、仓储库房、各种档案管理等。
RAID 3
RAID 3
是把数据分成多个“块”,按照一定的容错算法,存放在
N+1
个硬盘上,实际数据占用的有效空间为
N
个硬盘的空间总和,而第
N+1
个硬盘上存储的数据是校验容错信息,当这
N+1
个硬盘中的其中一个硬盘出现故障时,从其它
N
个硬盘中的数据也可以恢复原始数据,这样,仅使用这
N
个硬盘也可以带伤继续工作(如采集和回放素材),当更换一个新硬盘后,系统可以重新恢复完整的校验容错信息。由于在一个硬盘阵列中,多于一个硬盘同时出现故障率的几率很小,所以一般情况下,使用
RAID3
,安全性是可以得到保障的。与
RAID0
相比,
RAID3
在读写速度方面相对较慢。使用的容错算法和分块大小决定
RAID
使用的应用场合,在通常情况下,
RAID3
比较适合大文件类型且安全性要求较高的应用,如视频编辑、硬盘播出机、大型数据库等
.
RAID 5
RAID 5
是一种存储性能、数据安全和存储成本兼顾的存储解决方案。
以四个硬盘组成的
RAID 5
为例,其数据存储方式如图
4
所示:图中,
P0
为
D0
,
D1
和
D2
的奇偶校验信息,其它以此类推。由图中可以看出,
RAID 5
不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成
RAID5
的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当
RAID5
的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。
RAID 5
可以理解为是
RAID 0
和
RAID 1
的折衷方案。
RAID 5
可以为系统提供数据安全保障,但保障程度要比
Mirror
低而磁盘空间利用率要比
Mirror
高。
RAID 5
具有和
RAID 0
相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,
RAID 5
的磁盘空间利用率要比
RAID 1
高,存储成本相对较低。