什么是RAID呢?
简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备
份技术。组成磁盘阵列的不同方式成为RAID级别(RAID
Levels)。数据备份的功能是在用户数据一旦发生损坏后,利用备份信息可以使损坏数据得以恢复,从而保障了用户数据的安全性。在用户看起来,组成的磁
盘组就像是一个硬盘,用户可以对它进行分区,格式化等等。总之,对磁盘阵列的操作与单个硬盘一模一样。不同的是,磁盘阵列的存储速度要比单个硬盘高很多,
而且可以提供自动数据备份。
RAID技术的两大特点:一是速度、二是安全,由于这两项优点,RAID技术早期被应用于高级服务器中的SCSI
接口的硬盘系统中,随着近年计算机技术的发展,PC机的CPU的速度已进入GHz
时代。IDE接口的硬盘也不甘落后,相继推出了ATA66和ATA100硬盘。这就使得RAID技术被应用于中低档甚至个人PC机上成为可能。RAID通
常是由在硬盘阵列塔中的RAID控制器或电脑中的RAID卡来实现的。
RAID级别的选择有三个主要因素:可用性(数据冗余)、性能和成本。如果不要求可用性,选择RAID0以获得最佳性能。如果可用性和性能是重要的而成本
不是一个主要因素,则根据硬盘数量选择RAID 1。如果可用性、成本和性能都同样重要,则根据一般的数据传输和硬盘的数量选择RAID3、RAID5。
RAID,为Redundant Arrays of Independent Disks的简称,中文为廉价冗余
磁盘阵列。
磁盘阵列其实也分为软阵列 (Software Raid)和硬阵列 (Hardware Raid) 两种. 软阵列即通过软件程序并由计算机的
CPU提供运行能力所成. 由于软件程式不是一个完整系统故只能提供最基本的
RAID容错功能. 其他如热备用硬盘的设置, 远程管理等功能均一一欠奉. 硬阵列是由独立操作的硬件提供整个
磁盘阵列的控制和计算功能. 不依靠系统的
CPU资源.
由于硬阵列是一个完整的系统, 所有需要的功能均可以做进去. 所以硬阵列所提供的功能和性能均比软阵列好. 而且, 如果你想把系统也做到
磁盘阵列中, 硬阵列是唯一的选择. 故我们可以看市场上
RAID 5 级的磁盘阵列均为硬阵列. 软 阵列只适用于 Raid 0 和 Raid 1. 对于我们做镜像用的镜像塔, 肯定不会用 Raid 0或 Raid 1。作为高性能的存储系统,巳经得到了越来越广泛的应用。
RAID的级别从RAID概念的提出到现在,巳经发展了六个级别, 其级别分别是0、1、2、3、4、5等。但是最常用的是0、1、3、5四个级别。下面就介绍这四个级别。
RAID 0:将多个较小的磁盘合并成一个大的磁盘,不具有冗余,并行I/O,速度最快。RAID 0亦称为带区集。它是将多个 磁盘并列起来,成为一个大硬盘。在存放数据时,其将数据按磁盘的个数来进行分段,然后同时将这些数据写进这些盘中。 所以,在所有的级别中,
RAID 0的速度是最快的。但是RAID 0没有冗余功能的,如果一个磁盘(物理)损坏,则所有的数 据都无法使用。
RAID
0是的一种最简单的实现方式就是把几块硬盘串联在一起创建一个大的卷集。磁盘之间的连接既可以使用硬件的形式通过智能磁盘控制器实现,也可以使用操作系统
中的磁盘驱动程序以软件的方式实现,我们把4块磁盘组合在一起形成一个独立的逻辑驱动器,容量相当于任何任何一块单独硬盘的4倍。如图:
首先它有个别名就是磁盘镜像,每一个磁盘都具有一个对应的镜像盘。对任何一个磁盘的数据写入都会被复制镜像盘中;系统可以从一组镜像盘中的任何一个磁盘读取数据。显然,磁盘镜像肯定会提高系统成本。
另外,两组相同的磁盘系统互作镜像,速度没有提高,但是允许单个磁盘错,可靠性最。RAID 1就是镜像。其原理为 在主硬盘上存放数据的同时也在镜像硬盘上写一样的数据。当主硬盘(物理)损坏时,镜像硬盘则代替主硬盘的工作。因 为有镜像硬盘做
数据备份,所以
RAID 1的数据安全性在所有的RAID级别上来说是最好的。但是其磁盘的利用率却只有50%, 是所有
RAID上磁盘利用率最低的一个级别。
如下图,每个磁盘都有对应的镜像:
RAID Level 3
RAID 3存放数据的原理和RAID0、RAID1不同。RAID 3是以一个硬盘来存放数据的奇偶校验位,数据则分段存储于其余硬盘 中。它象
RAID 0一样以并行的方式来存放数,但速度没有RAID 0快。如果数据盘(物理)损坏,只要将坏硬盘换掉,RAID
控制系统则会根据校验盘的数据校验位在新盘中重建坏盘上的数据。不过,如果校验盘(物理)损坏的话,则全部数据都 无法使用。利用单独的校验盘来保护数据虽然没有镜像的安全性高,但是硬盘利用率得到了很大的提高,为n-1。
这种使用一个专门的磁盘存放所有的校验数据,而在剩余的磁盘中创建带区集分散数据的读写操作显然显得有点简单。例如,在一个由5块硬盘构成的RAID 3系统中,4块硬盘将被用来保存数据,第五块硬盘则专门用于校验。这种配置方式可以用4+1的形式表示
第五块硬盘中的每一个校验块所包含的都是其它4块硬盘中对应数据块的校验信息。
如图:
RAID 3的成功之处就在于不仅可以象RAID 1那样提供容错功能,而且整体开销从RAID 1的50%下降为25%(RAID 3+1)。随着所使用磁盘数量的增多,成本开销会越来越小。举例来说,如果我们使用7块硬盘,那么总开销就会将到12.5%(1/7)。
RAID
5:向阵列中的磁盘写数据,奇偶校验数据存放在阵列中的各个盘上,允许单个磁盘出错。RAID 5也是以数据的校验
位来保证数据的安全,但它不是以单独硬盘来存放数据的校验位,而是将数据段的校验位交互存放于各个硬盘上。这样,
任何一个硬盘损坏,都可以根据其它硬盘上的校验位来重建损坏的数据。硬盘的利用率为n-1。
和RAID比较的话,首先 RAID 5和RAID 3几乎完全相同,也是由同一带区内的几个数据块共享一个校验块。
而RAID 5和RAID 3的最大区别在于RAID 5不是把所有的校验块集中保存在一个专门的校验盘中,而是分散到所有的数据盘中。RAID 5使用了一种特殊的算法,可以计算出任何一个带区校验块的存放位置。
如图:
RAID 0-1:顾名思义,就是把RAID0和RAID1结合起来,同时具有RAID 0和RAID 1的优点。
如图:
其中左边和右边各自来看就相当于RAID0,是个没有冗余的磁盘集合
而把这两部分统一起来看,它们又互为镜像,所以又融合了RAID1的特点。
这样一来两者的长处都得到了发挥。
总的来说,这几种模式都给有特点,优点缺点都有,但是假如只是从安全性来考虑的话 RAID5和RAID1是最好的选择。