RAID的初衷主要是为大型服务器提供高端的存储功能和冗余的数据安全。 我们可以这样来理解,RAID是一种把多块独立的硬盘(物理硬盘)按不同方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据冗余的技术。组成磁盘阵列的不同方式成为RAID级别(RAID Levels)。在用户看起来,组成的磁盘组就像是一个硬盘,用户可以对它进行分区,格式化等等。总之,对磁盘阵列的操作与单个硬盘一模一样。不同的是,磁盘阵列的存储性能要比单个硬盘高很多,而且在很多RAID模式中都有较为完备的相互校检/恢复的措施,甚至是直接相互的镜象备份,从而大大提高了RAID系统的容错度,提高了系统的稳定冗余性,这也是Redundant一词的由来。
不过,所有的RAID系统最大的优点则是“热交换”能力:用户可以取出一个存在缺陷的驱动器,并插入一个新的予以更换。对大多数类型的RAID来说,可以利用镜像或奇偶信息来从剩余的驱动器重建数据不必中断服务器或系统,就可以自动重建某个出现故障的磁盘上的数据。这一点,对服务器用户以及其他高要求的用户是至关重要的。
数据冗余的功能指的是:在用户数据一旦发生损坏后,利用冗余信息可以使损坏数据得以恢复,从而保障了用户数据的安全性。
由于RAID技术是一种工业标准,想做一个实用的RAID磁盘阵列,必须了解对各主要RAID级别做一个大致的了解。
RAID的各个级别
RAID 0
RAID 0又称为Stripe或Striping,中译为集带工作方式。它代表了所有RAID级别中最高的存储性能。RAID 0提高存储性能的原理是把连续的数据分散到多个磁盘上存取。系统传输来的数据,经过RAID控制器通常是平均分配到几个磁盘中,而这一切对于系统来说是完全不用干预的,每个磁盘执行属于它自己的那部分数据请求。这样,系统有数据请求就可以被多个磁盘并行的执行。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。我们可以这样简单的认为:N个硬盘是一个容量为N个硬盘容量之和的“大”硬盘。RAID0的主要工作目的是获得更大的“单个”磁盘容量。另一方面就是多个硬盘同时读取,从而获得更高的存取速度。例如一个由两个硬盘组成的Raid系统中,系统向两个磁盘组成的逻辑硬盘(RADI 0 磁盘组)发出的I/O数据请求被转化为2项操作,其中的每一项操作都对应于一块物理硬盘。
通过建立RAID 0,原先顺序的数据请求被分散到所有的两块硬盘中同时执行。从理论上讲,两块硬盘的并行操作使同一时间内磁盘读写速度提升了2倍。虽然由于总线带宽等多种因素的影响,实际的提升速率肯定会低于理论值。但是,大量数据并行传输与串行传输比较,提速效果还是非常明显的。
RAID 0最大的缺点是不提供数据冗余,其安全性大大降低,构成阵列的任何一块硬盘的损坏都将带来灾难性的数据损失。对于对数据要求不是太苛刻的经营场所来说,RAID 0基本可以满足要求。
RAID 1
RAID 1又称为Mirror或Mirroring,中译为镜像方式。这种工作方式的出现完全是为了数据安全考虑的,因为在整个镜像的过程中,只有一半的磁盘容量是有效的,因为另一半用来存放同这一半完全一样的数据,也就是数据的冗余了。同RAID0相比,它是另一个极端。RAID0首要考虑的是磁盘的速度和容量,忽略安全;而RAID1首要考虑的是数据的安全性,容量可以减半、速度可以不变。它的宗旨是最大限度的保证用户数据的可用性和可修复性。。
RAID 1的操作方式是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上。当读取数据时,系统先从RAID 0的源盘读取数据,如果读取数据成功,则系统不去管备份盘上的数据;如果读取源盘数据失败,则系统自动转而读取备份盘上的数据,不会造成用户工作任务的中断。当然,我们应当及时地更换损坏的硬盘并利用备份数据重新建立Mirror,避免备份盘在发生损坏时,造成不可挽回的数据损失。 由于对存储的数据进行百分之百的备份,在所有RAID级别中,RAID 1提供最高的数据安全保障。同样,由于数据的百分之百备份,备份数据占了总存储空间的一半,因而,Mirror的磁盘空间利用率低,存储成本比较高。
Mirror虽不能提高存储性能,但由于其具有的高数据安全性,使其尤其适用于存放重要数据,如服务器和数据库存储等领域。成本较高,速度提升不明显。
RAID 0+1
正如其名字一样RAID 0+1是RAID 0和RAID 1的组合形式,也称为RAID 10。它的出现就是为了达到既高速又安全目的, RAID10也可以简单的理解成两个分别由多个磁盘组成的 RAID0阵列再进行镜像;其实反过来理解也没有错。
以四个磁盘组成的RAID 0+1为例,RAID 0+1是存储性能和数据安全兼顾的方案。它在提供与RAID 1一样的数据安全保障的同时,也提供了与RAID 0近似的存储性能。
由于RAID 0+1也通过数据的100%备份提供数据安全保障,因此RAID 0+1的磁盘空间利用率与RAID 1相同,存储成本高。
构建RAID 0+1阵列的成本投入大,数据空间利用率低。不是种经济高效的磁盘阵列解决方案。但特别适用于既有大量数据需要存取,同时又对数据安全性要求严格的领域,如银行、金融、商业超市、政府各种档案管理等。对于数据安全要求严格的场所,可以选择RAID0+1。
要构建RAID,必须购买专用的RAID磁盘阵列卡,使用IDE接口硬盘话则在购买RAID卡时必须购买支持IDE接口的RAID卡。目前,一些主板也自带RAID卡,但支持的硬盘数量有限。可以根据自己的实际需要,选择适合的RAID组建方式。
下面,我们以集成了RAID功能的主板为例,讲一下如何组建RAID磁盘阵列。一般来说,主板上集成的RAID功能,只支持SATA硬盘阵列,不支持IDE硬盘阵列,在采购硬盘时,要首先看一下主板说明书。由于组建RAID磁盘阵列至少需要两块或两块倍数的硬盘,因此在购买硬盘时一定要注意:最好购买同容量、同品牌的同型号硬盘,这样可以最大程度地保护投资,避免资源浪费。
第一步:打开BIOS中的RAID功能。安装好SATA硬盘之后,就要进入BIOS中打开南桥芯片的RAID功能。具体方法是:进入BIOS设置程序的“OnChip IDE Device”窗口,找到一个名为“SATA Mode”的选项,将它设置为“RAID”,然后保存BIOS设置并重新启动电脑。(注:该实例是以英特尔的ICH5R芯片说明的)
第二步:组建RAID阵列。在BIOS中启动了RAID功能后,ICH5R南桥芯片内置的“Intel RAID Option ROM”便开始启动,该软件是Intel RAID应用程序,提供BIOS和DOS服务。在系统启动POST(加电自检)时,屏幕上会有一些提示信息,按“Ctrl+I”键便可进入Intel RAID Configuration Utility窗口.在该窗口中,窗口上半部分是主菜单,下半部分显示的是已经安装好的两个硬盘的信息,例如硬盘型号、容量、是否已经组建RAID系统等。
将光标移动到主菜单的“1.Create RAID Volume”上,然后按回车键,此时便进入创建RAID系统的主界面,首先将光标移动到“Name”选项上,在此输入一个RAID卷的名称,一般用默认的名称即可;按“TAB”键,将光标停留在“RAID Level”选项上,在此按向上或向下的箭头按键,可以选择RAID的类型──RAID 0或者RAID 1;根据自己的实际需要选择RAID类型(如果要提高磁盘性能,则选择RAID 0;如果要更好的安全性,则选择RAID 1)后,按“TAB”键将光标移动到“Strip Size”选项上,选择串列值,一般选择“128KB”。完成上述设置后,按“TAB”键,使光标停留在“Create Volume”上.按下回车键,此时会出现一条提示信息,询问是否确认创建RAID系统。
注意:如果是创建RAID 0这种类型的RAID系统,必须在创建前备份硬盘上的数据,否则一旦创建RAID 0系统,则硬盘上的所有数据及分区都会被删除。
按“Y”键确认创建RAID,此时会回到主界面,在窗口的下方会发现硬盘的信息已经发生改变,显示已经创建了一个RAID卷。
按“Esc”键,此时会出现确认是否退出的提示信息,按“Y”键退出RAID配置程序,此时系统重新启动。
第三步:分区并安装操作系统。
如果创建的RAID系统是RAID 1,那么系统会自动将主盘上的数据备份到从盘上,此时如果主盘上已经安装了操作系统,则可以直接进入Windows,只要在进入Windows后安装Intel的ICH5R RAID驱动程序即可。
如果创建的是RAID 0,那么两块硬盘上的数据会全部被删除,此时要在DOS下对硬盘重新进行分区。分区的方法与常规的硬盘分区没有什么区别。分区完成后,在安装操作系统时,如果是安装Windows 2000/XP等NT核心的系统,则必须在出现“Press F6if you need to install a third party SCSI or RAID driver……”这样一段提示语的时候按“F6”键,然后插入ICH5R的RAID驱动程序软盘,按“S”键装载该驱动。具体的操作方法与其他SATA控制芯片在安装Windows2000/XP时加载SATA控制器驱动时一样。
硬件RAID卡的RAID组建过程与此类似,在此不再一一叙述,技术人员可以参照上述过程处理。
其实,RAID的组建是非常简单的,只要搞清楚RAID的工作原理,一切就非常容易。也要根据自己的实际应用需要,组建高效的RAID,千万不要为了追赶时髦,搞不必要的投资。
|