强制Umount NFS终极手法

当Umount一个目录时,提示device is busy,umount加参数f,是强制执行umount,但是许多时候均不会成功。 
原理上要想umount,首先要kill正在使用这个目录的进程。*假设无法卸载的设备为/dev/sdb1 
1)运行下面命令看一下哪个用户哪个进程占用着此设备 
fuser -m -v /dev/sdb1

2)运行下面命令杀掉占用此设备的进程 
fuser -m -v -k /dev/sdb1 
或者fuser -m -v -k -i  /dev/sdb1(每杀掉一下进程会让你确认) 
3)再umount

*杀掉所有以任何形式访问文件系统 /dev/sdb1的进程: 
$fuser -km /dev/sdb1 
这个办法是一个比较粗鲁的办法,通常适用于在测试等非正式环境。比较正规的要配合ps等命令,查出使用的用户、进程、命令等,然后做出综合判断,必要时先通知(signal或口头等)用户,确认安全时才可以强制kill此进程。 
但有时fuser执行时,仍然会有报错,其实umount强制退出,可以考虑用参数l(Lazy),这个参数是比f(Force)更强大的终极命令。 

今天即使用了一下参数l,确实很强大!


Man Umount 查看f和l的参数说明如下: 
-f     Force  unmount.  This  allows  an  NFS-mounted  filesystem  to be unmounted if the NFS server is unreachable. Note: when using umount -f on an NFS filesystem, the 
              filesystem must be mounted using either the soft, or intr options (see nfs(5).  This option  will  not  force  unmount  a  <A1><AE>busy<A1><AF>  filesystem  (use  -l 
  instead). 
              (Requires kernel 2.1.116 or later.)

       -l     Lazy unmount. Detach the filesystem from the filesystem hierarchy now, and cleanup all references to the filesystem as soon as it is not busy anymore. This option 
              allows a <A1><AE>busy<A1><AF> filesystem to be unmounted.  (Requires kernel 2.4.11 or later.) 
本次操作过程如下: 
[root@FUHOST /]# umount /home/swebapp/apache-tomcat-5.5.17/webapps/upload/ 
umount: /home/swebapp/apache-tomcat-5.5.17/webapps/upload: device is busy 
umount: /home/swebapp/apache-tomcat-5.5.17/webapps/upload: device is busy

[root@FJ-WEB-02 sbin]# umount -f /home/swebapp/apache-tomcat-5.5.17/webapps/upload/ 
umount2: 设备或资源忙 
umount: /home/swebapp/apache-tomcat-5.5.17/webapps/upload: device is busy 
umount2: 设备或资源忙 
umount: /home/swebapp/apache-tomcat-5.5.17/webapps/upload: device is busy

[root@FJ-WEB-02 sbin]# fuser -km  /home/swebapp/apache-tomcat-5.5.17/webapps/upload/ 
/home/swebapp/apache-tomcat-5.5.17/webapps/upload/: 输入/输出错误

[root@FJ-WEB-02 sbin]# fuser -um  /home/swebapp/apache-tomcat-5.5.17/webapps/upload/ 
/home/swebapp/apache-tomcat-5.5.17/webapps/upload/: 输入/输出错误

[root@FJ-WEB-02 upload]# umount -l /home/swebapp/apache-tomcat-5.5.17/webapps/upload/


上一篇:ethtool --offload


下一篇:查看网卡是百兆还是千兆