Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux MDADM暂停Raid重新同步以启用位映射_Linux_Ubuntu_Raid - Fatal编程技术网

Linux MDADM暂停Raid重新同步以启用位映射

Linux MDADM暂停Raid重新同步以启用位映射,linux,ubuntu,raid,Linux,Ubuntu,Raid,我有一个3x3TB的Raid,它决定在我计划扩展Raid的那天开始重新同步。这是几天前的事,重新同步尚未完成。它没有完成的原因是,无论出于何种原因,机器硬停(完全没有响应)似乎是随机的。所以,既然我找不到突然随机挂起的原因,我想至少给我的raid一个重建的机会。我已经读到,如果我启用位映射,那么它可以在崩溃时恢复重新同步,而不是从0%开始 我试过: checkarray -x /dev/md0 这表示停止请求是/dev/md0上的队列`d,但实际上从未停止 接下来我尝试了这个: echo

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

我试过:

 checkarray -x /dev/md0
这表示停止请求是/dev/md0上的队列`d,但实际上从未停止

接下来我尝试了这个:

 echo "idle" > /sys/block/md0/md/sync_action
该文件中的文本立即更改回“重新同步”

问题是:

我需要找到发出此命令的方法:

 mdadm --grow --bitmap=internal /dev/md0
但是当我发出这个命令时,raid不能处于重新同步状态


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

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

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

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

当然,您最好等待重新同步,然后添加位图,以防无法暂停,但如果您预计重新同步可能会在完成之前失败,并且不希望从一开始就再次等待重新同步,那么您可以这样做。

此阵列上有什么?它是系统关键型文件系统(
/
/var
,等等),还是您可以暂时不用的东西?