RAID基础研究:起源、类型和特点


1. 简介

本文的主要重点是介绍 RAID 的各个基本方面的研究,包括其起源、类型、特征等等。 这类研究是必要的,因为它是 IT 专业人员日常生活中可能出现的主题,主要涉及操作系统、网络、存储系统等相关问题。 目标本身是,通过阅读本文的结尾,我们可以主要了解 RAID 是什么、为什么会出现、RAID 有哪些类型、每种类型的优点和缺点等等,所有这些信息将在本文的各个部分。

1974年和1984年左右,人们对计算机可能有一个小小的担忧,CPU和主存的性能有了很大的增长,总共甚至增长了40%左右,但是这里出现了一个问题,比如CPU指令之间的瓶颈执行 I/O 操作来访问磁盘。 这是因为当时磁盘的速度跟不上其他计算机组件的速度。

就这样,大约在 1978 年,我们可以说 IBM 创建的第一个 RAID 想法出现了,但直到 1987 年,伯克利大学的 David A. Patterson、Garth Gibson 和 Randy H. Katz 发表了一篇文章,名为“廉价磁盘冗余阵列 (RAID) 的案例”的名称更加关注此类主题。 正如我们在其自己的“摘要”(摘要)中看到的那样,这篇文章告诉我们可以期待什么:“如果 I/O 性能的提高与 I/O 性能的提高不相匹配,那么 CPU 和内存性能的提高将被浪费。 虽然单个大型昂贵磁盘 (SLED) 的容量快速增长,但 SLED 的性能提升却很有限。 廉价磁盘冗余阵列 (RAID) 基于为个人计算机开发的磁盘技术,为 SLED 提供了一种有吸引力的替代方案,有望在性能、可靠性、功耗和可扩展性方面实现一个数量级的改进...免费“如果没有类似的 I/O 性能提升,CPU 和内存的性能提升就会被浪费。 虽然大型且昂贵的单磁盘 (SLED) 的容量增长迅速,但 SLED 的性能改进却很有限。 廉价磁盘冗余阵列 (RAID) 基于为个人计算机开发的磁盘技术,为 SLED 提供了一种有吸引力的替代方案,有望在性能、可靠性、功耗和可扩展性方面实现数量级的改进……”

总的来说,本文介绍了各种类型的磁盘阵列、RAID 的基本思想、相对于例如单个大型昂贵驱动器 - SLED 的优点以及其他详细信息。 一般来说,文章中描述的原始 RAID 是 1、2、3、4 和 5,后来又出现了其他 RAID。


2 - 磁盘阵列

那么我们先来了解一下什么是RAID,RAID本身是基于使用额外的磁盘来提高存储单元的读写过程的性能,或者在磁盘发生故障的情况下恢复原始信息。 Patterson 是 RAID 技术的开发者之一,他证明,如果没有容错控制,大型廉价磁盘阵列由于可靠性低而无法被认为是有用的。 可以看出,RAID这个想法的出现正是为了尝试克服文中前面提到的瓶颈,同时仍然确保更多的可靠性和其他因素。

帕特森提出的主要方法是将向量分成可靠的组,其中每个组都有额外的磁盘,这些磁盘具有用于维护组的可靠性的冗余信息。 这样,当某个磁盘发生故障时,故障磁盘会在短时间内被新磁盘取代,并且旧磁盘中包含的信息将利用旧磁盘中包含的冗余信息在新磁盘中完全重建。向量。

另外非常重要的一点是,MTBF(平均故障间隔时间)是衡量系统或组件可靠性的指标,是维护管理的一个关键要素,代表系统或组件在出现故障之前平均运行的时间)这些阵列等于磁盘的最小单个 MTBF。 因此,对于许多应用程序来说,这些阵列的 MTBF 变得极低,使得这些磁盘在 RAID 中的使用更加可靠。

我们可以看到,RAID本身是一个想法,主要是为了提高使用硬盘的存储系统的性能和可靠性,但是这个想法本身如何应用呢? 有模式或者什么吗? 为此,创建了一些类型的 RAID,每种类型都有其特点、需求和工作方式,这就是我们现在将看到的。

2.1 RAID 的类型、特点、优点等

正如我们在本文的引言中所说,最初有 David A. Patterson、Garth Gibson 和 Randy H. Katz 的文章中描述的 5 种原始 RAID,随着时间的推移,RAID 组合和其他模型最终出现并在这里我们将逐一解释它们。

2.1.1 RAID 0

从 RAID 0(条带化阵列 - 数据分段)开始,通常用于性能或利用“条带化”(精确地将多个磁盘组合在一个逻辑存储单元中)的情况,克服了容错的需要,并且他们保存的数据并不是极其重要。 条带化旨在通过将 I/O 活动分布在多个磁盘驱动器上并减少或消除 I/O 瓶颈来提高磁盘性能。数据在它们之间平均分割/分布,即有关 X 文件的信息将在 HD 之间划分RAID 0 中的每个文件都具有该 X 文件的一部分,当需要从该文件获取数据时,保留其部分的硬盘都会启动并可以更快地恢复该数据,但这里有一个问题出现了,因为有关该文件的信息被分割在硬盘中,如果其中一个发生故障,实际上不可能从该文件中恢复数据,因为它的一部分丢失了,而这些数据对于形成完整的文件至关重要,重要的是要说,在这种情况下,我们正在谈论此文件 X 中的一些数据块丢失了,HD 上的所有内容都存储在块中(这就是它们被称为块设备的原因),如果您丢失了一部分就像上面的例子一样,你最终会丢失整个文件。


该图展示了 RAID 0 中某些 HDD 的视图(请注意,这里有 4 个 HDD,但它们被视为可以在其中分发和记录数据的单个卷)

2.1.2 RAID 1

我们现在可以进入 RAID 1(镜像 - 镜像、阴影),此 RAID 选项的前提与 RAID 0 完全相反,而在 RAID 0 中,我们将文件的数据块按所在的多个硬盘进行划分。 RAID 0,在RAID 1中我们有这些数据的镜像,也就是说,我们在RAID 1中有2个HD,HD 1中记录的所有内容都将被镜像/记录在HD 2中。这种RAID配置主要在我们无法使用时变得有用丢失正在记录的数据,增加了对这种类型 RAID 的信心,因为如果其中一个磁盘发生故障,另一个 HD 可以开始理解必要的请求,因为它包含与有缺陷的磁盘相同的数据,甚至进行读取操作比标准更快,即使必须读取数据,该操作也可以在队列最短、搜索时间最短的硬盘上完成,但另一方面,写入请求的性能最终会受到一些影响这种安全性更多地是用数据来换取的,因为RAID 1中的所有硬盘上都要记录同样的数据,另外一点就是,在某种程度上就是存储效率,也就是我们使用存储的方式这些硬盘的空间最终会受到损害,因为我们将使用 2 个或更多硬盘来记录相同的数据。


该图展示了 RAID 1 中某些 HDD 的视图(阴影磁盘是用于从其他 HDD 镜像数据的磁盘)

2.1.3 RAID 10 和 RAID 01

现在我们已经了解了上面的 2 种 RAID 类型,我们可以讨论另一种类型,即两者的组合,RAID 10 或 RAID 1+0。 基本上,如果我们想要使用这种 RAID 组合构建存储系统,我们必须至少有 4 个 HD,其使用方式如下: HD 1 和 2 将形成组 1,HD 3 和 4 形成组 2,组 1 和组 2 都将形成组 1。 2 将成为 RAID 1,即 HD 1 上写入的数据将镜像到 HD 2 上,HD 3 上写入的数据将镜像到 HD 4 上,依次这两个 Group 将处于 RAID 0 中,即数据将在它们之间划分,像 RAID 0 一样创建条带并形成单个逻辑存储单元。 这种 RAID 组合实际上能够带来两种类型 RAID 所提供的优点,无论是可靠性和容错性 (RAID 1) 还是存储效率和性能 (RAID 0),但我们的主要缺点是这种实现的成本,因为执行这种 RAID 组合至少需要 4 个 HD。


说明 RAID 10 操作的图像

与上面的模型非常相似,我们有 RAID 01,这基本上是上面模型的反转,其中我们有 4 个硬盘分为 2 组,每个组都在 RAID 0 中,这两组通过 RAID 1 连接。这是可能的再次结合上面评论的两种模型的优点,在性能、安全性和容错性方面都获得了一定的增益。


说明 RAID 01 操作的图像

2.1.4 RAID 2

更进一步,我们讨论一种 RAID,随着硬盘在执行内部纠错方面的进步,最终年久失修并变得有些过时,我们正在谈论 RAID 2。与 RAID 0 一样,数据在HD之间进行划分,但是这次不是按照我们习惯的传统方式,即不是按块划分,而是按位划分,然后每个位序列将存储在不同的磁盘上,结合我们还有使用汉明码技术(这类代码是一种检测码,也就是说,它不仅可以检测位错误,还可以检测错误位的位置,这是通过添加一些冗余位来完成的(奇偶校验)允许这种检测),用于创建 ECC(纠错码),并将其存储在特定的 HD 中,也就是说,我们将拥有用于数据的 HD 和保留用于记录这些纠错码的 HD。 当数据写入磁盘时,它会计算实时数据的ECC码并将数据位写入数据盘,并将ECC码写入冗余盘。 当从磁盘读取数据时,它还会从冗余磁盘中读取相应的ECC代码并验证数据是否一致。 如有必要,它会实时进行适当的更正。 这种类型的 RAID 具有很强的容错能力,但正如开头提到的,由于当今 HD 执行的内部修正以及其成本,这种类型的 RAID 最终被废弃。



说明 RAID 2 操作的图像(在上面的示例中,我们有 4 个磁盘用于存储数据(0、1、2 和 3),其他三个磁盘(4、5 和 6)将用作奇偶校验磁盘)


RAID 2 的另一个示例,如使用位级条带化所述。 上图中,b1、b2、b3 是位。 E1、E2、E3 是纠错码。 您需要两组磁盘。 一组磁盘用于写入数据,另一组用于写入纠错码

2.1.5 RAID 3

我们到达了 RAID 3,就像 RAID 2 和 RAID 0 一样,它按 HD 分隔数据,但与按块分隔的 RAID 0 和按位分隔的 RAID 2 不同,RAID 3 按字节分隔,此外我们至少有1 个奇偶校验磁盘,用于数据恢复(如果需要)。 磁盘需要同步旋转才能获取数据。 顺序读写会表现良好,例如视频编辑。 随机读取和写入的性能会更差,请记住相同的数据块分布在各个 RAID 磁盘的相同部分。


该图展示了 RAID 3 的操作,在字节级别执行条带化。 上图中,B1、B2、B3 是字节(用于数据的磁盘)。 p1、p2、p3 是奇偶校验(奇偶校验独占磁盘)。


RAID 3 的另一个示例,请注意,我们再次拥有专用于数据的磁盘(0、1 和 2)以及专用于奇偶校验的磁盘 (3)。

2.1.6 RAID 4

现在可以提供另一种类型的 RAID,即 RAID 4,它遵循与前两种 RAID 2 和 3 非常相似的模型。与前身 2 不同,它不会在位或字节级别执行数据分区/条带化,并且是,在块级别等于 RAID 0。 除了条带化事实之外,其他一切都与 RAID 3 类似,我们将有一些专用的数据磁盘和一个保留的奇偶校验磁盘。 每当数据写入磁盘时,在发出任何写入请求之前,必须重新计算新的奇偶校验数据并将其写入相应的奇偶校验磁盘。 由于这些读写操作,奇偶校验磁盘是整体矢量性能的限制因素。


该图展示了 RAID 4 的操作,请注意条带化是以块为单位的。 在上图中,磁盘 1、2 和 3 用于数据,磁盘 4 用于奇偶校验。


RAID 4 示例与上面的示例非常相似

2.1.7 RAID 5

这里我们到达的 RAID 级别旨在解决 RAID 4 的一些问题,其中奇偶校验磁盘是一个轻微的瓶颈。 与 RAID 4 一样,RAID 5 将数据划分为块,但与 RAID 4 不同的是,RAID 4 有一个专用于奇偶校验的磁盘,RAID 5 最终将奇偶校验信息分布在同一 RAID 中的所有磁盘上。 这是一个非常好的因素,因为如果一个磁盘发生故障,可以将另一个磁盘放在其位置上,并使用其他磁盘上的奇偶校验数据通过重建过程进行重建。 另一方面,此过程并不是最快的过程,此外,在此恢复过程中另一个磁盘可能会发生故障,并且此数据将永久丢失。


该图展示了 RAID 5 的操作,请注意,所有 HD 都已保存数据(A1、B2 等),但具有奇偶校验部分(Dp、Cp​、Bp 和 Ap)

2.1.8 RAID 50

正如我们的 RAID 模型基本上是其他两种 RAID(例如 RAID 01 和 RAID 10)的组合,我们也有 RAID 50。正如我们已经想象的那样,这种类型的 RAID 是使用奇偶校验的 RAID 5 的组合。与 RAID 0 结合使用,使用数据分段并将一组 HD 视为单个逻辑存储单元。 这种组合由于RAID 5提供了良好的容错能力、高吞吐量,但维护和扩展成本较高。


该图展示了 RAID 50 模型的工作原理

2.1.9 RAID 6

最后我们得到了 RAID 6,与之前的 RAID 5 非常相似,它按块进行条带化,奇偶校验数据也分布在所有磁盘之间,但与 RAID 5 不同,RAID 6 为每个块创建两个奇偶校验块。数据,从而能够处理两个磁盘故障,这在上述 RAID 中更为复杂。 这种类型的RAID带来了更多的信心和容错能力,因为在RAID 5中如果2个磁盘发生故障,数据恢复会复杂得多,现在在RAID 6中它可以以更平滑的方式支持2个磁盘的故障,但它有与 RAID 5 相同的问题,由于奇偶校验计算,同样的问题最终会稍微干扰磁盘上的写入性能,同样的问题也发生在 RAID 6 中,并且以更严重的方式出现,因为这里我们将奇偶校验数据写入 2 个席位而不是只有 1 个。


该图展示了 RAID 6 的操作,请注意,对于每个磁盘条带,我们都有一些数据块(A、B、C 等)和一些奇偶校验块(p1、p2、p3 等)。


3 - 方法程序

对于本文的理论基础,我们主要通过论文、专着和学术文章来收集信息,主要是 David A. Patterson、Garth Gibson 和 Randy H. Katz 的原创文章,其中更深入地讨论了什么是 RAID,类型等 我们文章的更多技术细节是通过前面提到的这些方式收集的,但我们还通过博客、大学网站和谈论 RAID 和/或与之相关的某些主题的视频收集了其他详细信息。 总之,我们的推理是基于对文章、论文和其他涉及本文提出的主题的手段的在线研究。


4 - 结果和讨论

基本上,我们可以得出的结果和讨论是,RAID 是保护数据和/或执行读写操作的好方法,尽管我们已经看到,由于某些原因,某些 RAID 选项的实施成本往往更高。特征。 这种类型的实施,在一般 RAID 的情况下,对于公司、企业和许多其他情况来说非常有利,对于普通用户的一些特定情况,唯一必须考虑的是您的需求,如果您想要最重要的是性能,如果您想要容错和数据安全,或者如果您喜欢两者之间的中间立场,那么在决定最好构建哪种 RAID 模型时必须考虑这些变量和其他变量,以便您可以拥有更多有效利用存储、成本并满足您作为企业或普通用户的需求。


5 - 结论

根据所进行的研究以及本文提出的主题,我们认为本文开头所描述的目标可能已经达到,即我们了解了 RAID 出现的原因,什么是 RAID,什么是 RAID。我们目前拥有的 RAID 类型以及每种类型的特点是什么。 我们还可以理解,在商业环境中,RAID 对于提高存储系统的效率,尤其是安全性和容错能力来说,可能几乎是必不可少的,这可能是影响最大的领域,因为公司存储的重要数据量RAID 的出现正是为了解决这个问题,正如已经提到的,而对于普通用户来说,RAID 的使用变得更加局限于有某些特定需求和更多知识加深的人,也许并非如此展示。 研究重点是了解 RAID 在公司日常工作中的使用情况,以及衡量特定城市中因 HD 故障而出现数据丢失问题的公司的百分比RAID 的使用被证明是非常有用的,甚至是与 RAID、其用途、类型等相关的其他主题。 它们对于更好地理解此类主题无疑非常有用。

展开阅读全文

页面更新:2024-05-23

标签:类型   条带   组合   奇偶   冗余   起源   磁盘   故障   性能   操作   基础   数据

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top