RAID介绍及详解

来源:互联网 发布:社交网络电影下载 编辑:程序博客网 时间:2024/05/21 11:34
 1. 什么是磁盘阵列(Disk Array)?
磁盘阵列(Disk Array)是由一个硬盘控制器来控制多个硬盘的相互连接,使多个硬盘的读写同步,减少错误,增加效率和可靠度的技术。
2.什么是RAID?
RAID是Redundant Array of Inexpensive Disk的缩写,意为廉价冗余磁盘阵列,是磁盘阵列在技术上实现的理论标准,其目的在于减少错误、提高存储系统的性能与可靠度。常用的等级有1、3、5级等。
3.什么是RAID Level 0?
RAID Level 0是Data Striping(数据分割)技术的实现,它将所有硬盘构成一个磁盘阵列,可以同时对多个硬盘做读写动作,但是不具备备份及容错能力,它价格便宜,硬盘使用效率最佳,但是可靠度是最差的。
以一个由两个硬盘组成的RAID Level 0磁盘阵列为例,它把数据的第1和2位写入第一个硬盘,第三和第四位写入第二个硬盘……以此类推,所以叫“数据分割",因为各盘数据的写入动作是同时做的,所以它的存储速度可以比单个硬盘快几倍。
但是,这样一来,万一磁盘阵列上有一个硬盘坏了,由于它把数据拆开分别存到了不同的硬盘上,坏了一颗等于中断了数据的完整性,如果没有整个磁盘阵列的备份磁带的话,所有的数据是无法挽回的。因此,尽管它的效率很高,但是很少有人冒着数据丢失的危险采用这项技术。
4.什么是RAID Level 1?
RAID Level 1使用的是Disk Mirror(磁盘映射)技术,就是把一个硬盘的内容同步备份复制到另一个硬盘里,所以具备了备份和容错能力,这样做的使用效率不高,但是可靠性高。
5.什么是RAID Level 3?
RAID Level 3采用Byte-interleaving(数据交错存储)技术,硬盘在SCSI控制卡下同时动作,并将用于奇偶校验的数据储存到特定硬盘机中,它具备了容错能力,硬盘的使用效率是安装几个就减掉一个,它的可靠度较佳。
6.什么是RAID Level 5?
RAID Level 5使用的是Disk Striping(硬盘分割)技术,与Level 3的不同之处在于它把奇偶校验数据存放到各个硬盘里, 各个硬盘在SCSI控制卡的控制下平行动作,有容错能力,跟Level 3一样,它的使用效率也是安装几个再减掉一个。
7.什么是热插拔硬盘?
热插拔硬盘英文名为Hot-Swappable Disk,在磁盘阵列中,如果使用支持热插拔技术的硬盘,在有一个硬盘坏掉的情况下,服务器可以不用关机,直接抽出坏掉的硬盘,换上新的硬盘。一般的商用磁盘阵列在硬盘坏掉的时候,会自动鸣叫提示管理员更换硬盘。
磁盘阵列(Disk array)原理


为什么需要磁盘阵列? 如何增加磁盘的存取(acces)速度,如何防止数据因磁盘的故障而失落及如 何有效的利用磁盘空间,一直是电脑专业人员和用户的困忧;而大容量磁盘的价 格非常昂贵,对用户形成很大的负担。磁盘阵列技术的产生一举解决了这些问题。
过去十年来,CPU的处理速度几乎是几何级数的跃升,内存(memory)的 存取速度亦大幅增加,而数据储存装置——它要是磁盘(hard disk) ——的存取 速度相较之下。较为缓慢。整个I/0吞吐量不能和系统匹配,形成电脑系统的瓶颈,降低了电脑系统的整体性能(throughout)若不能 有效的提升磁盘的存取速度,CPU、内存及磁盘间的不平衡将使CPU及内存的改进形成浪费。


目前改进磁盘存取速度的方式主要有两种。一是磁盘快取控制(disk cache controller),它将从磁盘读取的数据存在快取内存 (cache memory)中以减少磁盘存取的次数。数据的读写都在cache内存中进行,大幅增加存取的速度,如要读 取的数据不在cache内存中,或要写数据到磁盘时,才做磁盘的存取动作。这种方 式在单工期环境(Single—tasking envioronment)如DOS之下。对大量 数据的 存取有很好的性能(量小且频繁的存取则不然)。但在多工(multi—tasking)环境之下(因为要不停的作数据交换(swapping) 的动作)或数据库(database) 的存取(因每一记录都很小)就不能显示其性能。这种方式没有任何安全保障。


其一是使用磁盘阵列的技术。磁盘阵列是把多个磁盘组成一个阵列,当作单 一磁盘使用,它将数据以分段(striping)的方式储存在不同的磁盘 中,存取数据时,阵列中的相关磁盘一起动作:大幅减低数据的存取时间,同时有更佳的空间 利用率。磁盘阵列所利用的不同的技术,称为 RAID level,不同的level针对不 同的系统及应用,以解决数据安全的问题。


一般高性能的磁盘阵列都足以硬件的形式来达成、进—步的把磁盘cache控制 及磁盘阵列结合在—个控制器(RAID controler)或控制卡个,针对个同的用户 解决人们对磁盘输出/入系统的四大要求:


(1)增加存取速度。


(2)容错(fault tolerance),即安全性。


(3)有效的利用磁盘空间。


(4)尽量的平衡CPU,内存及磁盘的性能并异,提高电脑的整体工作性能。


磁盘阵列原理


1987 年,加州伯克利大学的一位人员发表了名为“磁盘阵列研究”的论文, 正式提到了RAID也就是滋盘阵列,论文提出廉价的5.25”及3. 5”的硬盘也能如 大机器上的8”盘能提供人容量、高性能和数据的一致性,并详述了RAIDl至5 的技术。磁盘阵列针对不同的应用使用的不同技术,称 为RAID level,RAID是Redundant Array of Inexpenslve Disks的缩写,而每一level代表一种技术, 目前业界公认的标准是RAID0—RAID5。这个level并个代表技术的高低,level5并不高于level3,level1也个低于 level4。字于要选样哪一种RAID level的产品,纯视用户的操作环境(Operating envir0nment)及应用 (application)而定,与level 的高低没有必然的关系。RAID0没有安全的保障,仅其快速,所以适合高速I/0 的系统;RAIDl适 用于需安全性又要兼顾速度的系统,RAID2及RAID3适用于大型电脑及影像、CAD/CAM等处理;RAID5多用于0LTP,因有余融机构及 大型数据处理中心的迫切需要,故使用较多而较有名气,但也因此形成很多人对 磁盘阵列的误解,以为磁盘阵列非要RAID5不可;RAID4较少使用、和 RAID5 有其共同之处,但RAID4适合大量数据的存取。其他如RAID6,RAID7。乃至 RAIDl0、50、100等,都是厂商各做各的,并 无一致的标准,在此不作说明。


RAID1


RAID1 是使用磁盘镜像(disk muroring)的技术,磁盘镜像应用在RAIDl 之前就在很多系统中使用,它的方式是在工作磁盘 (working disk)之外再加一 额外的备份磁盘(backup disk)两个磁盘所储存的数据安全一致。数据在写入工 作磁盘同时也写入备份 磁盘。


RAID2


RAID2 是把数据分散为位元/位元组(bit/byte)或块(b1ock),加入海明码Hamming Code、在磁盘阵列中作间隔写入 (Interleaving)到每个磁盘小。而 且地址(address)都一样,也就是在各个磁盘中,其数据都在相同的磁道 (cylinder or track)及扇区中。RAID2又称为并行阵列(parallel array)其设计足使 用共轴同步 (spindle synchronize)的技术,存取数据时、控个磁盘阵列—起动 作,在各个磁盘的相同位置作平行存取,所以有最好的存取时间 (auesstime),共 总线(bus)是特别的设计以大带宽并行传输所存取的数据,所以有最好的传输时 间(transfer time)。在人型 档案的存取应用,RAID2有最好的件能,仅如果档案太小,会将其性能批下来。因为磁盘的存取足以期区为单位。而RAID2的存取是所有磁盘平行动作,而且是作单位元或位元组的存取。故小于—个扇区的数据 最会使其件能大打折扣。RAID2是设计给需要连续且大量数据的电脑使用的、如 大型电脑 (mainframe to supercomputer)、作影像处理或CAD/CAM的工作站 (workstation)等,并个适用于—般的多用 户环境网络服务器(network server)。 小型机或PC。


RAID3


RAID3 的数据储存及存取方式都和RAID2一样,仅在安今方面以奇偶较验 (parity check)取代海明码做错误校正及检测,所以只需要—个额外的校检磁盘 (parity disk)。奇偶校验值的计算足以各个磁盘的相对应位作XOR的逻辑运算,然后将结果写入奇偶校验磁盘,仟何数 据的修改都要做奇偶校验计算。


RAID4


RAID4也使用一个校验磁盘,但和RAID3不一样,RAID4的方式是RAID0 加上一个校验磁盘。


RAID5


RAID5 和RAID4相似但避免了RAID4的瓶颈,方法是不用校验磁盘而将校 验数据以循环的方式放在每一个磁盘中,RAID5的控制比较复杂,尤其是利用硬件对磁盘阵列的控制,因为这种方式的应用比其他的RAID level要掌握更多的事情,更多的输出/入需求,既要速度快,又要处理数据,计算校验值,做错误 校正等,所以价格较高,其应用最好是0LTP,至于用于大型文件,不见得有最 佳的性能。


RAID的对比: 下面几个表列是RAID的一些性质:


操作 工作模式 最少硬盘量 可用容量 适用范围
RAID0 磁盘延伸和数据分布 2 T PC服务器和图形工作站
RAIDl 数据分布和镜像 2 T/2
RAID2 共轴同步,并行传输,ECC 3 视结构而定 大档案且输入输出不频繁的应用 如:影像处理和CAD/CAM等
RAID3 共轴同步,并行传输,Parity 3 Tx(n—1)/n
RAID4 数据分布,固定Parity 3 Tx(n—1)/n  
RAID5 数据分布,分布Parity 3 Tx(n—1)/n 银行、金融、股市、数据库等大 型数据处理中心OLTP应用


RAID详解
RAID 全称为Redundant Array of Disks,是“独立磁盘冗余阵列”(最初为“廉价磁盘冗余阵列”)的缩略语。1987年由Patterson,Gibson和Katz在加州大学伯克利分院的一篇文章中定义。RAID阵列技术允许将一系列磁盘分组,以实现为数据保护而必需的数据冗余,以及为提高读写性能而形成的数据条带分布。RAID最初用于高端服务器市场,不过随着计算机技术的快速发展,RAID技术已经渗透到计算机遍布的各个领域。如今,在家用电脑主板中,RAID控制芯片也随处可见。
一般,RAID系统可以存在于各种接口界面,就我们现时来说,PATA、SATA以及SCSI均有相应的硬盘可以组成RAID。随着Intel 865/875系列芯片组的发布,家用市场的硬盘接口开始转向SATA,而RAID方式也将从PATA过渡到SATA。
RAID 技术伴随着人们的使用过程,经历了一系列的变迁与发展。而在家用市场上,我们一般只能看到RAID 0、RAID 1以及RAID 0+1这几种磁盘阵列方式。不过从DFI Lanparty主板的诞生开始,我们又迎来了第四种磁盘阵列方式,那就是RAID 1.5。
从实际应用来说,家用RAID的组建大多数情况是为了进一步提高磁盘的读写性能,而数据的备份可由其他方式达到(如刻录)。所以,在只有2个硬盘的情况下,人们愿意尝试的以RAID 0为主,不过RAID 1.5的诞生让我们改变了这一理念。究竟这两种相对廉价的磁盘阵列方式具有何等的性能?让我们来为大家揭晓。
RAID 0:
RAID 0使用一种称为“条带”(striping)的技术把数据分布到各个磁盘上。在那里每个“条带”被分散到连续“块”(block)上,数据被分成从512 字节到数兆字节的若干块后,再交替写到磁盘中。第1块被写到磁盘1中,第2块被写到磁盘2中,如此类推。当系统到达阵列中的最后一个磁盘时,就写到磁盘1 的下一分段,如此下去。

分割数据可以将I/O负载平均分配到所有的驱动器中。由于驱动器可以同时写或读,使得性能显著提高。但是,它却没有数据保护能力。如果一个磁盘出现故障,那么数据就会全盘丢失。因此,RAID 0不适用于关键任务环境,但是,它却非常适合于视频、图象的制作和编辑。
RAID 1:
RAID 1也被称为镜象,因为一个磁盘上的数据被完全复制到另一个磁盘上。如果一个磁盘的数据发生错误,或者硬盘出现了坏道,那么另一个硬盘可以补救回磁盘故障而造成的数据损失和系统中断。另外,RAID 1还可以实现双工——即可以复制整个控制器,这样在磁盘故障或控制器故障发生时,您的数据都可以得到保护。镜象和双工的缺点是需要多出一倍数量的驱动器来复制数据,但系统的读写性能并不会由此而提高,这可能是一笔不小的开支。RAID l可以由软件或硬件方式实现。

RAID 2:
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:
RAID 3,即带有专用奇偶位(parity)的条带。每个条带片上都有相当于一“块”那么大的空间用来存储冗余信息,即奇偶位。奇偶位是编码信息,如果某个磁盘的数据有误,或者磁盘发生故障,就可以用它来恢复数据。在数据密集型环境或单一用户环境中,组建RAID 3对访问较长的连续记录有利,不过同RAID 2一样,访问较短记录时,性能会有所下降。

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

RAID 5:
RAID 5也被叫做带分布式奇偶位的条带。每个条带上都有相当于一个“块”那么大的地方被用来存放奇偶位。与RAID 3不同的是,RAID 5把奇偶位信息也分布在所有的磁盘上,而并非一个磁盘上,大大减轻了奇偶校验盘的负担。尽管有一些容量上的损失,RAID 5却能提供较为完美的整体性能,因而也是被广泛应用的一种磁盘阵列方案。它适合于输入/输出密集、高读/写比率的应用程序,如事务处理等。

为了具有RAID 5级的冗余度,我们需要至少三个磁盘组成的磁盘阵列。RAID 5可以通过磁盘阵列控制器硬件实现,也可以通过某些网络操作系统软件实现。
RAID 6:
RAID 6是带有两种分布存储的奇偶校验码的独立磁盘结构。它使用了分配在不同的磁盘上的第二种奇偶校验来实现增强型的RAID 5。它能承受多个驱动器同时出现故障,但是,用于计算奇偶校验值和验证数据正确性所花费的时间比较多,造成了系统的负载较重,大大降低整体磁盘性能,而且,系统需要一个极为复杂的控制器。当然,由于引入了第二种奇偶校验值,我们所以需要的是N+2个磁盘。

RAID 7:
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 10(RAID 0+1):
RAID 10,也被称为镜象阵列条带,现在我们一般称它为RAID 0+1。RAID 10(RAID 0+1)提供100%的数据冗余,支持更大的卷尺寸。组建RAID 10(RAID 0+1)需要4个磁盘,其中两个为条带数据分布,提供了RAID 0的读写性能,而另外两个则为前面两个硬盘的镜像,保证了数据的完整备份。

RAID 30:
RAID 30也被称为专用奇偶位阵列条带。它具有RAID 0和RAID 3的特性,由两组RAID 3的磁盘(每组3个磁盘)组成阵列,使用专用奇偶位,而这两种磁盘再组成一个RAID 0的阵列,实现跨磁盘抽取数据。RAID 30提供容错能力,并支持更大的卷尺寸。象RAID 10一样,RAID 30也提供高可靠性,因为即使有两个物理磁盘驱动器失效(每个阵列中一个),数据仍然可用。


RAID 30最小要求有6个驱动器,它最适合非交互的应用程序,如视频流、图形和图象处理等。这些应用程序顺序处理大型文件,而且要求高可用性和高速度。
RAID 50:
RAID 50被称为分布奇偶位阵列条带。同RAID 30相仿的,它具有RAID 5和RAID 0的共同特性。它由两组RAID 5磁盘组成(每组最少3个),每一组都使用了分布式奇偶位,而两组硬盘再组建成RAID 0,实验跨磁盘抽取数据。RAID 50提供可靠的数据存储和优秀的整体性能,并支持更大的卷尺寸。即使两个物理磁盘发生故障(每个阵列中一个),数据也可以顺利恢复过来。

RAID 50最少需要6个驱动器,它最适合需要高可靠性存储、高读取速度、高数据传输性能的应用。这些应用包括事务处理和有许多用户存取小文件的办公应用程序。
RAID 53:
RAID 53称为高效数据传送磁盘结构。结构的实施同Level 0数据条阵列,其中,每一段都是一个RAID 3阵列。它的冗余与容错能力同RAID 3。这对需要具有高数据传输率的RAID 3配置的系统有益,但是它价格昂贵、效率偏低。

RAID 1.5:
RAID 1.5是一个新生的磁盘阵列方式,它具有RAID 0+1的特性,而不同的是,它的实现只需要2个硬盘。从表面上来看,组建RAID 1.5后的磁盘,两个都具有相同的数据。当然,RAID 1.5也是一种不能完全利用磁盘空间的磁盘阵列模式,因此,两个80GB的硬盘在组建RAID 1.5后,和RAID 1是一样的,即只有80GB的实际使用空间,另外80GB是它的备份数据。如果把两个硬盘分开,分别把他们运行在原系统,也是畅通无阻的。但通过实际应用,我们发现如果两个硬盘在分开运行后,其数据的轻微改变都会引起再次重组后的磁盘阵列,没法实现完全的数据恢复,而是以数据较少的磁盘为准。

既然RAID 1.5和RAID 1具有非常相似的效果,那么它是怎么实验RAID 0的条带式读写操作的呢?到目前为止,我们还没有确实的材料证明下面的假想:就是磁盘阵列控制芯片具有高级的控制功能,可以让两个磁盘同时以条带的方式记录相同的数据,但需要读取的时候,控制器却可以分辨出需要读取的程序条带,然后分别从不同的硬盘中读取不同的条带,以达到提高性能的RAID 0效果。
总结:
RAID是一种具有悠久的历史磁盘阵列技术。它的诞生不光是为了保证我们的重要数据在冗余的磁盘阵列中得以安全长久的储存下去,还是突破瓶颈、提升性能的重要手段。至今,RAID技术已经应用于计算机所渗透到的各个领域中,而家用计算机市场,这个本来不为RAID研发人员所考虑的市场,也已经具有好几年的发展历程。
在过去,PATA硬盘在家用市场组建的RAID通常仅有RAID 0、RAID 1和RAID 0+1,不过今天我们不但亲眼目睹了RAID 1.5的诞生,还感受到RAID 1.5的独特魅力。和即将成为主流的SATA硬盘组建的RAID 0系统相比,PATA硬盘组建的RAID 1.5不显一点的乏力,相反,RAID 1.5就仿佛是PATA硬盘提高性能和确保数据安全的最有效方式。 
原创粉丝点击