md_sync_action

停止

我在 raid-check 遇到了 [md10_resync] 的系统进程影响服务器的IO,我在排查过程中发现这个系统进程是始终陷入 D 状态的(正常,在等待整个 md 设备完成同步,这是一个漫长的过程)。由于 D 状态进程是无法接收信号的,所以不管怎么使用 kill -9 都无法停止这个 [md10_resync] 系统进程。那么就无法停止么?

显然不是

  • 检查当前状态:

获取当前MD设备的同步动作
cat /sys/block/md10/md/sync_action

由于当前正在运行 raid-check ,所以看到输出的 action 是:

check
  • 停止当前 check :

停止MD设备当前动作
echo idle > /sys/block/md10/md/sync_action

此时检查 md 设备状态 cat /proc/mdstat 输出可以看到停止了 raid-check :

停止MD设备当前动作之后 mdstat
Personalities : [raid10]
md10 : active raid10 nvme11n1p1[11] nvme10n1p1[10] nvme9n1p1[9] nvme8n1p1[8] nvme7n1p1[7] nvme6n1p1[6] nvme5n1p1[5] nvme4n1p1[4] nvme3n1p1[3] nvme2n1p1[2] nvme1n1p1[1] nvme0n1p1[0]
      22499205120 blocks super 1.2 512K chunks 2 near-copies [12/12] [UUUUUUUUUUUU]
      bitmap: 0/168 pages [0KB], 65536KB chunk

unused devices: <none>