为什么 Raid 10 比 Raid 01 更好?

为什么 Raid 10 比 Raid 01 更好?

在我看来,从性能角度来看,它们是相同的,不是吗?

也就是说,如果我们将 1GB 的文件写入 Raid 10 或 Raid 01,那么我们会让每个驱动器写入 500MB 的数据,因此无论哪种情况,速度都会提高。

它只是为了容错以及控制器是如何设计的吗?

例如,如果总共有 4 个驱动器,并且驱动器 1 发生故障:

  1. 在 Raid 10 中,那么 3 个驱动器仍将为您努力工作。当驱动器 1 在镜像情况下发生故障时,驱动器 2 仍将继续努力工作。驱动器 3 和 4 也在努力工作。只有 25% 的设置发生故障。
  2. 在 Raid 01 中,现在只有 2 个驱动器为您努力工作(驱动器 3 和 4)。事实上,您不妨关闭驱动器 1 和驱动器 2,因为按照设计方式,控制器不会像写入驱动器 4 那样将部分数据写入驱动器 2。驱动器 1 和 2 不会同时使用。50% 的设置已关闭。

在 12 个驱动器的情况下,这种情况更加明显。如果驱动器 1 发生故障:

  1. 在 Raid 10 中,11 个驱动器仍将为您工作。91.66% 的设置仍然正常运行。
  2. 在 Raid 01 中,6 个驱动器将同时停止运行。同样,50% 的设置已关闭。

请注意,Raid 1(镜像)的设计方式如下:如果一个驱动器发生故障,它将保持与剩余驱动器的繁忙状态。在 Raid 0(条带化)中,如果一个驱动器发生故障,则整个系列的驱动器都将停止工作。

想象一下,如果轨道 01 中的驱动器 1 发生故障,您需要等待 5 天才能获得新的驱动器进行重建。如果在这 5 天内,驱动器 7 - 12 中的任何一个发生故障,那么您的系统就会处于非常糟糕的状态。因为驱动器 7 - 12 不断更改其内容。如果驱动器 12 发生故障,您可以使用驱动器 6 来替代它吗?您不能,因为驱动器 12 和 6 已经不同了。

但是如果是 Raid 10,并且驱动器 1 发生故障,并且在这 5 天内您要等待新驱动器,如果驱动器 3 - 12 发生故障,那就没问题。您仍然拥有一切。只有驱动器 2 发生故障时系统才会处于不良状态,这种情况发生的可能性比驱动器 7 - 12 中的任何一个发生故障的可能性都要小。

实际上,如果在 Raid 01 中,5 天甚至仅仅一天后重建时,我们是否必须重建驱动器 1 至 6,因为驱动器 7 - 12 已经发生了足够多的变化,因此驱动器 2 至 6 也不同步?在 Raid 10 中,仅需要重建一个驱动器。

就是因为这个原因吗?性能方面都一样。容错性才是 Raid 10 优于 Raid 01 的关键因素?

答案1

很简单:没有理由选择 RAID01(又名 RAID0+1)而不是 RAID10(又名 RAID1+0)。

对于相同数量的磁盘,两种类型的 RAID 的性能相同。两种类型的 RAID 具有相似的读取和写入速度,由于镜像,“写入惩罚”为 2。也就是说,如果仅从需要进行的 I/O 操作数量来看,写入阵列的速度(理论上)比读取速度慢两倍。请参阅:了解 RAID 性能

存储效率相同。两种 RAID 类型的有用容量均为原始存储容量的一半。

但是,RAID01 的冗余度要差得多。

考虑一个磁盘发生故障:

  • 对于 RAID01,如果一个磁盘损坏,您将失去一半阵列的冗余,即,另一个(镜像)条带中的一个额外磁盘故障将导致整个阵列瘫痪。

  • 对于 RAID10,组成条带的 RAID1 集只有一个会失去冗余,但组成 RAID10 条带的所有其他 RAID1 集仍然是冗余的。

阵列中的磁盘越多,冗余量的差异就会越大。

答案2

我想我明白了,并且可以提供一个简单的答案:

如果一个硬盘出现故障怎么办?

  1. 如果是 Raid 01,即 Raid 0 + 1,则首先剥离数据,然后镜像。因此磁盘 1、2 剥离了数据,并镜像到磁盘 3 和 4。现在,如果磁盘 3 发生故障,则磁盘 3 和 4 会一起发生故障,因为它们作为一个整体工作。现在,唯一可用的磁盘是磁盘 1 和 2。因此,我们有 2 个驱动器可供使用。

  2. 如果是 Raid 10,即 Raid 1 + 0,则首先进行镜像,然后剥离。因此磁盘 1 和 2 是镜像的。但文件会跨磁盘 1 和 2 以及磁盘 3 和 4 剥离。现在,如果磁盘 3 发生故障,磁盘 1 和 2 仍可工作,磁盘 4 仍可工作(因为它是镜像),因此我们有 3 个硬盘在工作。

因此在上述情况下,当 1 个驱动器发生故障时,在 Raid 01 中,50% 的系统会瘫痪,但在 Raid 10 中,只有 25% 的系统会瘫痪。

整个系统将如何失效?

  1. Raid 01:磁盘 3 发生故障,现在,如果磁盘 1或者磁盘 2 发生故障,现在整个系统都发生故障。

  2. Raid 10:磁盘 3 出现故障,现在仅有的如果磁盘 4 发生故障,则整个系统都会发生故障。如果磁盘 1或者磁盘 2 发生故障,没关系,系统仍可运行。(例如,假设磁盘 2 和磁盘 3 没有问题,则磁盘 2 和磁盘 3 本身仍可提供所有文件)。

相关内容