很难低估NAND闪存和固态硬盘(SSD)带来的影响。在过去的十年,这些存储解决方案已经彻底改变了整个市场。但是早在我们拥有大容量固态存储之前,就有一种提升系统性能和响应时间的不同方法:RAID。这种值得尊敬的存储系统半个月前迎来了30岁生日,如今它依然广泛用于企业和服务器解决方案。
发明RAID的三个人是大卫?帕特森(David Patterson)、加思?吉布森(Garth Gibson)和兰迪?卡茨(Randy Katz),他们在1987年***定义了这个概念,后来又在1988年发表了一篇正式的论文:
像镜像这些具体的概念在之前十年就已得到了定义,但是RAID并不仅仅支持镜像解决方案。它还提供了一个蓝图:通过条带化技术(striping,即将数据分成很多小部分,同时分别存储到多个驱动器上),显著提高磁盘性能。
帕特森、吉布森和卡茨定义了众多RAID级别来适合不同的任务和策略。如今,RAID 2和RAID 3很少使用,而主板通常为RAID 0、RAID 1和RAID 10提供软件RAID支持。一些主板和控制器还支持RAID 5。RAID 0只是对数据进行条带化――你获得的优势是一次性将数据写入两个磁盘(提升性能),但是加大了丢失数据这种灾难的机会。如果每个驱动器出故障的几率是1%(仅仅举个例子),那么丢失一个驱动器和所有数据的几率是4%,因为任何故障都会毁了这个阵列。RAID 1采用了镜像――驱动器0上的所有数据同时写入到驱动器1。这保护了数据,但根本无法提升性能。RAID 10(1 + 0)结合了这两种方法,如下所示:
Raid10示意图
RAID让小磁盘有机会匹敌或超过同一时代的标准大型机磁盘。IBM的3380在1987年提供了高达7.5GB的存储容量,但六位数的标价可能让人望而生畏。RAID背后的整个想法是,开发出一种性能和可靠性与IBM相当,但成本低得多的系统存储阵列。
为什么RAID很重要?
但是RAID不仅仅为企业界带来了提升性能的好处,它还为消费者带来了实实在在的好处。来自StorageReview.com的下图显示,用西部数据公司的VelociRaptor 600系列硬盘组成的RAID 0阵列甚至比同一个时期的SSD更胜一筹。
StorageReview
RAID阵列并不总是可以提升性能,而且存在一定的缺点。AMD用户常常被威盛(VIA)的686b南桥芯片中的一个bug所困扰:如果系统还创新(Creative)声卡,这个bug可能会造成严重的、不可逆转的数据丢失。而在当时,这些缺点常常被认为是一个可以接受的风险。 几十年来,CPU时钟频率一直大幅提升,而存储性能以慢得多的速度提升。如果与提升性能的其他方法结合使用,比如缩短驱动器的行程(short-stroking,即只使用驱动器内部区域),RAID阵列提供了你所能买到的***性能。