RAID磁盘阵列技术

来源:互联网 发布:中大岭南 管院 知乎 编辑:程序博客网 时间:2024/04/28 19:39

      RAID是由美国加州大学伯克利分校的D.A.Patterson教授在1988年提出的。RAID是Redundent Array of Inexpensive Disks的缩写,直译为“廉价冗余磁盘阵列”,简称“磁盘阵列”。后来RAID终的字母I被改为了Independent,RAID就成了“独立冗余磁盘阵列”,但这只是名字的改变,实质性的内容并没有变化。简单的将,RAID技术就是利用多个磁盘的组合提供高效及冗余功能。RAID技术是解决硬盘存储性能和数据安全的有效手段。

      一般高性能的磁盘阵列都是以硬件的形式来达成,进一步的吧磁盘快取控制及磁盘阵列结合在一个控制器(RAID Controller)或控制卡上,针对不同的用户解决其对磁盘I/O的四大要求:存取速度;容错(fault tolerance)即安全性;磁盘空间利用;平衡CPU,内存及磁盘的性能差异,提高服务器的整体工作性能。在用户看来,组成的磁盘阵列就像是一个硬盘,用户可以对他进行分区,格式化等操作。不同的是磁盘阵列的存储性能比单个磁盘高的多,而且提高数据冗余。

      磁盘阵列针对不同的应用使用不同的技术,称为RAID level,一种leve代表一种技术。目前业界公认的标准时RAID0-RAID7八种基本的RAID级别,level级别不代表技术的高低,至于需要选择那一种RAID level需要根据用户端额操作环境(Operating environment)以及应用(Application)来确定。与level的高低没有必然联系。还有一些由基本的RAID level组合而成,如:RAID10,RAID01,RAID50等。不同的RAID level及组合形式代表着不同的存储性能,数据安全性和存储成本。硬件RAID汪汪要比软件的优越。但是某些实际的应用中软件RAID也能发挥不小的作用。

      一. RAID优点

          1. 成本低,功耗小,传输速率高。在RAID中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个磁盘驱动器几倍甚至几十上百倍的速率。

          2. 提供容错功能。这是使用RAID的第二个原因,因为如果不包括写在磁盘上的CRC(循环冗余校验)码的话,普通磁盘驱动器无法提供容错功能。RAID和容错是建立在每个磁盘驱动器的硬件容错功能上的,所有RAID提供更高的安全性。

          3. 低廉的成本。在同样容量下RAID比传统的大直径磁盘驱动器价格要低很多。

      二. RAID级别

          1. RAID0级,无冗余无校验的磁盘阵列。数据同事分布在各个磁盘驱动器上,没有容错能力,读写速度在RAID中最快,但因为任何一个磁盘驱动器损坏都会是整个RAID系统失效,所以安全系数反而比单个的磁盘驱动器还要低。一般用在对数据安全性要求不高,但对速度要求很高的场合。

          2. RAID1级,镜像磁盘阵列。每一个磁盘驱动器都有一个镜像磁盘驱动器,镜像磁盘驱动器随时保持与原磁盘驱动器的内容一致。RAID1具有最高的安全性,但只有一半的磁盘空间被用来存储数据。主要用在对数据安全性要求很高,并要求能够快速回复呗损坏的数据的场合。

          3. RAID2级,纠错海明码磁盘阵列。磁盘驱动器组中的第一,二,四,2n个磁盘驱动器是专门的校验盘,用于校验和纠错。例如7个磁盘驱动器的RAID2,第一,二,四个磁盘去东区是就错盘,其余的用于存放数据,使用的磁盘驱动器越多,校验盘在其中占得百分比越少。RAID2对于大数据量的输入输出有很高的性能,但少量数据的输入输出时性能不好。RAID2实际上很少用。

          4. RAID3和RAID4级,奇校验或偶校验的磁盘阵列。不论有多少数据盘,均使用一个校验盘,采用奇偶校验的方法检查错误,任何一个单独的磁盘驱动器损坏都可以恢复。RAID3和RAID4的数据读取速度很快,但写数据时要计算校验位的值以写入校验盘,速度有所下降。RAID3和RAID4的使用也不多。

          5. RAID5级,无独立校验盘的奇偶校验磁盘阵列。同样采用奇偶校验来检查错误,但是没有独立的校验盘,校验信息分布在各个磁盘驱动器上。RAID5对大小数据量的读写都有很好的性能,被广泛的应用。

      从RAID1到RAID5的几种方案,不论何时有磁盘损坏,都可以随时拔出损坏的磁盘再插入好的磁盘(需要硬件上的热插拔支持),数据不会受损,失效盘的内容可以很快的重建,重建工作也由RAID硬件或者RAID软件完成。RAIDO不提供数据校验功能,所以也有人说他不能算作是RAID。当然RAID并不是万能的,比如说RAID1的两个互为镜像盘的磁盘down掉了或者RAID5连续挂掉两个盘,那么整个文件系统也会出问题。所以在实际使用的时候我们应当从I/O性能,安全性,成本,应用等方面充分的进行考虑,然后对RAID进行综合使用,比如使用RAID10等。这只是RAID的简单介绍,姑且称为RAID扫盲,接下来还会对RAID10,RAID01,RAID5进行讨论。

原创粉丝点击