为了提高服务器存储系统容量、传输数据的速度和保证数据的冗余性,在服务器上一般采用了RAID(RedundantArrayofInexpensiveDisks)技术,即“廉价冗余磁盘阵列”技术,那么究竟什么是RAID?该怎么来实现?下面就来介绍相关的知识。背景知识在开发磁盘阵列时,当初的设想除了使用多块硬盘用来实现更高速度的考虑之外,还有存储冗余能力及扩容方面的考虑。系统的存储冗余能力是指:假如任何一块硬盘出现问题的时候,能使系统仍然继续工作。而系统的扩容是指假如单块硬盘的容量达不到用户的需求时,可以采用多块硬盘捆绑来提供更高容量的存储系统。基于这些想法,就产生了RAID技术,实质上,可以把RAID理解成一种使用磁盘驱动器的方法,它将一组磁盘驱动器用某种逻辑方式联系起来,作为逻辑上的一个磁盘驱动器来使用,以实现用户的需求。根据组建磁盘阵列的用途及组建模式可以把磁盘阵列分为RAID0、RAID1、RAID2、RAID3、RAID4、RAID5,不同的磁盘阵列所能达到的性能与容量都是不相同的,用户可以根据自己的需求选择合适的阵列类型,但是在校园网络中用的最多的是RAID0、RAID1类型。RAID0与RAID11、RAID0RAID0也称无冗余无校验的磁盘阵列。RAID0的工作原理可以用图1来表示。数据同时分布在各个磁盘驱动器上,同时从各个驱动器中读写数据,因而读写速度在RAID中最快,但没有容错能力,且任何一个磁盘驱动器损坏都会使整个RAID系统失败,因而安全系数反而比单个的磁盘驱动器还要低。一般适合在对数据安全要求不高,但对速度要求很高的场合。2、RAID1尽管RAID0能提供更快的速度,但是整个系统是非常不可靠的,如果出现故障,无法进行任何补救。而RAID1能够在不影响性能的情况下最大限度地保证系统的可靠性和可修复性,提高系统的安全性和容错能力。RAID1的工作原理可以用图2表示。在RAID1下,任何一块硬盘的故障都不会影响到系统的正常运行,甚至可以在一半数量的硬盘出现问题时不间断地工作。当一块硬盘失效时,系统会忽略该硬盘,继续保持系统的正常运行。通过上述的介绍,我们可以简单概括为:RAID0是提速,RAID1是备份。通常情况下,为了既提高存储系统的速度性能,又可以提供数据安全性,往往采用RAID0+1。硬盘的选择一般情况下,服务器上都有RAID控制卡,不需要另外采购,接下来需要选购的就是硬盘。至于选择几块硬盘,这要看实际需要,如果想组建RAID0系统,至少需要两块硬盘,如果想组建RAID1系统,至少也需要两块硬盘,如果想组建RAID0+1系统,最好使用四块硬盘,其中两个做RAID0,另外两个做RAID0的备份。需要注意的是,选择硬盘的时候最好是完全一样的,否则会出现快速硬盘等待慢速硬盘、大容量硬盘迁就小容量硬盘的现象,因为当做RAID的两个硬盘的容量不同时,RAID硬盘的总容量仅是小容量硬盘的两倍,而此时RAID0的理论速度也只是慢硬盘速度的两倍。RAID的实现目前,RAID的实现大致有两种方法,一是利用Windows2000Server自带的软件实现软RAID,另一种方法是通过硬RAID卡来实现。1、软RAID的实现现在的服务器一般都采用Windows2000Server的操作系统,而Windows2000Server本身提供了内嵌的软件RAID功能,这时只需要有两块硬盘就可以实现RAID0和RAID1功能。(1)将数据进行必要的备份,并将两个硬盘分别接到南桥芯片控制的两个IDE接口。(2)选“开始→程序→管理工具→计算机管理”,打开“计算机管理”窗口。(3)选“存储→磁盘管理”,出现界面。(4)用鼠标右键单击位于窗口中的磁盘0和磁盘1,选择“转换到动态磁盘”。(5)在“转换为动态磁盘”的窗口中选择要转换的磁盘,出现如图4所示窗口。将两个磁盘转换为动态磁盘,重新启动机器。注意:如果要做RAID0必须至少有两个硬盘做成动态磁盘,另外,一旦将硬盘转换为动态磁盘就不能再转换为原来的状态了,除非删除原来的分区。(6)再次选“计算机管理→磁盘管理”,分区和分区上的数据依然存在,但是布局和类型已经由原来的“磁盘分区”和“基本”变成了“简单卷”和“动态”。选定一个卷,然后单击鼠标右键,选“删除卷”,删除原来的卷。(7)在动态磁盘中已经删除掉的卷的“未指定区域”单击鼠标右键,选“新建卷”,视自己的需要建立所需要的卷的类型,指定容量大小。(8)对新建立的卷设定种类(FAT、FAT32、NTFS)、大小、卷标,然后进行格式化,单击[完成]按钮即可。注意:由于Windows2000Server的软RAID都是基于系统的动态磁盘机制建立的,因此要实现软RAID必须建立一个或一个以上的动态磁盘。2、硬RAID的实现由于服务器的硬盘一般采用SCSI接口,而不同的服务器随机所安装的RAID卡不同,因此,设置方法也不尽相同(可参照产品说明书进行具体操作),但一般要经过以下几个过程:(1)正确安装硬盘。(2)启动计算机,出现RAID卡的引导界面,按屏幕的提示操作就可以进入RAID的控制界面,进行RAID卡的初始化。(3)根据界面的提示进行设置,一般情况下设置成“RAID0+1”的形式。这样,充分利用RAID技术,合理扩充服务器的硬盘,不仅能增大容量,还能提高速度和保证系统数据的安全。RAID系统究竟有什么好处呢?1.扩大了存贮能力可由多个硬盘组成容量巨大的存贮空间。2.降低了单位容量的成本市场上最大容量的硬盘每兆容量的价格要大大高于普及型硬盘,因此采用多个普及型硬盘组成的阵列其单位价格要低得多。3.提高了存贮速度单个硬盘速度的提高均受到各个时期的技术条件限制,要更进一步往往是很因难的,而使用RAID,则可以让多个硬盘同时分摊数据的读或写操作,因此整体速度有成倍地提高。4.可靠性RAID系统可以使用两组硬盘同步完成镜像存贮,这种安全措施对于网络服务器来说是最重要不过的了。5.容错性RAID控制器的一个关键功能就是容错处理。容错阵列中如有单块硬盘出错,不会影响到整体的继续使用,高级RAID控制器还具有拯救功能。6.对于IDERAID来说,目前还有一个功能就是支持ATA/66/100。RAID也分为SCSIRAID和IDERAID两类,当然IDERAID要廉价得多。如果主机主板不支持ATA/66/100硬盘,通过RAID卡,则能够使用上新硬盘的ATA/66/100功能。RAID至今已经发展出了不下十款不同功能的制式,包括RAID0、1、2、3、4、5、6、10、30及50等,它们都是为追求速度或稳定性的特别功能而开发的。逼近极限:复合RAID阵列如果您觉得以上阵列所提供的传输率还不够高,您可以组合各种RAID模式。这种结构称作复合RAID阵列(NestedRAID,或多重RAID阵列),不过您应该很少有机会接触它。这也是当然的,因为传统的RAID阵列已经够快了。就我们所知,IDE市场中并没有支持复合RAID阵列的产品(RAID10模式例外)。至于SCSI产品方面,如果您想组建一个规格超级豪华的复合RAID阵列,最好先准备几百到几千美元买张RAID卡吧。RAID0+1模式最常见的复合RAID阵列应该是0+1模式。这个模式需要最少4块硬盘,而且数目必须要是偶数。用其中半数硬盘配置成磁盘组(RAID0),再把另外半数硬盘用来镜像(RAID1)这些硬盘。这样一来,性能和使用单用一硬盘比起来,读取速度可以快上4倍,写入性能也会是原本的2倍。RAID50(5+0)模式觉得几颗硬盘组成的RAID5阵列速度还不够快吗?那不妨建立一个包含两个结构相同RAID5阵列的磁盘组吧。虽然这样一来数据安全性已经消失(在此阵列本身算是一块硬盘),但理论上性能还能再增加一倍。实际上您要考虑到的,将会是PCI总线与网络带宽的限制,而不是硬盘阵列的速度。在复合RAID阵列(或多重RAID阵列)中,命名是个重要的因素。虽然RAID0+1的磁盘组只用在下层,镜像只用在上层,但RAID10则刚好相反。不过因为RAID10并不实用,所以这里误用名称也显得没那么重要。复合RAID与安全性:不是1就是0虽然大多数人应该不会有机会接触到这么大型的磁盘阵列,不过我们还是再多提一下RAID的注意事项吧。虽然将多重RAID阵列组合起来,是有效且稳定的方式,但要保有完整的数据安全性,必须每个阵列本身都具有安全性的保证。像以RAID0阵列组成的RAID5阵列就不安全,因为RAID0当中只要有某一个硬盘出故障,那所有的数据仍旧无法救回。RAID模式一览:安全性与性能分析RAID模式硬盘数量数据安全性可用性实际容量传输性能组建成本01+略差极差100%极佳极低12良好良好50%尚可偏低33+尚可良好(x-1)/x尚可中等53+尚可良好(x-1)/x良好中等0+14、6、8…良好良好50%良好中等成功的关键:区块大小在RAID阵列中,区块大小(blocksize)基本上也会影响数据分割的大小(RAID1例外)。区块大小与浪费空间等因素,也会反映在RAID设置上:比方说区块大小是64KB,那每次至少就要用掉64KB,就算区块里只存了一个2KB的文字文件也一样用掉64KB的空间。所以平均文件越小,区块大小也应该设小一点。区块大小也是影响性能的重要因素,它决定数据分散到2块或更多硬盘时的最小单位。假设区块大小仍旧是64KB,比64KB小的文件就只会写到其中一块硬盘,这对RAID阵列来说,性能其实和只有一颗硬盘时完全一样。相对的一个150KB的文件就会分散到3块硬盘上(如果有3块以上的话),分成64+64+22KB来存。这样一来控制器就会同时从3块硬盘上读取数据,也能够大幅减少读取时间。