为什么使用 mdadm 会收到 DegradedArray 事件

5 linux raid mdadm software-raid raid5

只是为了让我们清楚发生了什么:

  • 我买了 4 个新的 sata 2 驱动器,打算在 raid5 中使用它们
  • 所有驱动器都被我的 bios 和我的 linux box (gentoo) 完全识别
  • 我创建了一个 raid5 数组,对它进行了一些修改以了解它是如何工作的、如何监控等。
  • 在某些时候,即使阵列是全新的,这也会触发降级阵列事件。我尝试停止阵列并使用相同的驱动器重新创建新阵列,但新阵列也开始降级。

这是我用来创建它的内容:

mdadm --create -l5 -n4 /dev/md/md0-r5 /dev/sdb /dev/sdd /dev/sde /dev/sdf
Run Code Online (Sandbox Code Playgroud)

这是我的 /proc/mdstat 和的输出mdadm --detail --scan

**mdstat**

Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md127 : active raid5 sdf[4] sde[2] sdd[1] sdb[0]
      4395415488 blocks level 5, 64k chunk, algorithm 2 [4/3] [UUU_]
      [>....................]  recovery =  2.8% (41689732/1465138496) finish=890.3min speed=26645K/sec

unused devices: <none>

**detail**

ARRAY /dev/md/md0-r5 metadata=0.90 spares=1 UUID=453e2833:81f22a74:64188b84:66721085
Run Code Online (Sandbox Code Playgroud)

因此,我有几个问题:

  • raid5 阵列一开始总是以降级模式启动吗?
  • 为什么 sdf 在括号之间有数字 4 而不是 3,为什么它看到一个备用磁盘,为什么第 4 个驱动器标有 _ 而不是 U ?(糟糕的配置?)
  • 如何从头开始重新创建阵列,在重新创建之前是否必须自行格式化每个驱动器?

感谢您的帮助,我不确定我现在应该做什么。

Ted*_*ddy 7

  • raid5 阵列一开始总是以降级模式启动吗?

是的。至少,它对我来说总是如此。这说得通; 要使任何一个磁盘能够发生故障,必须同步这些磁盘。这将涉及写入相当于整个磁盘的数据,这将需要一段时间。在此完成之前,该阵列被视为“降级”。

更新:从mdadm手册:

创建 RAID5 阵列时,mdadm 将自动创建一个带有额外备用驱动器的降级阵列。这是因为将备件构建到降级阵列中通常比在未降级但不干净的阵列上重新同步奇偶校验更快。可以使用该--force选项覆盖此功能。