小编Par*_*oid的帖子

尝试停止检查时 mdcheck 挂起

我有一个 raid5 阵列,每月对其运行一次检查。经过配置,检查从 01:00 开始运行 6 小时,然后停止。接下来的晚上,它将继续检查 6 个小时,直到完成。

我遇到的问题是,有时当 mdcheck 尝试停止检查运行时,它会挂起。一旦发生这种情况,您可以从数组中读取数据,但任何写入尝试都会导致进程挂起。

数组状态如下:

 md0 : active raid5 sdb1[4] sdc1[2] sdd1[5] sde1[1]
      8790398976 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]
      [========>............]  check = 44.2% (1296999956/2930132992) finish=216065.8min speed=125K/sec
      bitmap: 0/6 pages [0KB], 262144KB chunk

Run Code Online (Sandbox Code Playgroud)

永远check = 44.2% (1296999956/2930132992)不会前进或停止。

/usr/share/mdadm/mdcheck脚本中可以看出,每 2 分钟,直到结束时间,它都会读取/sys/block/md0/md/sync_completed该位置并将其保存在存储在目录中的文件中/var/lib/mdcheck/。在该目录中查看该文件,该文件的日期为停止前 2 分钟,值为2588437040. sync_completed的当前值2593999912表示一切在停止前 2 分钟仍在工作。

运行lsofmdcheck进程会发现以下内容:

 mdcheck 23887 root    1w …
Run Code Online (Sandbox Code Playgroud)

linux raid opensuse mdadm raid5

6
推荐指数
1
解决办法
2421
查看次数

标签 统计

linux ×1

mdadm ×1

opensuse ×1

raid ×1

raid5 ×1