独立磁盘冗余阵列 Raid

0、磁盘阵列

这里目录标题

    • 0、磁盘阵列
      • 0.1. Raid简介
      • 0.2. 条带化
      • 0.3. Raid0
      • 0.4. Raid1
      • 0.5. Raid2
      • 0.6. Raid3
      • 0.7. Raid4
      • 0.8. Raid5
      • 0.9. Raid6
      • 0.10. Raid 选择

0.1. Raid简介

  • Redundant Arrays of Independent Disks( 独立磁盘冗余阵列 )
  • 将数据存放在多块磁盘肯定能解决IO瓶颈的问题
磁盘阵列是由很多块独立的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果
提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。

磁盘阵列还能利用同位检查(Parity Check)的观念,在数组中任意一个硬盘故障时,仍可读出数据,
在数据重构时,将数据经计算后重新置入新硬盘中。

独立磁盘冗余阵列 Raid_第1张图片

0.2. 条带化

  • 问题
    • 大多数磁盘系统都对访问次数(每秒的 I/O 操作,IOPS)和数据传输率(每秒传输的数据量,TPS)有限制。
    • 当达到这些限制时,后面需要访问磁盘的进程就需要等待,这时就是所谓的磁盘冲突。
  • 解决方案
    • 条带化技术就是将一块连续的数据分成很多小部分并把他们分别存储到不同磁盘上去
    • 这就能使多个进程同时访问数据的多个不同部分而不会造成磁盘冲突
    • 在对这种数据进行顺序访问的时候可以获得最大程度上的 I/O 并行能力,从而获得非常好的性能。

独立磁盘冗余阵列 Raid_第2张图片

0.3. Raid0

  • RAID0 具有低成本、高读写性能、 100% 的高存储空间利用率等优点,但是它不提供数据冗余保护,一旦数据损坏,将无法恢复。
  • RAID0 一般适用于对性能要求严格但对数据安全性和可靠性不高的应用,如视频、音频存储、临时数据缓存空间等
  • 独立磁盘冗余阵列 Raid_第3张图片

0.4. Raid1

  • RAID1 称为镜像,它将数据完全一致地分别写到工作磁盘和镜像磁盘,它的磁盘空间利用率为50%
  • RAID1 在数据写入时,响应时间会有所影响,但是读数据的时候没有影响
  • RAID1 提供了最佳的数据保护,一旦工作磁盘发生故障,系统自动从镜像磁盘读取数据,不会影响用户工作
  • 独立磁盘冗余阵列 Raid_第4张图片

0.5. Raid2

  • RAID2 称为纠错海明码磁盘阵列,其设计思想是利用海明码实现数据校验冗余
  • 海明码是一种在原始数据中加入若干校验码来进行错误检测和纠正的编码技术,其中第 2n 位( 1,2, 4, 8, … )是校验码,其他位置是数据码
  • 海明码宽度和校验码计算
    • 如果是 4 位数据宽度需要 4 块数据磁盘和 3 块校验磁盘
    • 如果是 64 位数据宽度需要 64 块 数据磁盘和 7 块校验磁盘。
  • 海明码的数据冗余开销太大,而且 RAID2 的数据输出性能受阵列中最慢磁盘驱动器的限制。再者,海明码是按位运算, RAID2 数据重建非常耗时

独立磁盘冗余阵列 Raid_第5张图片

0.6. Raid3

  • RAID3 是使用专用校验盘的并行访问阵列,它采用一个专用的磁盘作为校验盘,其余磁盘作为数据盘,数据按位可字节的方式交叉存储到各个数据盘中
  • RAID3 至少需要三块磁盘,不同磁盘上同一带区的数据作 XOR 校验,校验值写入校验盘中
  • RAID3 完好时读性能与 RAID0 完全一致,并行从多个磁盘条带读取数据,性能非常高,同时还提供了数据容错能力
  • RAID3 写入数据时,必须计算与所有同条带的校验值,并将新校验值写入校验盘中。
  • 一次写操作包含了写数据块、读取同条带的数据块、计算校验值、写入校验值等多个操作,校验盘系统开销非常大,性能较低
  • 如果 RAID3 中某一磁盘出现故障,不会影响数据读取,可以借助校验数据和其他完好数据来重建数据。

独立磁盘冗余阵列 Raid_第6张图片

0.7. Raid4

  • RAID4 与 RAID3 的原理大致相同,区别在于条带化的方式不同
  • RAID4 按照块的方式来组织数据,写操作只涉及当前数据盘和校验盘两个盘,多个 I/O 请求可以同时得到处理,提高了系统性能。
  • RAID4 按块存储可以保证单块的完整性,可以避免受到其他磁盘上同条带产生的不利影响。
  • RAID4 提供了非常好的读性能,但单一的校验盘往往成为系统性能的瓶颈
  • 数据块
    • 数据块也称为存储块,它包含为文件系统分配的其余空间。这些数据块的大小是在创建文件系统时确定的。
    • 缺省情况下,为数据块分配以下两种大小:8 KB 的逻辑块大小和 1 KB 的段大小 (fragmentsize)。

独立磁盘冗余阵列 Raid_第7张图片

0.8. Raid5

  • RAID5 应该是目前最常见的 RAID 等级,它的校验数据分布在阵列中的所有磁盘上,而没有采用专门的校验磁盘。
  • 对于数据和校验数据,它们的写操作可以同时发生在完全不同的磁盘上。
  • RAID5 还具备很好的扩展性。当阵列磁盘 数量增加时,并行操作量的能力也随之增长
  • RAID5 当一个数据盘损坏时,系统可以根据同一条带的其他数据块和对应的校验数据来重建损坏的数据
  • 重建数据时, RAID5 的性能会受到较大的影响。

独立磁盘冗余阵列 Raid_第8张图片

0.9. Raid6

  • RAID6 引入双重校验的概念,它可以保护阵列中同时出现两个磁盘失效时,阵列仍能够继续工作,不会发生数据丢失。
  • RAID6 不仅要支持数据的恢复,还要支持校验数据的恢复,因此实现代价很高,控制器的设计也比其他等级更复杂、更昂贵。
  • RAID6 思想最常见的实现方式是采用两个独立的校验算法,假设称为 P 和 Q ,校验数据可以分别存储在两个不同的校验盘上,或者分散存储在所有成员磁盘中。
  • RAID6 具有快速的读取性能、更高的容错能力。但是,它的成本要高于 RAID5 许多,写性能也较差,并有设计和实施非常复杂。

独立磁盘冗余阵列 Raid_第9张图片

0.10. Raid 选择

独立磁盘冗余阵列 Raid_第10张图片

你可能感兴趣的:(大数据,Raid,独立磁盘冗余阵列,磁盘阵列)