PC机整体技术的提高,一方面得益于CPU中央核心处理器的运算和专用的显示/通讯核心芯片的能力的提高,另一面,I/O处理部分的速度也至关重要的影响了整机响应能力的好坏。从硬盘本身的发展来看,SCSI硬盘的转速目前已提升至15000转/分,IDE硬盘的7200转技术也非常成熟,传输速率从早期的Ultra DMA 2的
33MB/s发展到目前的Ultra DMA 5的100MB/s。但这些技术的提升的每一步,其间都充满了异乎寻常的艰难险阻,硬盘的稳定性、噪声、散热、功耗、缓存、机电马达的运转、磁头的存取诸多技术都已经到了目前理论认为比较完美的地步,再进一步的难度可想而知。这样,廉价的多磁盘冗余阵列技术的出现,就可以利用数学的方法思想来逼近人类科技的极限,采取多磁盘并发存取技术来实现硬盘性能的成倍提升并且实现数据冗余保护。在SCSI硬盘领域,R.A.I.D(Redundent Array of Inexpansive Disk)已经被广泛应用,而受Raid的主要关键词:"Inexpansive"(廉价)的影响,目前价格十分低廉的IDE硬盘领域,也势不可免的受到了Raid技术的冲击,用硬件实现的Raid技术产品也开始接受IDE硬盘。一些用户已经开始考虑用多个便宜的IDE硬盘组成一个R.A.I.D磁盘系统来代替巨大、高速、昂贵的新产品了。
首先说明一下,R.a.i.d技术发展是一个比较复杂的并且多规范并存的局面。从规范上说RAID从Raid 0开始,0、1、2、3、4、5、6、7……都已经从算法上实现。但目前主要运用较为多的还是Raid 1和Raid 5,其中Raid 5利用3个或3个以上的磁盘,可以既实现磁盘的并发存取的目的,同时也利用奇偶校验的算法实现了数据冗余保护,可以在单个硬盘损坏的情况下用另一个新硬盘做到数据的完全热恢复直至完好,是目前最为流行、应用最广泛的RAID的技术。而目前IDE Raid卡虽然给IDE硬盘实现了Raid,但眼下还局限于RAID0和RAID1技术,所以有种说法称目前IDE的RAID技术还未登大雅之堂,从技术上说,确实如此。因为RAID 0虽然可以利用多硬盘并发提升速度,但没有任何数据冗余措施,因此多磁盘带来速度加倍的同时也造成了硬盘不安全性的成倍增长,而且这种不安全带来的后果还是无可挽救的;而Raid 1虽然对数据做到了每一位的备份,但2个磁盘叠加后总容量还是等于单一磁盘,性价比损失很大。但是,从用户来说,也有一些特殊的用户会需要这种绝对的安全性。因此,IDE的RAID的测试,就可以从利用硬件实现的RAID 0、RAID 1和利用软件实现的RAID 5(如Windows NT/2000),加上单个磁盘本身的数据,总共有7组环境的数据测试,从中相信大家可以看出IDE的RAID目前的发展如何,存在什么问题,有什么可以替代等等多个问题。
Seagate的BarracudaII ATA硬盘是目前用户所可以拥有的最好的速度最快的IDE硬盘,我们选择了3个同样的(硬件Raid的实现必须采用同容量的硬盘)20GB,Firmware为3.21的酷鱼II来进行此次RAID测试,此间所用到的IDE Raid是Abit的采用HighPoint 370的ATA100接口的Raid卡,CPU是CeleronII 800(8*100),内存256M,主板芯片组为Intel BX。
Raid的实现是通过一组数据分配算法,用Raid卡上的芯片进行算法分配计算,同时实现硬盘读写控制,但是由于IDE通道的原因,每一段数据读写的开始与结束还必须交由CPU来控制,因此Raid的多磁盘化应用于IDE领域,会较为明显的加重CPU的负担,而在采取软件Raid实现时,CPU还要负担起Raid数据分配算法的重任,这随着Raid层次的不同,算法复杂性的差异也会很大,CPU的负担需求也不尽相同,所以,IDE Raid虽然得到了高性能或者是安全性,但CPU的付出肯定是不可避免的。
Win98 SE是目前普通用户(主要是IDE硬盘的用户)的首选操作系统。用于参考的还有一块采用Highpoint 368的UDMA66接口的Raid卡,看一看测试:
| Winbench99 1.1 | 单个硬盘 | Raid 0 | Raid 1 | Raid 0(UDMA66 Raid) |
| Transfer Rate Begin | 29600 | 58900 | 23200 | 58800 |
| Transfer Rate End | 19900 | 39500 | 22100 | 34900 |
| Cpu Utilization | 3.01 | 2.14 | 3.04 | 3.65 |
| Hi-end DiskMark | 16700 | 18800 | 16300 | 18500 |
在传输率上,采用Raid 0的硬盘很轻易的就逼近了60MB/s的数值,根据测试曲线,实际测试中约50%以上的测试传输是稳定在60MB/s曲线附近的,到后期才有所跌落,这个突发传输的表现很显然大大提高了硬盘的瞬时响应的能力,同时在Hi-end分值上也有所提高。Raid 1则完全是数据安全的算法,没有太大的变化,测试数据较单个硬盘还有损失,这就是CPU负担成倍后的后果,从测试环境来看,Winbench99是一个稳定的并且注重CPU和磁盘性能的测试平台,所以CPU的变化也会反映在磁盘得分上,Raid 1拿不到好分数也是正常的。另外,参考Raid 66平台,虽然目前突发瞬时数据也已经达到60MB/s,距离66MB/s还有一丝微小的距离,但从测试来看,我们觉得采用Highpoint368芯片的Raid组的计算能力有所欠缺,传输曲线比较差,数据落差很大,属于不够稳定的Raid平台,相比其他的各种实现方法都要逊色一些,主要缺点在于不稳定,而且从发展来看目前66/100两种卡之间并非是高低互补,而是后来者代替先前陈旧品的市场格局,所以从选购角度来看,目前ATA100/Raid卡还是最好的。
但根据一般理解,可能Win NT环境下的RAID运用可能性更高,所以看看目前IDE Raid在Windows 2000中的表现可能更为有价值。同时,Win 2000所具有的软件Raid实现能力也为我们的软硬Raid对比创造了条件,测试种类是Raid 0软硬对比与很令人兴奋的Raid 5参考方案,而在所有Windows 2000的Raid方案中,磁盘都采用NTFS格式化,Win2K采用Advanced Server简体中文版。看看测试结果:
| Winbench99 1.1 | 硬件Raid 0 | 软件Raid 0 | 软件Raid 5 |
| Transfer Rate Begin | 59100 | 59300 | 56300 |
| Transfer Rate End | 39200 | 39700 | 39600 |
| Cpu Utilization | 1.01 | 2.14 | 13.9 |
| Hi-end DiskMark | 23400 | 22800 | 21400 |
Raid 0测试在Win2000下的表现都显得很好,这固然存在Seagate酷鱼II硬盘的整体性能较为优秀,但Windows2000稳定的CPU及IO控制也很重要,所有传输曲线到了Win2000下就较win98时平滑了许多,并且Hi-End的得分上升幅度也很高,感觉在大内存的配合下磁盘部分的表现完美之极。同时,大家应该注意到,在软件Raid解决方案中,除了CPU占用率增加了1.1%,性能几乎同样出色,而且传输曲线更光滑,这令我们感觉到如果作为一个Win2000的使用者,在采取Raid时不妨考虑软件实现。当然,由于接口的原因你可以考虑添加一块ATA/100的IDE扩展卡,但似乎不必选购带Raid功能的产品。毕竟目前这2款产品:带Raid与不带Raid的ATA/100接口卡的差价要差一半,用软件实现更灵活。而且不会因硬件问题如板卡的兼容性或不稳定而影响数据安全。
 |
| 单个硬盘 for win98 |
 |
| raid 0 for win98 |
 |
| raid 1 for win98 |
 |
| raid 0(UDMA66) |
 |
| raid 0 for win2000 |