linux下强行umount卸载设备
线上在用的nfs访问时出了问题,导致/data1目录ls都无法进行输出,需要进行卸载掉 。而直接卸载时由于目录正被其他进程占用 ,无法直接umount,这里就结合fuser进行umount卸载。
1、直接卸载
1[root@localhost /]# umount /data1/img
2umount: /data1/img: device is busy
3umount: /data1/img: device is busy
2、提示被占用,使用强制卸载
1[root@localhost /]# umount -f /data1/img
2umount2: Device or resource busy
3umount: /data1/img: device is busy
4umount2: Device or resource busy
5umount: /data1/img: device is busy
注:使用-f 参数进行强制卸载时一般建议等一会儿再进行下面的操作,一些情况下处理需要1-2分钟的时间。
3、使用umount -f,问题依旧。使用fuser命令,先确认有那些进程在占用该目录
1root@localhost /]# fuser -cu /data1/img
2/data1/img: 1757c(mysql)
上面查看发现是pid为1757的mysql用户起的进程在占用该目录。
4、确认mysql所起的进程可以kill 后,可以直接使用fuser 的k参数进行kill (也可以手动停掉1757进程再卸载)
1[root@localhost /]# fuser -ck /data1/img
2/data1/img: 1757c
注:这里k 就是kill的意思,注意没进行确认前要谨慎使用该参数。另外,umount异常时,也经常会用到 lsof 指定确认文件被什么进程占用。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/force-umount-nfs/4034.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.