Contents
  1. 1. 环境
  2. 2. 问题和故障
  3. 3. 总结

环境

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

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

1
2
3
4
问题:
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
1
2
lsof /data
如果发现有被打开的文件,就手动删掉相关进程
  • 方案二、fuser
1
2
3
fuser /data
大致的方案也是一样,就是找到使用相关分区的进程,找到后删掉即可

没错,大部分device is busy的问题,通过以上两种方案就基本可以解决。
当然,这里介绍的是一种特殊的问题,当然通过以上方法肯定是解决不了的咯。

问题和故障

1
2
3
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 无解

继续查看相关信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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有没有?

1
2
3
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
其次,如果还么有解决问题,可以看看这个目录是否有软链接和硬链接

Contents
  1. 1. 环境
  2. 2. 问题和故障
  3. 3. 总结

幸福,不在于得到的多

而在于计较的少