RAID级别

来源:互联网 发布:c语言编写文件加密 编辑:程序博客网 时间:2024/04/30 06:40

 一、RAID-1 到 RAID-6

数据是许多组织机构的命脉,对数据快速可靠的访问是企业在当今的“互联网时代”世界中安身立命的关键所在。同样的,很多组织机构都会采用某种级别的RAID(廉价冗余磁盘 阵列)来保护数据的完整。现在你可以看一下周围有多少人因为RAID-5的简单以及看似最符合需求而在服务器上进行采用。虽然在很多情况下RAID 5是一个不错的选择,但是如果你比较注重最初的写入性能,那么别的级别RAID可能也有不错的表现。现在你们当中有多少人能够解释RAID 10和RAID 50的设计目的?这些比较新的RAID级别可以克服RAID 5的某些缺陷,同时依然能够保证存储系统有足够的冗余。本文将逐一评价具有代表性的RAID级别的优点和缺陷。

RAID 0 (条块磁盘)

  • 所需最小驱动器数量: 2
  • 最大容量:磁盘数量x 单个磁盘容量
  • 描述: 写入磁盘的数据被分为区块并分别写入各个磁盘。
  • 优势: 由于数据的读写均通过多轴进行,输入和输出负载被分散,因此读写速度非常迅速。从理论上来说,磁盘数量越多,系统性能越好。通常情况下,如果追求性能上的改进,最好使 用Iometer检测具体的存储性能,因为实际的改进可能没有预想的明显。
  • 缺陷: 当某个磁盘出现问题,整个磁盘阵列都会出现故障,因为这一级别的RAID没有任何安全装置。磁盘数量的增加,就意味着故障风险的增加。

    RAID 1 (磁盘镜像)

  • 所需最小驱动器数量: 2 或者2的倍数
  • 最大容量: 磁盘阵列总容量/2
  • 描述: 所有数据会复制成双份分别存储在两块物理硬盘上,提供高级别的冗余。
  • 优势: 可靠性很高。故障只会影响一块磁盘。RAID 1 的读取性能比较高(与单一磁盘的性能相当或更优)。
  • 缺陷: 由于每个磁盘都有一个镜像磁盘,因此运营成本增加了100%。由于需要在两块磁盘上写入数据,因此写入性能会受到一定的影响,不过即使这样,其写入性能也好于其他级别的 RAID。

    RAID 2: 已停止使用。

    RAID 3 (带有校验信息的并行传输磁盘)

  • 所需最小驱动器数量:3
  • 最大容量: (磁盘数量-1) x 每块磁盘的容量
  • 描述: 数据按字节被打散后平均的写入各个磁盘。所有的校验信息另外写在单独的专用磁盘上。
  • 优势: 可以允许单独磁盘上数据的丢失。连续写入性能可以接受。连续读取性能比较好。
  • 缺陷: 使用不广泛,因此解决问题的相关信息比较少。RAID 3一般被认为比较有效。随意写入性能较差。随意读取性能比较好。
  • RAID 4 (使用共享校验块的独立数据磁盘)

  • 最大容量: (磁盘数量- 1) x 每块磁盘的容量
  • 描述: 一个文件被分成区块,每个区块被写入多个磁盘中,但是并不要求平均的写入。与RAID 3类似的, RAID 4 也使用单独的物理磁盘来存储校验信息。是大数据量高读取率环境下的最佳选择。
  • 所需最小驱动器数量:3
  • 优势: 读取率很高。允许单一磁盘数据的丢失。
  • 缺陷: 写入性能差。区块读取性能不错。

    RAID 5 (无旋转校验的独立访问磁盘阵列)

  • 最大容量: (磁盘数量- 1) x 每块磁盘的容量
  • 描述: 类似与RAID 4, 数据区块被分散写入每块磁盘上(有时并不平均), 但是这种情况下, 校验信息与写入的信息一起分散到各个磁盘上。
  • 所需最小驱动器数量:3
  • 优势: 支持良好。允许单一磁盘数据的丢失。
  • 缺陷: 数据重建过程中性能较差。由于写入过程中需要不断更新校验信息因此写入性能有时差强人意。

    RAID 6 (带有两份独立条带校验信息的独立数据磁盘组)

  • 最大容量: (磁盘数量- 2) x 每块磁盘的容量
  • 描述:与RAID 4类似, 数据被分成区块分散写入整个磁盘组中(有时不是平均写入),但在此情况下,校验数据同时也被分散到整个磁盘组中。
  • 所需最小驱动器数量:3
  • 优势: 最多允许两块磁盘出现数据丢失。读取性能优良。适用于全部关键性应用环境。
  • 缺陷: 写入性能不是非常理想。由于需要更新多个校验信息,写入性能甚至不及RAID 5。数据重建过程中性能下降明显。
  • 二、几种不常见RAID等级

    本部分介绍了通常在存储架构中会出现的一些新型的RAID阵列:RAID 15、RAID 51和RAID 100,并解释它们和我们日常使用的RAID阵列之间的差别。

    要注意,这些RAID阵列尽管有很多优点,但是它们的造价也是非常昂贵的。我个人从来没有在生产领域内见过它们其中任何一种阵列。在我的商店里,有使用RAID 50的SAN,但是 这也是我能承受的极限了。

    RAID 15 (奇偶位镜像阵列,或者先进行RAID 1再进行RAID 5)

  • 最大容量:[(磁盘数量/2)-1] x磁盘容量
  • 描述:所需的驱动器数量(最少):6(要求磁盘数量为偶数)
  • 优点:你想要让你的数据获得真正的安全,完全不必担忧磁盘故障吗?可以试试RAID 15 或者RAID 51。它们都提供了超强的容错能力。即使大量磁盘损坏的情况下仍然不会丢 失数据。但是容错能力取决于出现故障的是哪一块磁盘。如果你在每个镜像组中损失一块硬盘,系统仍然可以正常运转。但是如果有四块硬盘损坏了,而它们恰好是两个镜像组中 的四块硬盘,你就会丢失整个RAID 5阵列中的数据。
  • 缺点:在这种情况下,强大的容错能力是以降低磁盘存储空间效能为代价的。如果你的阵列是由6块硬盘组成的最小的RAID 15阵列,整个阵列存储容量的66%都会被用于管理, 这就意味着你只能使用34%的存储容量。随着阵列中磁盘数量的增加,效能比例也会有所增加,但是永远都不会达到50%。这是由阵列的结构决定的,也是因为RAID硬件本身要耗占 部分资源,这种模式造价昂贵,而且非常复杂,难以实施。

     

    图A:RAID 15在多块硬盘出现故障的时候仍然能够工作

    RAID 51 (镜像奇偶位阵列,或者先进行RAID 5再进行RAID 1)

  • 最大容量:[(磁盘数量/2)-1]x磁盘容量
  • 描述:需要的驱动器数量(最少):6(要求磁盘数量为偶数)
  • 优点:提供了非常强大的容错能力。整个阵列甚至可以在损失了好几块硬盘的情况下仍然正常工作,当然,这也取决于损坏的是哪些硬盘。在由6块硬盘组成的最小阵列中,你 最多可以损失4块硬盘(一个RAID 5阵列中的全部磁盘和第二个RAID 5阵列中的一块磁盘),还能够保持系统正常运转。
  • 缺点:超强的容错能力是以大量的管理空间和昂贵的支持为代价的。

     

    图B:RAID 51被管理占据了大量的空间

    RAID 100 (RAID 10+0, 或者先进行RAID 10然后进行RAID 0)

  • 最大容量:磁盘数量x 磁盘容量/2
  • 描述:需要的驱动器数量(最低要求):6(要求磁盘数量为偶数)
  • 优点:RAID 100提供了非常优秀的随机读取性能。而且从理论上说,RAID 100阵列在50%的磁盘出现故障的时候仍然能够工作,当然前提是故障磁盘不能位于同一RAID 1阵列上 。
  • 缺点:具有和RAID 1同样的缺点。和RAID 1一样,RAID 1只有50%的效能。根据执行情况不同,写性能可能不如其他RAID阵列,但是这还取决于你如何配置每个RAID 10和位于 顶层的RAID 0(硬件或者软件)。

     

    图C:RAID 100能够提供非常好的读取性能

    还有很多其他的RAID层,但其中绝大部分都是专有的,而且并没有得到广泛应用。在本系列文章中,我只介绍了你在真实世界里最有可能遇到的一些RAID等级。

  •  

    更多资料:网上搜索“让我们谈谈RAID”,这篇文章对RAID内部的技术讲的比较详细。

    原创粉丝点击