4

我有一个 3x3TB 的团队,它决定在我计划扩大团队的那一天开始重新同步。这是几天前的事情,重新同步尚未完成。它没有完成的原因是因为无论出于何种原因,机器硬停顿(完全无响应)似乎是随机的。因此,由于我找不到突然随机挂起的原因,我想至少给我的团队一个重建的机会。我已经读过,如果我启用位图,那么它可以在崩溃时恢复重新同步,而不是从 0% 开始。

我试过了:

 checkarray -x /dev/md0

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

接下来我尝试了这个:

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

该文件中的文本立即更改回“重新同步”。

问题:

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

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

但是当我发出这个命令时,raid 不能重新同步。

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

4

2 回答 2

4

实际上这是可能的,您可以失败并移除执行重新同步的设备,将内部位图添加到阵列,然后将设备添加回来,只需确保在拧入阵列之前检查所有设备是否正常。这就是我在这样一种情况下所做的:

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

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

于 2016-06-16T16:27:28.097 回答
2

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

于 2013-04-19T09:13:39.583 回答