RAID磁盘阵列简介

来源:互联网 发布:2016双十一大数据 编辑:程序博客网 时间:2024/06/03 23:42
RAID全名是Redundant Array of Independent Disks(原来的“I”是Inexpensive),即独立冗余磁盘阵列,是将许多较小的磁盘组成一个大的磁盘组的技术。


分类

RAID分软件和硬件两种,其中硬件又分为外接式磁盘矩阵和内接式磁盘矩阵两种。
software RAID是利用软件仿真方式将磁盘或者分区组成一个阵列,可以提供数据冗余功能,但性能较hardware RAID低。
外接式磁盘矩阵一般用在大型服务器上,具有可热插拔的特性,价格昂贵。
内接式磁盘矩阵一般为磁盘矩阵卡,价格较便宜,能够提供在线扩容、动态修改阵列级别、自动数据恢复、驱动器漫游、超高速缓冲等功能,适合技术人员使用。


级别

RAID技术分为RAID 0~RAID 50等多种级别,每个级别的RAID侧重点不同,常见的有如下几种:

RAID 0

RAID 0是最早出现的RAID模式,只有Data Striping数据分条技术没有Mirroring镜像、Parity分区技术,是磁盘阵列中最简单的技术。

RAID 0最简单的实现方式就是将N块硬盘(最好容量相同)串联在一起形成一个大的硬盘组,在写入数据时,数据会被分为一定大小的多个区块,依次写入到磁盘中(如图所示)。RAID 0的最大优点是可以成倍提高磁盘的存储容量,如三块1TB的硬盘组成的RAID 0其容量为3TB。其缺点是一旦其中任何一个硬盘出现故障,整个磁盘阵列都将无法使用,可靠性仅为单个硬盘的1/N。


为了提升RAID 0的读写速度,RAID 0出现了一种新模式,即在N块硬盘上选择合理的带区来创建带区集。其原理就是将原先顺序写入的数据分散到多个硬盘中同时进行读写,多块硬盘的并行读写操作使得速度提升很多。
带区集的大小选择很重要,带区过大,可能一块磁盘上的带区空间就可以满足大部分的I/O操作,使数据的读写仍然只局限在少数磁盘上,那么无法发挥并行操作的优势,带区过小则可能会占用过多的控制器总线带宽,影响读写。
带区集虽然可以把数据均匀分配到所有磁盘上读写,但如果把所有的硬盘都连接到一个控制器上,控制器可能会使控制器超负荷,所以建议使用多个控制器。
RAID 0可以提供更多的空间和更好的读写性能,但使得整个磁盘阵列相当不可靠,所以只在对数据安全性要求不高的情况下才会使用。

RAID 1

RAID 1被称为磁盘镜像模式,原理在一个硬盘上写入数据时会在闲置硬盘上也同时写入,生成镜像文件,在不影响性能的情况下尽可能保证可靠性,只要磁盘阵列中任何一块硬盘出现问题,都可以有另一块镜像硬盘可以使用,具备很好的冗余能力。虽然这样对数据保存会比较安全,但成本也会增加,硬盘利用率仅为50%。另外,一旦这个磁盘阵列出现故障,那么整个阵列的可靠性也相对不再可靠,必须及时更换硬盘。因此RAID 1主要用在保存关键性数据的场合。


RAID 0+1

从名字就可以看出来这种RAID是RAID 0和RAID 1的结合体,即在磁盘镜像中建立带区集。这种配置方式综合了带区集和镜像的优势,所以被称为RAID 0+1。把RAID 0和RAID 1技术结合起来,数据除分步在多个盘上外,每个盘都有物理镜像盘,提供全冗余能力。RAID 0+1的特点使得其至少要有4个硬盘。


RAID 2

RAID是以汉明码(Hamming Code)的方式将数据进行编码后分割为独立的位元,并将数据分别写入硬盘中。因为数据中加入了错误修正码,所以数据整体的容量会比原始数据大。

RAID2的设计是使用共轴同步的技术,存取数据时整个磁盘陈列一起工作,在各个磁盘的相同位置做平行存取,所以有最短的存取时间,其总线是特别的设计,以大带宽并行传输所存取的数据。在大型文件的存取应用中,RAID2有最好的性能,但是如果文件太小,将会影响其性能,因为磁盘的存取是以扇区为单位,而RAID2的存取是所以磁盘平行动作,而且是进行位的存取,所以小于一个扇区的数据量会使其性能大打折扣。


RAID 2的特点使其使用成本过大,现在已经基本不再使用,转而以更高级的即时检验RAID 3、RAID 5等。

RAID 3

RAID 3的数据存取方式与RAID 2一样,只是用相对简单的奇偶校验来替代了复杂的汉明码校验,所以只需要一个额外的校验盘,从而大幅降低了成本。RAID 3具有容错能力,但系统会受到影响。当一块硬盘失效时,该硬盘上的数据块必须使用校验信息重新建立。如果从好盘中读取数据块不会有任何问题,但如果要读取的数据块位于损坏的硬盘上,则必须从同一带区上同时读取其他数据块,根据校验值重新建立丢失的数据。


RAID 3的校验盘往往成为整个磁盘阵列的瓶颈,因为RAID 3会把数据写入操作分散到多个硬盘上进行,然而不管是向哪一个数据盘写入数据,都必须同时更新校验盘中的相关信息,故经常会导致校验盘负担过大。因此RAID 3只适合用于写入数据较少,读取数据较频繁的场合。

RAID 4

RAID 4与RAID 3基本相同,最大的区别在于RAID 3对数据的分割以位为单位,而RAID 4以数据块为单位,也就是按磁盘为单位。这样的特点使得RAID 4在写入小文件时比RAID 3要快,但在恢复数据时RAID 4的难度要大得多,控制器的设计也要复杂得多。

RAID 5

RAID 5是一种分布式的独立磁盘阵列,被设计为一种存储性能、数据安全和存储成本兼顾的存储解决方案,也可以理解为是RAID 0和RAID 1的折中方案。


RAID 5与RAID 4一样将数据以块为单位分步在各个硬盘上。RAID 5不对数据进行备份,而是把数据和对应的奇偶校验信息存储在组成磁盘阵列的各个磁盘上,并且奇偶校验信息和与其相对应的信息存放在不同的硬盘上。当一个硬盘损坏时,系统可以根据在另一块硬盘上存放的该损坏数据相对应的奇偶校验信息来恢复数据。RAID 5只允许同时损坏一个硬盘,所以如果一个硬盘出现故障后RAID 5还能够正常读取数据,但应及时更换损坏的硬盘,否则再出现另外的硬盘损坏则整个磁盘阵列将会崩溃。

RAID 6

RAID 6是在RAID 5的基础上为进一步加强数据保护而设计的一种RAID模式,实际上是RAID 5的扩展等级。RAID 6除了每个硬盘上都有同级数据(也就是硬盘级)的XOR校验区外,还有一个针对每个数据块的XOR校验区,而且同样是交错存储。这样一来每个数据块就有了双层保护(一个总体校验一个分层校验),冗余性能更好(RAID 6可允许同时损坏两块硬盘)。但随之带来的是写入性能的降低以及系统设计复杂度的增加,同时多了一个校验区还减少了有效存储空间。


RAID 7

RAID 7英文名为Storage Computer Operating System,是一种全新的RAID标准,或者准确来说它已经不单是一种存储技术,而是一种存储计算机,它自身带有操作系统和管理工具,完全可以独立运行,不占用主机的CPU资源。
RAID 7突破了以往RAID标准的技术架构,采用了非同步访问,极大提高了数据写入上限,I/O速度得到很大提升。所谓非同步访问,即RAID 7 的每个I/O 接口都有一条专用的高速通道,作为数据或控制信息的流通路径,因此可独立地控制自身系统中每个磁盘的数据存取。如果RAID 7 有N 个磁盘,那么除去一个校验盘(用作冗余计算)外,可同时处理N-1 个主机系统随机发出的读/写指令,从而显著地改善了I/O 应用。RAID 7 系统内置实时操作系统还可自动对主机发送过来的读/写指令进行优化处理,以智能化方式将可能被读取的数据预先读入快速缓存中,从而大大减少了磁头的转动次数,提高了I/O 速度。RAID 7 可帮助用户有效地管理日益庞大的数据存储系统,并使系统的运行效率提高至少一倍以上,满足了各类用户的不同需求。


本文内容节选自百度百科与维基百科
原创粉丝点击