您的位置:首页 > 大数据 > 人工智能

磁盘阵列模式RAID

2015-10-29 21:51 591 查看
一、RAID
RAID:即Redundant Array of Independent Disks,冗余磁盘阵列技术。

二、RAID模式
RAID 0:又称Striping阵列,做RAID 0需要两上或两个以上的、容量相同的硬盘,N个硬盘做成RAID0后的硬盘容量为单个硬盘的N倍。在做数据存储时将数据分割存储到多块硬盘上,磁盘读写时负载平均分配到多块硬盘,由于多块硬盘均可同时读写,所以速度显著提升。也正是由于数据被分割存储到多块硬盘,所以数据的完整性依赖于多块硬盘数据均完好无损,一旦其中一块硬盘的数据损坏或磁盘故障,那么所有的数据都将丢失。所以RAID0数据存取性能好、速度快,但可靠性差,RAID 0通常用于对磁盘性能要求高但对数据安全性要求不高的场合。

RAID 1:又称Mirror阵列,做RAID 1需要两个容量相同的硬盘,两个硬盘做成RAID1后的硬盘容量为单个硬盘容量。在做数据存储时将同样的数据写入两块硬盘,两块硬盘互为镜像盘,当一块硬盘中的数据受损或磁盘故障时,另一块硬盘可继续工作,并可在需要时重建RAID1阵列。但RAID 1不能提升磁盘性能,RAID 1适合对数据可靠性要求严格的场合。

RAID 2:带海明码校验磁盘阵列,RAID2是为大型机和超级计算机开发的。磁盘驱动器组中的第一个、第二个、第四个......第2的n次幂个磁盘驱动器是专门的校验盘,用于校验和纠错,例如七个磁盘驱动器的RAID2,第一、二、四个磁盘驱动器是纠错盘,其余的用于存放数据。使用的磁盘驱动器越多,校验盘在其中占的百分比越少。RAID2对大数据量的输入输出有很高的性能,但少量数据的输入输出时性能不好。由于海明码的特点,它可以在数据发生错误的情况下将错误校正,以保证输出的正确。它的数据传送速率相当高,如果希望达到比较理想的速度,那最好提高保存校验码的硬盘性能,对于控制器的设计来说,它又比RAID3、4、5要简单。但是利用海明码校验必须要付出数据冗余的代价。

RAID 3:做RAID 3至少需要三块硬盘,N个硬盘做成RAID 3后的硬盘容量为单个硬盘的N-1倍。RAID 3是将数据先做XOR 运算,产生Parity Data后,再将数据和Parity Data以并行存取模式写入成员磁盘驱动器中,进一步来说,RAID3每一笔数据传输,都更新整个Stripe﹝即每一个成员磁盘驱动器相对位置的数据都一起更新﹞,因此不会发生需要把部分磁盘驱动器现有的数据读出来,与新数据作XOR运算,再写入的情况发生。因此,在所有RAID级别中,RAID3的写入性能是最好的。RAID 3的Parity Data一般都是存放在一个专属的Parity Disk,但是由于每笔数据都更新整个Stripe,因此,RAID3的Parity Disk并不会如RAID 4的Parity Disk,会造成存取的瓶颈。RAID 3需要RAID控制器特别功能的支持,RAID3以其优越的写入性能,特别适合用在大型、连续性档案写入为主的应用。

RAID 4:带奇偶校验码的独立磁盘结构,做RAID 4至少需要三块硬盘,RAID 4和RAID 3很相似,不同的是RAID4对数据的访问是按数据块进行的,也就是按磁盘进行的,每次是一个盘。RAID 3是一次一横条,而RAID 4一次一竖条。所以RAID3常须访问阵列中所有的硬盘驱动器,而RAID4只须访问有用的硬盘驱动器。这样读数据的速度大大提高了,但在写数据方面,需将从数据硬盘驱动器和校验硬盘驱动器中恢复出的旧数据与新数据通过异或运算,然后再将更新后的数据和检验位写入硬盘驱动器,所以处理时间较RAID3长。

RAID 5:类似于RAID 0,做RAID 5至少需要三块硬盘,N个硬盘(N>2)做成RAID5后的硬盘容量为单个硬盘的N-1倍,在做数据存储时将数据的每个字节按bit拆分到硬盘,在数据出错时可以按奇偶校验码重建数据,容错能力强于RAID0,但它需要一块硬盘来容纳额外的奇偶校验信息。RAID 5的Parity Data分散写入到各个成员磁盘驱动器,脱离如RAID 4单一专属Parity Disk的写入瓶颈。但是,RAID 5在做数据写入时,仍然稍微受到"读、改、写过程"的拖累。当RAID5的成员磁盘驱动器数目越多,其性能也就越高,但是反过来说,成员磁盘驱动器越多,RAID5中可能有磁盘驱动器故障的机率就越高,整个阵列的可靠度就会降低。基本上来说,多人多任务的环境,存取频繁,数据量不是很大的应用,都适合选用RAID 5架构。

RAID6:带有两种分布存储的奇偶校验码的独立磁盘结构,几乎没有进行商用。它使用一种分配在不同的驱动器上的第二种奇偶方案,扩展了RAID5。它能承受多个驱动器同时出现故障,但是,性能尤其是写操作却很差,而且,系统需要一个极为复杂的控制器。当然由于引入了第二种奇偶校验值,所以需要N+2个磁盘,同时对控制器的设计变得十分复杂,用于计算奇偶校验值和验证数据正确性所花费的时间比较多,造成了不必须的负载。

RAID 7:磁盘阵列新标准RAID 7。其实,RAID 7不仅仅是一种技术,还是一种存储计算机(Storage Computer)。因为它与RAID0、1、5标准有明显区别,RAID 7自身带有智能化实时操作系统和用于存储管理的软件工具,可完全独立于主机运行,不占用主机CPU资源。RAID7不仅具有更高的性能和卓越的存储管理能力,而且集普通RAID标准的所有优点于一身,因而RAID 7系统整体性能极佳。RAID7存储计算机操作系统(Storage Computer Operating System)是一套实时事件驱动操作系统,主要用来进行系统初始化和安排RAID7磁盘阵列的所有数据传输,并把它们转换到相应的物理存储驱动器上。通过自身系统中的阵列电脑板来设定和控制读写速度,存储计算机操作系统可使主机I/O传递性能达到最佳。如果一个磁盘出现故障,还可自动执行恢复操作,并可管理备份磁盘的重建过程。RAID7突破了以往RAID标准的技术架构,采用了非同步访问,极大地减轻了数据写瓶颈,提高了I/O速度。所谓非同步访问,即RAID7的每个I/O接口都有一条专用的高速通道,作为数据或控制信息的流通路径,因此可独立地控制自身系统中每个磁盘的数据存取。如果RAID7有N个磁盘,那么除去一个校验盘(用作冗余计算)外,可同时处理N-1个主机系统随机发出的读/写指令,从而显著地改善了I/O应用。RAID7系统内置实时操作系统还可自动对主机发送过来的读/写指令进行优化处理,以智能化方式将可能被读取的数据预先读入快速缓存中,从而大大减少了磁头的转动次数,提高了I/O速度。RAID7可帮助用户有效地管理日益庞大的数据存储系统,并使系统的运行效率提高至少一倍以上,满足了各类用户的不同需求。

RAID 10:即RAID 0+1,它综合了RAID 0和RAID 1的优点,适合用在速度需求高、又要完全容错的应用。做RAID10至少需要4块硬盘,并且是偶数个,N个硬盘做成RAID 10后的容量为单个硬盘的N/2倍。RAID 0和RAID1的原理很简单,合起来之后还是很简单,但RAID 0+1到底应该是RAID 0 over RAID 1,还是RAID 1 over RAID 0?综合分析,RAID 0 over RAID 1要比RAID 1 over RAID 0更具有较高的可靠度。所以建议,当采用RAID 10架构时,应先作RAID1,再把数个RAID 1做成RAID 0。

其它模式:RAID 30、RAID 50与RAID10模式相似。还有RAID5增强型,即有一只硬盘正常情况处于准备状态,一旦某只硬盘故障,它自动替补上去,完成原有的RAID5功能。

RAID条切"striped"的存取模式

在使用数据条切(Data Stripping)的RAID系统之中,对成员磁盘驱动器的存取方式,可分为两种:并行存取﹝Paralleled Access﹞、独立存取﹝Independent Access﹞。RAID 2和RAID 3 是采取并行存取模式。RAID 0、RAID 4、RAID 5及RAID 6则是采用独立存取模式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  技术 安全性 可靠性