影响计算机性能的瓶颈在哪里?硬盘应该是如今最大的瓶颈之一,作为存放数据的大仓库7200rpm硬盘的内部传输率也就每秒几十兆而已,和快速增长的容量相比内部传输率的发展缓慢严重影响了整机性能。而且硬盘的脆弱也是人所共知,于是RAID诞生了。
一、RAID的由来
1987年,美国加州大学伯克利分校的三位工程师共同发表了名为《A Case of Redundant Array of Inexpensive Disks》的论文,翻译过来就是《廉价磁盘冗余阵列方案》,其理论是将多块硬盘驱动器相组合使其性能超过一个大硬盘,这就是廉价磁盘阵列RAID的理论基础。
随着这一理论的发表RAID得到了业界广泛的认同,1993年,HighPoint公司推出了第一款IDE RAID控制芯片,打破了只有SCSI硬盘才能组建RAID的局面,随着硬盘技术的快速发展,现在80GB的IDE硬盘已经降到了500多元, 普通用户拥有两块以上的硬盘一点也不稀奇了。
虽然现在已经进入了SATA(串行)接口时代,但硬盘的内部传输率提高却并不明显,这使计算机整体性能受到了影响,加上对数据安全性的需求,普通用户也希望能有一项技术来解决这些问题,RAID就成为了一种改善硬盘性能和安全性的廉价方案。
二、RAID的技术规范
RAID技术有RAID 0到RAID 7等多个技术规范,作为普通用户主要是使用RAID 0、RAID 1和RAID 0+1这三项,我们将主要介绍这几种RAID方式;而RAID 3和RAID 5目前只有SCSI阵列才支持,主要用于服务器等高端领域,所以就不多作介绍了。
RAID 0(条带模式)从严格的意义上说并不算真正的RAID结构,它是将多个物理硬盘连续以位或字节为单位来分割数据,以并行方式读写多个硬盘,从而组建成一个逻辑硬盘。比如我们以两块硬盘组成的RAID 0为例,当在硬盘上写入数据时,它会将数据分割成两部分,分别同时写入两块硬盘上。反之,当读硬盘时也是同样的道理分别从两块硬盘上读数据。这样就提高了硬盘性能,就性能而言RAID 0比RAID 1更高一些。但RAID 0只是单纯地提高性能,并未提供数据保全,如果其中一个硬盘出现故障将会影响到所有的数据。所以对数据安全性要求比较高的用户不适用RAID 0。
RAID 1(镜像模式)具有容错功能,它通过在成对的硬盘上相互备份数据以达到数据保全。这种模式是让一个硬盘作为另一个硬盘的热待命设备,为系统或硬盘出现故障时提供保护。当原始数据繁忙时它还可以直接从备份的镜像中读取数据,所以硬盘性能有稍稍的提高,RAID 1提供了较高的数据安全性,当一个硬盘出现故障时,可以自动切换到备份镜像硬盘上读写,从而达到保全数据的目的,它的不足是硬盘利用率会降低。
RAID 0+1是RAID 0和RAID 1的组合,将四个硬盘以两个硬盘为一组,每一组内组成RAID 0,然后两组之间再组成RAID 1模式,以实现高性能和高安全性的统一。在性能上它相当于两块硬盘并行运行,而且只有在两组中分别有一块硬盘同时损坏系统才会瘫痪,所以它的安全性也是相当高的。虽然它同时拥有速度和数据的可靠性,但镜像占用了一定的硬盘空间,所以硬盘使用率低,CPU占用率也比较高而且同时需要4块或更多的硬盘来组建。
三、不同接口硬盘RAID的区别
最早RAID是应用在SCSI接口的硬盘上,它所支持的RAID模式也是最丰富的,像RAID 0、RAID 1、RAID 0+1这类简单的模式在SCSI阵列上已不再使用,目前的主流是用RAID 3和RAID 5。和IDE RAID以及SATA RAID相比,由于SCSI总线有自己的独立控制系统不需要CPU进行干预所以它的CPU占用率很低,这对于高数据访问的服务器来说是很重要的。随后RAID被应用到了IDE总线中,这也使RAID走进了家用PC并得到了广泛的应用。随着串行时代的到来,SATA 接口硬盘以及SATA RAID也普及了,其实IDE RAID和SATA RAID并没有什么区别,都只支持RAID 0、RAID 1和RAID 0+1这几种简单的RAID模式,由于传输总线的原因这两种RAID都需要CPU进行大量的运算,所以CPU占用率较高,这也是它们不适用于RAID 3、RAID 5这种复杂模式的原因。SATA RAID在RAID 0模式下比IDE RAID性能要高,这得益于SATA总线在串行传输中数据干扰小传输错误率比并行的IDE总线低,但在RAID 1和0+1模式上两者没有多大的差异。
四、带RAID的南桥芯片
如今很多芯片组都集成了RAID功能,这使得RAID的门槛进一步降低,下面介绍一下现在主流的带RAID功能的南桥芯片。
1.Intel ICH5R
Intel ICH5R代号为82801ER。ICH5R和ICH5的性能参数基本相同,支持USB2.0、支持SATA硬盘与ATA100。与ICH5不同的地方是,ICH5R额外提供了RAID功能,允许用户把两块SATA硬盘组成RAID 0磁盘阵列;ICH5R也支持RAID 1磁盘阵列,不过这需要软件升级。另外,早期的ICH4-M(代号82801DR)则支持IDE RAID,不过这在市场上已经很少见了。
2.VIA 8237
VIA的8237是现在VIA芯片组系列主板上最常见的南桥芯片。VIA 8237除了支持USB 2.0规范,同时还支持SATA和ATA133。另外,与ICH5R相比,VIA 8237南桥不但支持RAID 0,还支持RAID 1和RAID 0+1模式的磁盘阵列,功能非常强大。
3.nVIDIA MCP-S
由于nVIDIA的nForce2芯片组主板没有集成SATA接口以及RAID功能,所以在最近nVIDIA也推出了一款新的南桥芯片——MCP-S。MCP-S与早前的MCP-T相比,去掉了内部集成的APU音效处理核心。不过它支持8个USB 2.0接口、ATA100、SATA,同时它还能组成SATA和ATA两种磁盘阵列,是目前市场唯一可使用PATA RAID、SATA RAID及PATA/SATA混合RAID功能的南桥芯片,MCP-S可以任意组成RAID 0、RAID 1、RAID0+1三种模式。
4.SiS 964/965
SiS 964用于SiS主流芯片组,而SiS 965用于SiS高端芯片组。SiS 964/965拥有SiS独有的MuTIOL? 技术,南北桥数据传输速度达到了1GB/s,SiS 964支持2个SATA接口,8个USB2.0接口,集成100Mb网络以及6声道音效功能,同时还支持SATA RAID 0和RAID 1两种磁盘阵列;SiS 965和SiS 964相比起来,支持的SATA接口多达4个,集成了1000Mb网络和8声道音效功能,同时还支持PCI Express,另外SiS 965还支持RAID 0、RAID 1、RAID 0+1及JBOD(硬盘容量叠加)等磁盘阵列模式。
随着主板芯片组厂商纷纷将RAID集成在芯片组中,对HighPoint等生产RAID控制芯片的公司构成了巨大的威胁,目前市场上的第三方RAID控制芯片制造商主要有HighPoint、Promise和Silicon Image等公司的产品。而独立的RAID控制芯片(集成在主板上或RAID控制卡)要通过PCI总线连接到南桥,由于受到PCI总线的传输速率以及要和其它PCI设备共享带宽的限制,所以在速度上会受到影响。而集成在南桥中的RAID控制芯片则不受影响,可以直接连接到南北桥之间的高速总线上。看来传统的RAID控制芯片厂商需要改良自己的产品制造出支持如RAID 3、RAID 5等更高级的阵列形式以面对现在的市场竞争。
五、家用PC组建RAID的建议
目前在个人电脑上应用最广泛的是RAID 0和RAID 1,如果想提高硬盘性能而且对数据安全没有太多的要求,可以使用RAID 0,如果对数据安全看得很重可以组建RAID 1。这两种模式对硬盘的要求也不一样,RAID 1要求两块或更多硬盘容量一致、性能相近,硬盘数要成双。而RAID 0一般没有这种要求只要有两块硬盘就可以组建,但是如果是容量不同的硬盘组建后的总容量将是以容量小的硬盘乘以硬盘数,大硬盘的一部分空间将被浪费。
不管是RAID 0和RAID 1在组建时最好是使用完全一样的硬盘,这样才能达到最佳的效果。作为廉价的阵列模式因为不具有运算功能对CPU的依赖较高,对于主频在1GHz以下的系统建议不要构建RAID。RAID 0+1需要4块硬盘和四个IDE或SATA通道,所以目前组建RAID 0+1需要高昂的成本对于家用电脑来说是不现实1GB/s的也没有必要。
写在最后
随着RAID被整合于南桥,再加上硬盘价格的不断下降,现在已经有不少用户领先体验到了RAID带来的高速和安全。我们有理由相信高速、安全的RAID 必将是未来每个用户都会使用的模式。这样,存储系统中的瓶颈将得到减轻,而计算机的整体性能也将会随RAID的普及更上一层楼。
【重要声明】:刊载此文仅为提供更多信息的目的,并不代表本站同意文章的说法或描述,也不构成任何建议。