Linux umount的device is busy问题

现象:

[root@dbserver ~]# df -h
文件系统 容量 已用 可用 已用%% 挂载点
/dev/vda1 9.9G 3.9G 5.6G 41% /
tmpfs 3.9G 100K 3.9G 1% /dev/shm
/dev/sr0 368K 368K 0 100% /media/CDROM
/dev/vdb 197G 5.9G 181G 4% /mnt

[root@dbserver /]# umount /dev/vdb
umount: /mnt: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))

原因:

其他进程可能在使用/mnt目录。

 

解决办法:

关闭使用该目录的进程,然后再umount。

[root@dbserver /]# fuser -m /dev/vdb
/dev/vdb: 3052c

[root@dbserver /]# ps aux |grep 3052
root 2218 0.0 0.0 163052 1648 ? Sl 10:30 0:00 gnome-keyring-daemon --start
root 3052 0.0 0.0 108328 1732 pts/1 Ss+ 11:12 0:00 -bash

root 3448 0.0 0.0 6384 708 pts/5 S+ 12:59 0:00 grep 3052

[root@dbserver /]# kill -9 3052
[root@dbserver /]# ps aux |grep 3052
root 2218 0.0 0.0 163052 1648 ? Sl 10:30 0:00 gnome-keyring-daemon --start
root 3453 0.0 0.0 6384 704 pts/5 S+ 13:00 0:00 grep 3052
[root@dbserver /]#

[root@dbserver /]# umount /dev/vdb
[root@dbserver /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 9.9G 1.4G 8.0G 15% /
tmpfs 3.9G 100K 3.9G 1% /dev/shm
/dev/sr0 368K 368K 0 100% /media/CDROM

-------------------------------------------------------------------------------------------------------------------------------------------------------------------

另一种解决方案====>

这种问题解决方案:

一、查找使用这个文件的进程和命令,具体的操作代码

[root@localhost ~]# lsof |grep /mnt/net1
lsof: WARNING: can't stat() cifs file system /mnt/net1
      Output information may be incomplete.
bash      18841      root  cwd   unknown                                            /mnt/net1/TDDOWNLOAD/软件 (stat: No such device)

二、然后执行ps命令可以查找执行此进程的命令

[root@localhost ~]# ps -ef|grep 18841
root     18841 18839  0 Nov29 pts/2    00:00:00 /bin/bash -l
root     29496 25604  0 16:26 pts/0    00:00:00 grep 18841

三、强行结束无关进程

[root@localhost ~]# kill -9 18841

四、然后卸载相关挂载

[root@localhost ~]# umount /mnt/net1

五、然后可以在功过mount命令进行查看。

你可能感兴趣的:(device)