【IT168 专稿】相信对RAID感兴趣的朋友,都不是刚接触电脑的新手。为什么对RAID感兴趣呢?除了数据中心的管理员将其作为职业,大部分对RAID感兴趣的朋友,都长期使用电脑,而且可能都遇到过硬盘失效。今天,每个人拥有的电脑数量越来越多,硬盘失效已经非常常见。其实,硬盘坏道一直都是很常见的现象,虽然硬盘厂商的技术也在不断提升,可是这些基于磁盘技术的硬盘在短期内还难以完成革命性的提升。也许固态硬盘技术未来能达到无坏道的境界,但那毕竟还不是主流产品。
基础而有效的数据保护
个人计算机的发展速度在过去20年里非常惊人,一美金能买到的硬盘存储容量也一直呈指数增长。其间,MTBF(Mean Time Before Failure 平均无故障工作小时)也从八十年代的8000小时(MiniScribe M2006)增长到了当前的75000小时(Seagate 7200.11 系列驱动)。当然,MTBF只是一个计算出来的指标,并不等于真正的硬盘平均寿命,只供我们参考。但即便如此,我们还得承认硬盘的制造工艺20年间的确有了很大的飞跃。
与此同时,我们存储数据的价值也随着硬盘的发展而增加。正是在这种背景下,各种备份、保护数据的技术都应运而生。RAID(Redundant Array of Inexpensive Disks 独立磁盘冗余阵列,或者也称为廉价磁盘冗余阵列)就是诸多保护技术之一。
早在70年代,RAID概念就已经出现在白皮书里。RAID名词正式出现,是在1987年,由一群加利福尼亚州伯克利大学的研究者们创造。他们专注于研究多块硬盘配合时的性能和冗余情况。但是他们的研究最初还是比较理论化,跟实际需要稍有差距,不过很快存储工业就将一些改进加入其中。RAID技术一直发展到今天,成为现在我们熟知的一些RAID:
RAID 0 – 条带化数据
RAID 1 – 镜像数据
RAID 5 – 条带化奇偶校验
RAID 6 – 条带化双奇偶校验
RAID 0+1 - RAID 0和RAID 1混合,镜像拷贝条带化数据
每一种RAID配置都有自己的利弊;各种RAID,适合于各种不同的应用,我们将对不同的RAID做简要讨论,本文我们先重点讨论目前应用最为广泛的三种RAID模式,RAID0、RAID1和RAID5,下篇我们将一起讨论一些组合RAID模式,比如RAID0+1与RAID1+0,以及较为新兴的RAID6。
极端的无冗余:RAID 0
RAID 0要求有两块或更多磁盘,将数据写在跨越每个磁盘的条带上。数据也从这些条带上被访问和存取,这样也就允许多个磁盘并行读写。RAID 0的整体容量等同于RAID 0中所有硬盘容量的简单加总。使用率方面,这些RAID硬盘的使用可以比较平均的分布。

采用RAID 0的另一个结果,是逻辑磁盘的读写速度比以往的单一磁盘要快。只有文件存取时间access time不会随着RAID 0设置而有所改良。但是,如果操作上需要存取容量很小的,非连续的数据,那么RAID 0将不会对这样的操作有太大的性能提升。
对于侧重大块数据读写的应用,相信RAID 0是非常合适的,比如说影音文件的编辑。因为这些大块数据可以被RAID 0的多块磁盘同时连续读写。
RAID 0看起来不错,但是也有缺点。最大的缺点就是RAID 0配置的磁盘阵列当中,任意一块磁盘失效的时候,整个磁盘阵列就失效了。RAID 0似乎不应该称作RAID ,因为RAID 0不包括任何冗余特性。所以,你的RAID 0每添加一块磁盘,这个阵列失效的风险也就相应增加。所以除非你的阵列可以被频繁备份,或者这个阵列存储的内容并不那么关键,你才可以去小心的部署RAID 0。
RAID 0优点:
最好的连续数据读写性能表现
最大的磁盘可用容量
RAID 0缺点:
没有数据的冗余
非连续小容量数据处理的性能提升有限
极端的全冗余:RAID1
RAID 0是极端的一个无冗余RAID 配置,而RAID 1则在另一个极端,RAID 1意味着全冗余。RAID 1从一个磁盘拷贝了所有的内容到另一块磁盘。一旦一块磁盘失效,控制器将从另一块磁盘失效备援(fails over),所有的数据都将完好可用。

尽管RAID 1并没有提供任何性能提升,甚至在某些情况下,RAID 1跟一块磁盘对比,可能还会有轻微的性能降低,但是RAID 1还是被广泛的采用,毕竟即便一整块磁盘失效了,整个阵列还是正常运行,RAID 1大大提高了可用性。其实很多的企业级别的系统都使用RAID 1,现在的硬盘非常便宜,500GB大概只要1000块钱左右,特别是中小企业,如果没有大量的数据存储需求,RAID 1将非常合适。正是因为拥有这样的特点,RAID 1的流行也在情理之中。
高级别的RAID 1控制器组建的RAID 1,性能可以胜过单一驱动器,因为控制器使两块磁盘随时为读操作待命。理论上,这可以减少文件的存取时间(数据请求被发送到逻辑上更近的磁盘),而且数据读操作输出也是原来的一倍(不同的磁盘可以同时读不同的数据)。但是多数普通的RAID 1控制器现在并不提供这种高级功能,因此普通的RAID 1磁盘阵列的性能可能要比单一磁盘来的差。而软件RAID 1解决方案也缺乏RAID 1从两块磁盘同时读的支持。
RAID 1优点:
充分的数据冗余
配置简单,如果不用RAID控制器,也可以用软件简单配置。
RAID 1缺点:
较低的磁盘容量使用率,购买的总容量中,只有50%容量可用。
普通的RAID 1性能可能稍稍低于单一磁盘,而高级的RAID 1控制器则十分昂贵。