RAID(独立磁盘的冗余阵列)

RAID或“独立磁盘冗余阵列”是一种技术,它利用多个磁盘的组合,而不是使用单个磁盘来提高性能、数据冗余或两者兼而有之。这个词是1987年加州大学伯克利分校的戴维·帕特森、加思·A·吉布森和兰迪·卡茨创造的。

null

为什么是数据冗余?

数据冗余虽然占用了额外的空间,但增加了磁盘的可靠性。这意味着,在磁盘故障的情况下,如果相同的数据也备份到另一个磁盘上,我们可以检索数据并继续操作。另一方面,如果数据在没有RAID技术的情况下仅分布在多个磁盘上,则单个磁盘的丢失可能会影响整个数据。

RAID系统的关键评估点

  • 可靠性: 系统可以容忍多少磁盘故障?
  • 可利用性: 系统处于正常运行时间模式占总会话时间的比例是多少,即系统在实际使用中的可用性如何?
  • 性能: 响应时间有多快?吞吐量(处理工作的速率)有多高?请注意,性能包含很多参数,而不仅仅是这两个。
  • 容量: 给定一组N个磁盘,每个磁盘上有B个块,用户可用的可用容量是多少?

RAID对底层系统非常透明。这意味着,对主机系统来说,它是一个大磁盘,呈现为块的线性阵列。这使得旧技术可以被RAID取代,而无需对现有代码进行太多更改。

不同的RAID级别

RAID-0(剥离)

  • 块是跨磁盘“剥离”的。

raid0

  • 在图中,块“0,1,2,3”形成一条条纹。
  • 与一次只将一个块放入磁盘不同,我们可以先将两个(或更多)块放入磁盘,然后再继续下一个块。

raid0_chunk

评价:

  • 可靠性:0 没有重复数据。因此,一个区块一旦丢失就无法恢复。
  • 容量:N*B 整个空间被用来存储数据。由于没有复制,因此每个具有B块的N个磁盘被充分利用。

RAID-1(镜像)

  • 每个数据块的多个副本存储在单独的磁盘中。因此,每个块都有两个(或更多)拷贝,它们位于不同的磁盘上。

raid1

  • 上图显示了具有镜像级别2的RAID-1系统。
  • RAID 0无法容忍任何磁盘故障。但RAID 1具有可靠性。

评价:

假设RAID系统具有镜像级别2。

  • 可靠性:1至N/2 1磁盘故障是可以确定处理的,因为该磁盘的块在其他磁盘上会有重复。如果我们足够幸运,并且磁盘0和2出现故障,那么同样可以处理这一问题,因为这些磁盘的块在磁盘1和3上有重复。因此,在最佳情况下,可以处理N/2个磁盘故障。
  • 容量:N*B/2 只有一半的空间用于存储数据。另一半只是已存储数据的镜像。

RAID-4(带专用奇偶校验的块级剥离)

  • 它采用基于奇偶校验的方法,而不是复制数据。

raid4

  • 在图中,我们可以看到一列(磁盘)专用于奇偶校验。
  • 奇偶校验是使用简单的异或函数计算的。如果数据位为0,0,0,1,奇偶校验位为XOR(0,0,0,1)=1。如果数据位为0,1,1,0,则奇偶校验位为XOR(0,1,1,0)=0。一种简单的方法是,偶数个1导致奇偶校验0,奇数个1导致奇偶校验1。

parityy

  • 假设在上图中,C3由于某些磁盘故障而丢失。然后,我们可以通过查看所有其他列的值和奇偶校验位来重新计算存储在C3中的数据位。这使我们能够恢复丢失的数据。

评价:

  • 可靠性:1 RAID-4最多允许恢复1个磁盘故障(因为奇偶校验的工作方式)。如果多个磁盘出现故障,则无法恢复数据。
  • 容量:(N-1)*B 系统中保留一个磁盘用于存储奇偶校验。因此,(N-1)个磁盘可用于数据存储,每个磁盘有B个块。

RAID-5(具有分布式奇偶校验的块级剥离)

  • 这是对RAID-4系统的轻微修改,唯一的区别是奇偶校验在驱动器之间旋转。

raid5

  • 在图中,我们可以注意到奇偶校验位是如何“旋转”的。
  • 这是为了提高随机写入性能。

评价:

  • 可靠性:1 RAID-5允许最多恢复1个磁盘故障(因为奇偶校验的工作方式)。如果多个磁盘出现故障,则无法恢复数据。这与RAID-4相同。
  • 容量:(N-1)*B 总的来说,在存储奇偶校验时使用了相当于一个磁盘的空间。因此,(N-1)个磁盘可用于数据存储,每个磁盘有B个块。

其他RAID级别呢?

RAID-2由使用汉明码奇偶校验的位级剥离组成。RAID-3由具有专用奇偶校验的字节级分条组成。这两种方法不太常用。 RAID-6是最近的一项进步,它包含分布式双奇偶校验,这涉及到块级剥离,使用2个奇偶校验位,而不是仅分布在所有磁盘上的1个奇偶校验位。还有混合RAID,它使用多个RAID级别,一个接一个地嵌套,以满足特定需求。

参考资料:

  • https://en.wikipedia.org/wiki/RAID
  • Remzi H.Arpaci Dusseau的《三件简单的操作系统》。

本文由 阿纳尼亚·尤博伊 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 写极客。组织 或者把你的文章寄去评论-team@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享