转载

device is busy

环境

CentOS release 6.6 (Final)

Linux tjtx135-2-90.58os.org 2.6.32-504.23.4.el6.x86_64 #1 SMP Tue Jun 9 20:57:37 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

关于这个问题,网上也有很多类似的问题,解决方案大致如下:

问题:
umount: /data: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
  • 方案一、losf
lsof /data
如果发现有被打开的文件,就手动删掉相关进程
  • 方案二、fuser
fuser /data

大致的方案也是一样,就是找到使用相关分区的进程,找到后删掉即可

没错,大部分device is busy的问题,通过以上两种方案就基本可以解决。

当然,这里介绍的是一种特殊的问题,当然通过以上方法肯定是解决不了的咯。

问题和故障

umount: /data: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))

解决思路:

  1. lsof /data 无解
  2. fuser /data 无解

继续查看相关信息

shell> mount
/dev/sda1 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sdb1 on /data type xfs (rw,noatime,nodiratime,osyncisdsync,inode64)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

shell> df -hT

Filesystem     Type   Size  Used Avail Use% Mounted on
/dev/sda1      ext4    99G  2.2G   92G   3% /
tmpfs          tmpfs   63G     0   63G   0% /dev/shm
/dev/sdb1      xfs     28T  6.3T   22T  23% /data

shell> ll /data

drwxr-xr-x 6 root root 142 Feb  6 16:35 FULL_BACKUP
drwxr-xr-x 4 root root  67 Feb  6 16:46 tmp

shell> ll /

lrwxrwxrwx    1 root root    10 Feb  6 16:12 tmp -> /data/tmp/

突然发现,有一个软连接指向了/data/tmp

这个突破口找到后,立马测试,将软连接去掉后,是否就可以umount了呢?

经过测试,还是会报同样的错误。

既然/tmp —> /data/tmp , 然而/data/tmp没有被打开的文件,那么看看/tmp有没有?

shell>lsof | grep /tmp
atopacctd 2974 root  cwd       DIR               8,17       55        195 /data/tmp
sshd      4634 root    7u     unix 0xffff88204f2cc200      0t0      25300 /tmp/ssh-BxMiDQ4634/agent.4634

然后将这两个进程删掉,问题解决。。。

总结

以后解决这类问题,首先看那个目录忙,就去lsof

其次,如果还么有解决问题,可以看看这个目录是否有软链接和硬链接

原文  http://keithlan.github.io/2017/02/07/umount/
正文到此结束
Loading...