使用空驱动器进行 mdadm RAID 快速设置?

Pau*_*aul 10 raid software-raid mdadm

我正在使用 mdadm 将一些 RAID5 磁盘重新创建为 RAID6。我关心的驱动器上没有数据。

设置 RAID 需要一段时间来设置形状 - 我接受当有数据需要条带化并计算奇偶校验时,但是对于这些驱动器,它们是空的 - 或者至少我希望它们被视为空。

那么有没有一种方法可以跳过奇偶校验计算并告诉 mdadm 只设置超级块并完成,否则,当没有数据可以移动时,它到底花费了这么多时间吗?

md3 : active raid6 sdf3[5] sde3[4] sdd3[3] sdc7[2] sdb3[1] sda3[0]
      1953114112 blocks super 1.2 level 6, 512k chunk, algorithm 2 [6/6] [UUUUUU]
      [>....................]  resync =  1.3% (6790144/488278528) finish=409.3min speed=19604K/sec
Run Code Online (Sandbox Code Playgroud)

请注意,我不是在谈论--assume-clean从包含您知道正确的 RAID 阵列的预先存在的一组磁盘重建阵列的位置。我说的是一个应该被认为是空的数组,而不是被认为是正确的条带化。

因此,为了这个问题,让我们说设备已经预先填充了零。

psu*_*usi 9

您可以使用,--assume-clean但除非您使用的是 raid5(而不是 raid6)并且磁盘实际上全是零,否则第一次运行奇偶校验时,它会出现需要更正的错误,因此您不应该这样做。您无需等待重新同步完成即可开始使用阵列;它会在后台运行,直到完成。

  • @Paul,嗯……是的,确实如此。没有“空”这样的东西,只有同步或不同步。 (2认同)
  • @Paul,再一次,没有“空”这样的东西。通常是的,从未写入的条带上的奇偶校验是错误的并不重要,这就是为什么您可以使用 --assume-clean 逃脱,即使磁盘没有充满零,但错误的奇偶校验会当 mdadm 进行奇偶校验时被检测和纠正。 (2认同)
  • @Paul,“空”的含义没有明确定义。大多数人使用它来表示他们没有在设备上放置任何文件或文件系统,并且不知道或不关心它当前包含的内容。如果您知道磁盘全是零,那么 --assume-clean 就是您想要的。你会相信磁盘都被清零并且不重新计算奇偶校验,正如你提到的,零奇偶校验对于全零的数据磁盘是正确的,至少对于 raid5 (不是对于 raid6 )。 (2认同)