1、RAID 0 (又称为Stripe 或 Striping - 分条)
即 Data Stripping 数据分条技术。RAID 0 可以把多块硬盘连成一个容量更大的硬盘群,可以提高磁 盘的性能和吞吐量。
RAID 0 没有冗余或错误修复能力,成本低,要求至少两个磁盘,一般只是在那些对数 据安全性要求不高的情况下才被使用。
特点:
RAID 0 的工作方式:
如图1所示:系统向 三个磁盘组成的逻辑硬盘(RADI 0 磁盘组)发出的I/O数据请求被转化为3项操作,其中的每一项操作都对应于一块物理硬盘。
我们从图中可以清楚的看到通过建立RAID 0,原先顺序的数据请求被分散到所有的三块硬盘中同时执行。
从理论上讲,三块硬盘的并行操作使同一时间内磁盘读写速度提升了3倍。 但由于总线带宽等多种因素的影响,实际的提升速率肯定会低于理论值,
但是,大量数据并行传输与串行传输比较,提速效果显著显然毋庸置疑。
RAID 0的缺点是不提供数据冗余,因此一旦用户数据损坏,损坏的数据将无法得到恢复。
RAID 0具有的特点,使其特别适用于对性能要求较高,而对数据安全不太在乎的领域,如图形工作站等。
对于个人用户,RAID 0也是提高硬盘存储性能的绝佳选择。
2、RAID 1 (又称为Mirror或Mirroring--镜像)
RAID 1称为磁盘镜像:把一个磁盘的数据镜像到另一个磁盘上,在不影响性能情况下,最大限度的保证系统的可靠性和可修复性上,
具有很高的数据冗余能力,但磁盘利用 率为50%,故成本最高,多用在保存关键性的重要数据的场合。
RAID 1的操作方式是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上。
RAID 1有以下特点:
(1)、RAID 1的每一个磁盘都具有一个对应的镜像盘,任何时候数据都同步镜像,系统可以从一组 镜像盘中的任何一个磁盘读取数据。
(2)、磁盘所能使用的空间只有磁盘容量总和的一半,系统成本高。
(3)、只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行。
(4)、出现硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘,否则剩余的镜像盘也出现问题,那么整个系统就会崩溃。
(5)、更换新盘后原有数据会需要很长时间同步镜像,外界对数据的访问不会受到影响,只是这时整个系统的性能有所下降。
(6)、RAID 1磁盘控制器的负载相当大,用多个磁盘控制器可以提高数据的安全性和可用性。
RAID 1的工作方式:
如图2所 示:当读取数据时,系统先从RAID1的 源盘读取数据,如果读取数据成功,则系统不去管备份盘上的数据;
如果读取源盘数据失败,则系统自动转而读取备份盘 上的数据,不会造成用户工作任务的中断。
当然,我们应当及时地更换损坏的硬盘并利用备份数据重新建立Mirror,避免备份盘在发生损坏时,造成不可挽回 的数据损失。
raid 1的优缺点
由于对存储的数据进行百分之百的备份,在所有RAID级别中,RAID 1提供最高的数据安全保障。同样,由于数据的百分之百备份,
备份数据占了总存储空间的一半,因而Mirror(镜像)的磁盘空间利用率低,存储成本高。 Mirror虽不能提高存储性能,但由于其
具有的高数据安全性,使其尤其适用于存放重要数据,如服务器和数据库存储等领域。
3、 RAID 5 (可以理解为是 RAID 0 和 RAID 1的折衷方案,但没有完全使用RAID 1镜像理念,
而是使用了“奇偶校验信息”来作为数据恢复的方式,与下面的RAID10不同。)
RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。 以四个硬盘组成的RAID 5为例,
其数据存储方式如图4所示:图中,Ap为 A1,A2和A3的奇偶校验信息,其它以此类推。
由图中可以看出,RAID 5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,
并且奇偶校验信息和相对应的数据分别存储于不同的磁盘 上。
当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。
RAID 5可以理解为是RAID 0和RAID 1的折衷方案。
RAID 5可以为系统提供数据安全保障,但保障程度要比Mirror低而磁盘空间利用率要比Mirror高。
RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。
同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比 RAID 1高,存储成本相对较低。
RAID6技术是在RAID 5基础上,为了进一步加强 数据保护 而设计的一种RAID方式,实际上是一种扩展RAID 5等级。
与RAID 5的不同之处于除了每个硬盘上都有同级数据XOR校验区外,还有一个针对每个数据块的XOR校验区。
当然,当前盘数据块的校验数据不可能存在当前盘而是交错存储的,具体形式见图。这样一来,等于每个数据块有了两个校验保护屏障
(一个分层校验,一个是总体校验),因此RAID 6的数据冗余性能相当好。
但是,由于增加了一个校验,所以写入的效率较RAID 5还差,
而且控制系统的设计也更为复杂,第二块的校验区也减少了有效存储空间。
容量计算:
RAID0:N块盘组成,逻辑容量为N块盘容量之和;
RAID1:两块盘组成,逻辑容量为一块盘容量;
RAID3:N+1块盘组成,逻辑容量为N块盘容量之和;
RAID5:N块盘组成,逻辑容量为N-1块盘容量之和;
RAID6:N块盘组成,逻辑容量为N-2块盘容量之和;
RAID10:2N块盘组成,逻辑容量为N块盘容量之和;
RAID50:假每个RAID5由N块盘组成,共有M个RAID5组成该RAID50,则逻辑容量为(N-1)*M块盘容量之和。
其实RAID 6的核心就是有两份检验数据,以保证两块磁盘同时出故障的时候,也能保障数据的安全。
假设一共6块硬盘,使用4块创建逻辑盘,raid6,4个硬盘在使用时都被先条带化,然后分别存储数据和校验位。
如果一块硬盘出现物理故障,RAID的会处于降级状态,但是仍然有容错功能;
如果第二块硬盘出现故障,逻辑盘中还剩下的两块硬盘就不再有容错功能。
如果阵列中有热备硬盘,出故障的硬盘上的数据会转移到热备硬盘上,并且自动进行重建,数据的条带化存储方式和原来的两块硬盘相同。
4、 RAID 10(可以理解为是RAID 0 和 RAID 1的 综合方案)
RAID10也被称为镜象阵列条带。象RAID0一样,数据跨磁盘抽取;象RAID1一样,每个磁盘都有一个镜象磁盘, 所以RAID 10的另一种会说法是 RAID 0+1。
RAID10提供100%的数据冗余,支持更大的卷尺寸,但价格也相对较高。对大多数只要求具有冗余度而不必考虑价格的应用来说,RAID10提 供最好的性能。
使用RAID10,可以获得更好的可靠性,因为即使两个物理驱动器发生故障(每个阵列中一个),数据仍然可以得到保护。
RAID10需要4 + 2*N 个磁盘驱动器(N >=0), 而且只能使用其中一半(或更小, 如果磁盘大小不一)的磁盘用量,
例如 4 个 250G 的硬盘使用RAID10 阵列, 实际容量是 500 G。