MDADM暂停Raid重新同步以启用位图

时间:2012-12-12 20:17:46

标签: linux ubuntu raid

我有一个3x3TB Raid决定在我计划进行突袭的那天开始重新同步。这是几天前,重新同步尚未完成。它没有完成的原因是因为无论出于什么原因机器硬停止(完全没有反应)看似随机。所以,由于我无法找到突然随机挂起的原因,我想至少让我的raid有机会重建。我已经读过,如果我启用位图,那么它可以在崩溃时恢复重新同步,而不是从0%开始。

我试过了:

 checkarray -x /dev/md0

这表示停止请求在/ dev / md0上排队,但它实际上从未停止过。

接下来我尝试了这个:

 echo "idle" > /sys/block/md0/md/sync_action

该文件中的文本会立即更改回“resync”。

问题:

我需要找到一种方法来发出这个命令:

 mdadm --grow --bitmap=internal /dev/md0

但是当我发出此命令时raid不能进行重新同步。

有没有办法在启动时启用位图?我可以启动一个实时的Linux发行版并从那里获得raid重新同步(如果硬冻结是我的Ubuntu安装)吗?

2 个答案:

答案 0 :(得分:2)

没有办法克服重新同步,在将位图放入数组之前,数组应该是干净的。

答案 1 :(得分:2)

实际上这是可能的,您可以失败并删除执行重新同步的设备,将内部位图添加到阵列然后再添加设备,只需确保在拧紧阵列之前检查所有设备是否正常。这就是我在一个这样的案例中所做的:

mdadm --manage --fail /dev/md5 /dev/sdb8
mdadm --manage --remove /dev/md5 /dev/sdb8
mdadm --grow /dev/md5 --bitmap=internal
mdadm --manage --add /dev/md5 /dev/sdb8

结果如下:

md5 : active raid10 sdb8[0] sdd8[3] sdc8[2] sda8[1]
      1731712000 blocks super 1.1 512K chunks 2 near-copies [4/3] [_UUU]
      [>....................]  recovery =  0.4% (3681152/865856000)     finish=1391.9min speed=10322K/sec
      bitmap: 8/13 pages [32KB], 65536KB chunk

当然,你最好只是等待重新同步并添加位图,以防万一你无法暂停,但如果你希望重新同步可能在它完成之前失败并且不想等待它重新同步从一开始你就是这样做的。