分类:
2009-11-07 09:22:13
RAID 0使用一种称为“条带”(striping)的技术把数据分布到各个磁盘上。在那里每个“条带”被分散到连续“块”(block)上,数据被分成从512 字节到数兆字节的若干块后,再交替写到磁盘中。第1块被写到磁盘1中,第2块被写到磁盘2中,如此类推。当系统到达阵列中的最后一个磁盘时,就写到磁盘1 的下一分段,如此下去。
分割数据可以将I/O负载平均分配到所有的驱动器中。由于驱动器可以同时写或读,使得性能显著提高。但是,它却没有数据保护能力。如果一个磁盘出现故障,那么数据就会全盘丢失。因此,RAID 0不适用于关键任务环境,但是,它却非常适合于视频、图象的制作和编辑。
RAID 1也被称为镜象,因为一个磁盘上的数据被完全复制到另一个磁盘上。如果一个磁盘的数据发生错误,或者硬盘出现了坏道,那么另一个硬盘可以补救回磁盘故障而 造成的数据损失和系统中断。另外,RAID 1还可以实现双工——即可以复制整个控制器,这样在磁盘故障或控制器故障发生时,您的数据都可以得到保护。镜象和双工的缺点是需要多出一倍数量的驱动器来 复制数据,但系统的读写性能并不会由此而提高,这可能是一笔不小的开支。RAID l可以由软件或硬件方式实现。
RAID 2是为大型机和超级计算机开发的带海明码校验磁盘阵列。磁盘驱动器组中的第1个、第2个、第4个……第2的n次幂个磁盘驱动器是专门的校验盘,用于校验和 纠错。如下图:七个磁盘驱动器组建的RAID 2,第1、2、4个磁盘驱动器(红色)是纠错盘,其余的(紫色)用于存放数据。RAID 2对大数据量的读写具有极高的性能,但少量数据的读写时性能反而不好,所以RAID 2实际使用较少。
由 于RAID 2的特殊性,只要我们使用的磁盘驱动器越多,校验盘在其中占的百分比越少。如果希望达到比较理想的速度和较好的磁盘利用率,那最好可以增加保存校验码 ECC码的硬盘,但是这就要付出更多硬盘的购买成本,来确保数据冗余。对于控制器的设计来说,它比下面所说的RAID 3,4或5要简单
RAID 3,即带有专用奇偶位(parity)的条带。每个条带片上都有相当于一“块”那么大的空间用来存储冗余信息,即奇偶位。奇偶位是编码信息,如果某个磁盘 的数据有误,或者磁盘发生故障,就可以用它来恢复数据。在数据密集型环境或单一用户环境中,组建RAID 3对访问较长的连续记录有利,不过同RAID 2一样,访问较短记录时,性能会有所下降。
RAID 4是带奇偶校验码的独立磁盘结构。它和RAID 3很相似,不同的是RAID 4对数据的访问是按数据块进行的。RAID 3是一次一横条,而RAID 4一次一竖条。所以RAID 3常须访问阵列中所有的硬盘驱动器,而RAID 4只须访问有用的硬盘驱动器。这样读数据的速度大大提高了,但在写数据方面,需将从数据硬盘驱动器和校验硬盘驱动器中恢复出的旧数据与新数据校验,然后再 将更新后的数据和检验位写入硬盘驱动器,所以处理时间较RAID 3长。
RAID 5也被叫做带分布式奇偶位的条带。每个条带上都有相当于一个“块”那么大的地方被用来存放奇偶位。与RAID 3不同的是,RAID 5把奇偶位信息也分布在所有的磁盘上,而并非一个磁盘上,大大减轻了奇偶校验盘的负担。尽管有一些容量上的损失,RAID 5却能提供较为完美的整体性能,因而也是被广泛应用的一种磁盘阵列方案。它适合于输入/输出密集、高读/写比率的应用程序,如事务处理等。
RAID 6是带有两种分布存储的奇偶校验码的独立磁盘结构。它使用了分配在不同的磁盘上的第二种奇偶校验来实现增强型的RAID 5。它能承受多个驱动器同时出现故障,但是,用于计算奇偶校验值和验证数据正确性所花费的时间比较多,造成了系统的负载较重,大大降低整体磁盘性能,而 且,系统需要一个极为复杂的控制器。当然,由于引入了第二种奇偶校验值,我们所以需要的是N+2个磁盘。
RAID 7自身带有智能化实时操作系统和用于存储管理的软件工具,可完全独立于主机运行,不占用主机CPU资源。RAID 7存储计算机操作系统(Storage Computer Operating System)是一套实时事件驱动操作系统,主要用来进行系统初始化和安排RAID 7磁盘阵列的所有数据传输,并把它们转换到相应的物理存储驱动器上。通过Storage Computer Operating System来设定和控制读写速度,可使主机I/O传递性能达到最佳。如果一个磁盘出现故障,还可自动执行恢复操作,并可管理备份磁盘的重建过程。
RAID 7采用的是非同步访问方式,极大地减轻了数据写瓶颈,提高了I/O速度。(所谓非同步访问,即RAID 7的每个I/O接口都有一条专用的高速通道,作为数据或控制信息的流通路径,因此可独立地控制自身系统中每个磁盘的数据存取。)如果RAID 7有N个磁盘,那么除去一个校验盘(用作冗余计算)外,可同时处理N-1个主机系统随机发出的读/写指令,从而显著地改善了I/O应用。RAID 7系统内置实时操作系统还可自动对主机发送过来的读/写指令进行优化处理,以智能化方式将可能被读取的数据预先读入快速缓存中,从而大大减少了磁头的转动 次数,提高了I/O速度。RAID 7可帮助用户有效地管理日益庞大的数据存储系统,并使系统的运行效率提高至少一倍以上,满足了各类用户的不同需求。其实,RAID 7不仅仅是一种技术,还是一种存储计算机(Storage Computer)。因为它与RAID 0、1、5标准有明显区别,RAID 7自身带有智能化实时操作系统和用于存储管理的软件工具,可完全独立于主机运行,不占用主机CPU资源。RAID 7不仅具有更高的性能和卓越的存储管理能力,而且集普通RAID标准的所有优点于一身,因而RAID 7系统整体性能极佳。 RAID 7存储计算机操作系统(Storage Computer Operating System)是一套实时事件驱动操作系统,主要用来进行系统初始化和安排RAID 7磁盘阵列的所有数据传输,并把它们转换到相应的物理存储驱动器上。通过自身系统中的阵列电脑板来设定和控制读写速度,存储计算机操作系统可使主机I/O 传递性能达到最佳。如果一个磁盘出现故障,还可自动执行恢复操作,并可管理备份磁盘的重建过程。 RAID 7突破了以往RAID标准的技术架构,采用了非同步访问,极大地减轻了数据写瓶颈,提高了I/O速度。所谓非同步访问,即RAID 7的每个I/O接口都有一条专用的高速通道,作为数据或控制信息的流通路径,因此可独立地控制自身系统中每个磁盘的数据存取。如果RAID 7有N个磁盘,那么除去一个校验盘(用作冗余计算)外,可同时处理N-1个主机系统随机发出的读/写指令,从而显著地改善了I/O应用。RAID 7系统内置实时操作系统还可自动对主机发送过来的读/写指令进行优化处理,以智能化方式将可能被读取的数据预先读入快速缓存中,从而大大减少了磁头的转动 次数,提高了I/O速度。RAID 7可帮助用户有效地管理日益庞大的数据存储系统,并使系统的运行效率提高至少一倍以上,满足了各类用户的不同需求。
RAID 10,也被称为镜象阵列条带,现在我们一般称它为RAID 0+1。RAID 10(RAID 0+1)提供100%的数据冗余,支持更大的卷尺寸。组建RAID 10(RAID 0+1)需要4个磁盘,其中两个为条带数据分布,提供了RAID 0的读写性能,而另外两个则为前面两个硬盘的镜像,保证了数据的完整备份。
RAID 30也被称为专用奇偶位阵列条带。它具有RAID 0和RAID 3的特性,由两组RAID 3的磁盘(每组3个磁盘)组成阵列,使用专用奇偶位,而这两种磁盘再组成一个RAID 0的阵列,实现跨磁盘抽取数据。RAID 30提供容错能力,并支持更大的卷尺寸。象RAID 10一样,RAID 30也提供高可靠性,因为即使有两个物理磁盘驱动器失效(每个阵列中一个),数据仍然可用。
RAID 30最小要求有6个驱动器,它最适合非交互的应用程序,如视频流、图形和图象处理等。这些应用程序顺序处理大型文件,而且要求高可用性和高速度。
RAID 50被称为分布奇偶位阵列条带。同RAID 30相仿的,它具有RAID 5和RAID 0的共同特性。它由两组RAID 5磁盘组成(每组最少3个),每一组都使用了分布式奇偶位,而两组硬盘再组建成RAID 0,实验跨磁盘抽取数据。RAID 50提供可靠的数据存储和优秀的整体性能,并支持更大的卷尺寸。即使两个物理磁盘发生故障(每个阵列中一个),数据也可以顺利恢复过来。
RAID 50最少需要6个驱动器,它最适合需要高可靠性存储、高读取速度、高数据传输性能的应用。这些应用包括事务处理和有许多用户存取小文件的办公应用程序。
RAID 53称为高效数据传送磁盘结构。结构的实施同Level 0数据条阵列,其中,每一段都是一个RAID 3阵列。它的冗余与容错能力同RAID 3。这对需要具有高数据传输率的RAID 3配置的系统有益,但是它价格昂贵、效率偏低。
RAID的保存原理是用Bit Striping及当前主流Block Striping的分割方式,将Data分散保存至各硬盘中,
当硬盘有受损时则经由XOR运算,再将存在其他各硬盘内的Parity Blocks及Data Stripe磁区的
Data Blocks进行计算而重建资料Rebuild。
各种raid的优劣:
RAID 0:RAID
0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余,因此并不能算是真正的RAID结构。RAID
0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。因此,RAID
0不能应用于数据安全性要求高的场合。
RAID 1:它是通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互
为备份的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能。RAID
1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。
RAID 0+1: 也被称为RAID 10标准,实际是将RAID 0和RAID
1标准结合的产物,在连续地以位或字节为单位分割数据并且并行读/写多个磁盘的同时,为每一块磁盘作磁盘镜像进行冗余。它的优点是同时拥有RAID
0的超凡速度和RAID 1的数据高可靠性,但是CPU占用率同样也更高,而且磁盘的利用率比较低。
RAID 2:将数据条块化地分布于不同的硬盘上,条块单位为位或字节,并使用称为“加重平均纠错码(海明码)”的编码技术来提供错误检查及恢复。这种编码技术需要多个磁盘存放检查及恢复信息,使得RAID 2技术实施更复杂,因此在商业环境中很少使用。
RAID 3:它同RAID 2非常类似,都是将数据条块化分布于不同的硬盘上,区别在于RAID
3使用简单的奇偶校验,并用单块磁盘存放奇偶校验信息。如果一块磁盘失效,奇偶盘及其他数据盘可以重新产生数据;如果奇偶盘失效则不影响数据使用。
RAID 3对于大量的连续数据可提供很好的传输率,但对于随机数据来说,奇偶盘会成为写操作的瓶颈。
RAID 4:RAID 4同样也将数据条块化并分布于不同的磁盘上,但条块单位为块或记录。RAID 4使用一块磁盘作为奇偶校验盘,每次写操作都需要访问奇偶盘,这时奇偶校验盘会成为写操作的瓶颈,因此RAID 4在商业环境中也很少使用。
RAID 5:RAID 5不单独指定的奇偶盘,而是在所有磁盘上交叉地存取数据及奇偶校验信息。在RAID
5上,读/写指针可同时对阵列设备进行操作,提供了更高的数据流量。RAID 5更适合于小数据块和随机读写的数据。RAID 3与RAID
5相比,最主要的区别在于RAID 3每进行一次数据传输就需涉及到所有的阵列盘;而对于RAID
5来说,大部分数据传输只对一块磁盘操作,并可进行并行操作。在RAID
5中有“写损失”,即每一次写操作将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。
RAID 6:与RAID 5相比,RAID
6增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用。但RAID
6需要分配给奇偶校验信息更大的磁盘空间,相对于RAID 5有更大的“写损失”,因此“写性能”非常差。较差的性能和复杂的实施方式使得RAID
6很少得到实际应用。
RAID 7:这是一种新的RAID标准,其自身带有智能化实时操作系统和用于存储管理的软件工具,可完全独立于主机运行,不占用主机CPU资源。RAID 7可以看作是一种存储计算机(Storage Computer),它与其他RAID标准有明显区别。除了以上的各种标准(如表1),我们可以如RAID 0+1那样结合多种RAID规范来构筑所需的RAID阵列,例如RAID 5+3(RAID 53)就是一种应用较为广泛的阵列形式。用户一般可以通过灵活配置磁盘阵列来获得更加符合其要求的磁盘存储系统。