3.3 RAID技术
RAID这一单词是(Redundant Array of Inexpensive Disks廉价磁盘冗余阵列)的缩写。它是另一种数据容灾技术,通过冗余磁盘阵列提供数据保护。该技术在提出之初的目的并不是为容灾或容错,而是为提高磁盘访问性能和节省成本(当时几块小容量硬盘的价格总和要低于大容量的硬盘)。由于磁盘访问速度比起内存来要慢一百万倍以上,磁盘访问经常成为整个计算机系统性能的瓶颈。为了解决这个问题,UC-Berkeley的David Patterson提出了RAID技术。RAID技术的原理是利用一组磁盘构成一个单一的虚拟逻辑磁盘来提供并行数据访问(从而改善访问速度)。目前看来,RAID在节省成本方面的作用并不明显,但在性能方面则充分发挥了多块硬盘的优势,实现远远超出任何一块单独硬盘的速度和吞吐量。
更为重要的是,除了性能上的提高之外,RAID还可以提供良好的容错容灾能力,在任何一块硬盘出现问题的情况下都可以继续工作,不会受到损坏硬盘的影响。
总结说来,利用RAID技术于存储系统的好处主要有以下三种:
1. 通过把多个磁盘组织在一起作为一个逻辑卷提供磁盘跨越功能;
2. 通过把数据分成多个数据条(stripe)并行写入/读出多个磁盘以提高访问磁盘的速度;
3. 通过镜像或校验操作提供容错能力。
虽然RAID包含多块硬盘,但是在操作系统下是作为一个独立的大型存储设备出现。在RAID模式下,一个RAID驱动程序负责管理这个虚拟逻辑磁盘下的具体物理磁盘,数据在物理磁盘上的存放按条(stripe)进行,即数据按stripe分布于构成RAID的多个具体物理磁盘上。每个物理磁盘按同样的尺寸进行分条。对于所有磁盘上对应的条来说,它们距离磁盘驱动器的开始部分长度一样,即不同磁盘上的第i条距其所在的磁盘驱动器的开始部分都一样远。图3-8给出的是由4个磁盘组成的RAID系统:
当对RAID进行写操作时,数据以条进行分割,第1条存放于第1个磁盘上,第2条存放于第2个磁盘上,第3条存放于第3个磁盘上,第4条存放于第4个磁盘上,第5条又将存放于第1个磁盘上,第6条存放于第2个磁盘上,以此类推……这样一个文件的4个条可以同时写入磁盘,磁盘的效率最大可以提高4倍。读操作很类似,4个磁盘同时驱动,可以同时读4个条出来。因而大大的提高了效率。
RAID级别
RAID技术分为多种不同的等级,分别可以提供不同的速度、安全性和性价比。根据实际情况选择适当的RAID级别可以满足用户对存储系统可用性、性能和容量的要求。通常来说,RAID级别分为以下7种: RAID0,RAID1,RAID0+1,RAID2、RAID3,RAID4、RAID5等。目前经常使用的是RAID5和RAID(0+1)。虽然后来有人发明了更多的RAID类别,但相对于已有的这些级别并无性能和容错上的实质性改进,因而没有得到广泛的接受。下面我们来一一讲解这7个RAID类别。