我有一个与旧线程类似的问题,但我对100%的CPU使用率不感到困惑。
我在我的5x3TB raid-5阵列中又添加了一个磁盘(sdd1),并将其升级到raid-6,这一切都进行得很好,直到电源底板出现故障并且服务器在写入过程中崩溃。
mdadm --assemble需要一个临时文件,该文件是我在升级时指定的,并使用--assemble --temporary-file =进行了设置,它将阵列设置为活动状态并进行了整形。问题是,它正在以0K / sec的速度重新塑形,并且无法完成。
临时文件是零字节。
我有什么选择?我现在可以访问我的文件,因此,如果我可以找到7 TB的存储,则可以花几天时间复制所有内容,失败并从头开始重建阵列,但是有没有更简单的选择?
我可以使sdd1(我尝试添加的新驱动器)失败并重新启动新的5磁盘raid-5到6磁盘raid-6阵列重建吗?还是会因为实际上没有完成raid-5-> raid-6重塑而使假定的raid-6数组,但实际上大多数是raid-5受到干扰吗?
cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md127 : active raid6 sdd[0] sdb1[6] sdf[5] sde[3] sda[2] sdc[1]
11721060352 blocks super 1.2 level 6, 512k chunk, algorithm 18 [6/5] [UUUUU_]
[=>...................] reshape = 8.4% (247529472/2930265088) finish=3353419520.0min speed=0K/sec
unused devices: <none>
尝试:
echo frozen > /sys/block/md127/md/sync_action
echo reshape > /sys/block/md127/md/sync_action
此时,您的RAID-6可能会降级(/dev/sdd
缺少),因此:
watch cat /proc/mdstat
并密切注意它,直到没有重新同步或重塑活动为止。mdadm --add /dev/md127 /dev/sdd
watch cat /proc/mdstat
再次运行。这样可以使重塑以适当的速度运行。
顺便说一句,在运行cat /proc/mdstat
通过watch
每2秒不应该是一个显著的CPU负载,但你可能并不需要那将运行几个小时的东西2秒更新。每10或30秒更新一次就足够了,例如,watch -n 30 cat /proc/mdstat
在上面的步骤3中使用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句