更新时间:2024-06-21 GMT+08:00
删除挂载了云存储的Pod时提示target is busy
现象描述
在删除Pod时一直处于Terminating状态,通过节点上的/var/log/cce/kubernetes/kubelet.log路径查询kubelet日志,出现以下错误提示:
...unmount failed: exit status 32...Output: umount: <mount-path>: target is busy
问题根因
出现以上问题的原因是宿主机上有其他进程正在使用该设备。
解决方法
您需要登录到Pod所在宿主机上查找正在使用该设备的进程,并终止对应的进程。
- 登录Pod所在节点。
- 执行以下命令,找到对应挂载路径下的云存储设备,其中<mount-path>为错误信息中显示的挂载路径。
mount | grep <mount-path>
回显示例如下:
/dev/sdatest on <mount-path> type ext4 (rw,relatime)
- 执行以下命令,找到使用块设备的进程ID。
fuser -mv /dev/sdatest
- 终止对应的进程。
fuser -kmv /dev/sdatest
进程终止后,云存储会被自动卸载,Pod会被继续删除。