如何组建RAID磁盘阵列系统
即然提到了RAID磁盘阵列,那么我们就先来了解一下什么是RAID?所谓的RAID,是Redundant Arrays of Independent Disks的简称,中文为廉价冗余磁盘阵列。由1987年由加州大学伯克利分校提出的,初衷是为了将较廉价的多个小磁盘进行组合来替代价格昂贵的大容量磁盘,希望单个磁盘损坏后不会影响到其它磁盘的继续使用,使数据更加的安全。RAID作为一种廉价的磁盘冗余阵列,能够提供一个独立的大型存储设备解决方案。在提高硬盘容量的同时,还能够充分提高硬盘的速度,使数据更加安全,更加易于磁盘的管理。
RAID的几种常见工作模式
- 01
RAID 0 RAID 0是最早出现的RAID模式,即Data Stripping数据分条技术。RAID 0是组建磁盘阵列中最简单的一种形式,只需要2块以上的硬盘即可,成本低,可以提高整个磁盘的性能和吞吐量。RAID 0没有提供冗余或错误修复能力,是实现成本是最低的。 RAID 0最简单的实现方式就是把N块同样的硬盘用硬件的形式通过智能磁盘控制器或用 操作系统中的磁盘驱动程序以软件的方式串联在一起创建一个大的卷集。在使用中电脑数据依次写入到各块硬盘中,它的最大优点就是可以整倍的提高硬盘的容量。如使用了三块80GB的硬盘组建成RAID 0模式,那么磁盘容量就会是240GB。其速度方面,各单独一块硬盘的速度完全相同。最大的缺点在于任何一块硬盘出现故障,整个系统将会受到破坏,可靠性仅为单独一块硬盘的1/N。 为了解决这一问题,便出一了RAID 0的另一种模式。即在N块硬盘上选择合理的带区来创建带区集。其原理就是将原先顺序写入的数据被分散到所有的四块硬盘中同时进行读写。四块硬盘的并行操作使同一时间内磁盘读写的速度提升了4倍。 在创建带区集时,合理的选择带区的大小非常重要。如果带区过大,可能一块磁盘上的带区空间就可以满足大部分的I/O操作,使数据的读写仍然只局限在少数的一、两块硬盘上,不能充分的发挥出并行操作的优势。另一方面,如果带区过小,任何I/O指令都可能引发大量的读写操作,占用过多的控制器总线带宽。因此,在创建带区集时,我们应当根据实际应用的需要,慎重的选择带区的大小。 带区集虽然可以把数据均匀的分配到所有的磁盘上进行读写。但如果我们把所有的硬盘都连接到一个控制器上的话,可能会带来潜在的危害。这是因为当我们频繁进行读写操作时,很容易使控制器或总线的负荷 超载。为了避免出现上述问题,建议用户可以使用多个磁盘控制器。最好解决方法还是为每一块硬盘都配备一个专门的磁盘控制器。 虽然RAID 0可以提供更多的空间和更好的性能,但是整个系统是非常不可靠的,如果出现故障,无法进行任何补救。所以,RAID 0一般只是在那些对数据安全性要求不高的情况下才被人们使用。
- 02
RAID 1 RAID 1称为磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行,当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据,具备很好的磁盘冗余能力。虽然这样对数据来讲绝对安全,但是成本也会明显增加,磁盘利用率为50%,以四块80GB容量的硬盘来讲,可利用的磁盘空间仅为160GB。另外,出现硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘,否则剩余的镜像盘也出现问题,那么整个系统就会崩溃。更换新盘后原有数据会需要很长时间同步镜像,外界对数据的访问不会受到影响,只是这时整个系统的性能有所下降。因此,RAID 1多用在保存关键性的重要数据的场合。 RAID 1主要是通过二次读写实现磁盘镜像,所以磁盘控制器的负载也相当大,尤其是在需要频繁写入数据的环境中。为了避免出现性能瓶颈,使用多个磁盘控制器就显得很有必要。
- 03
RAID0+1 从RAID 0+1名称上我们便可以看出是RAID0与RAID1的结合体。在我们单独使用RAID 1也会出现类似单独使用RAID 0那样的问题,即在同一时间内只能向一块磁盘写入数据,不能充分利用所有的资源。为了解决这一问题,我们可以在磁盘镜像中建立带区集。因为这种配置方式综合了带区集和镜像的优势,所以被称为RAID 0+1。把RAID0和RAID1技术结合起来,数据除分布在多个盘上外,每个盘都有其物理镜像盘,提供全冗余能力,允许一个以下磁盘故障,而不影响数据可用性,并具有快速读/写能力。RAID0+1要在磁盘镜像中建立带区集至少4个硬盘。 由于我们此次只是介绍家用台式机如何组建RAID磁盘阵列功能,目前主流的主板也只是提供这三种组建模式,因此其它诸如服务等的高级RAID模式,这里我们将不再过多的介绍。
主板芯片组RAID控制芯片介绍
- 01
Intel南桥芯片ICH5R、ICH6R集成有SATA-RAID控制器,但仅支持SATA-RAID,不支持PATA-RAID。Intel采用的是桥接技术,就是把SATA-RAID控制器桥接到IDE控制器,因此可以通过BIOS检测SATA硬盘,并且通过BIOS设置SATA-RAID。当连接SATA硬盘而又不做RAID时,是把SATA硬盘当作PATA硬盘处理的,安装OS时也不需要驱动软盘,在OS的设备管理器内也看不到SATA-RAID控制器,看到的是IDE ATAPI控制器,而且多了两个IDE通道(由两个SATA通道桥接的)。只有连接两个SATA硬盘,且作SATA-RAID时才使用SATA-RAID控制器,安装OS时需要需要驱动软盘,在OS的设备管理器内可以看到SATA-RAID控制器。安装ICH5R、ICH6R的RAID IAA驱动后,可以通过IAA程序查看RAID盘的性能参数。
- 02
VIA南桥芯片VT8237、VT8237R的SATA-RAID设计与Intel不同,它是把一个SATA-RAID控制器集成到8237南桥内,与南桥里的IDE控制器没有关系。当然这个SATA-RAID控制器也不见得是原生的SATA模式,因为传输速度也没有达到理想的SATA性能指标。BIOS不负责检测SATA硬盘,所以在BIOS里看不到SATA硬盘。SATA硬盘的检测和RAID设置需要通过SATA-RAID控制器自己BootROM(也可以叫SATA-RAID控制器的BIOS)。所以BIOS自检后会启动一个BootROM检测SATA硬盘,检测到SATA硬盘后就显示出硬盘信息,此时按快捷键Tab就可以进入BootROM设置SATA-RAID。在VIA的VT8237南桥的主板上使用SATA硬盘,无论是否做RAID安装OS时都需要驱动软盘,在OS的设备管理器内可以看到SATA-RAID控制器。VIA的芯片也只是集成了SATA-RAID控制器。
- 03
NVIDIA的nForce2/ nForce3/ nForce4芯片组的SATA/IDE/RAID处理方式是集Intel和VIA的优点于一身。第一是把SATA/IDE/RAID控制器桥接在一起,在不做RAID时,安装XP/2000也不需要任何驱动。第二是在BIOS里的SATA硬盘不像Intel那样需要特别设置,接上SATA硬盘BIOS就可以检测到。第三是不仅SATA硬盘可以组成RAID,PATA硬盘也可以组成RAID,PATA硬盘与SATA硬盘也可以组成RAID。这给需要RAID的用户带来极大的方便,Intel的ICH5R、ICH6R,VIA的VT8237都不支持PATA的IDE RAID。