我正在尝试卸载不再需要的备份文件系统。当我运行“umount”命令时,系统提示:
umount: /backup: target is busy
以下命令不起作用,并且同样的原因(忙碌)返回给我:
fuser -cuk /backup
fuser -k -9 /backup
umount -f /backup
mount -o remount /backup; umount /backup
和
lsof |grep /backup | grep -v "backup.log"
命令已经不返回任何内容。(grep -v 是因为忽略 backup.log 文件。如果我错了我可以更改。)
为什么我无法卸载该文件系统以及我该怎么办?
编辑:
这些是我尝试过的命令及其输出:
myserver:~ # fuser -cuk /backup
myserver:~ # fuser -k -9 /backup
myserver:~ # umount -f /backup
umount: /backup: target is busy
(In some cases useful info about processes that
use the device is found by lsof(8) or fuser(1).)
myserver:~ # mount -o remount /backup; umount /backup
umount: /backup: target is busy
(In some cases useful info about processes that
use the device is found by lsof(8) or fuser(1).)
myserver:~ #
操作系统版本:
myserver:~ # cat /etc/os-release
NAME="SLES_SAP"
VERSION="12-SP2"
VERSION_ID="12.2"
PRETTY_NAME="SUSE Linux Enterprise Server for SAP Applications 12 SP2"
ID="sles_sap"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:suse:sles_sap:12:sp2"
当我使用“iostat”命令检查 I/O 时,我看到安装到该文件系统的物理磁盘(/dev/sdx)有读取但没有写入。
已挂载列表:
myserver:~ # mount | grep backup
/dev/mapper/vgbackup-lvbackup on /backup type xfs (rw,relatime,attr2,inode64,noquota)
答案1
Linux & Unix SE 上有这个问题:umount:设备忙。为什么?
一些答案:
似乎导致我的问题的原因是
nfs-kernel-server
正在导出目录。nfs-kernel-server
可能位于正常打开文件的后面,因此未在lsof
和中列出fuser
。当我停下来时,
nfs-kernel-server
我可以看到umount
目录。刚才出现此问题的原因是过时的环回挂载。我已经检查了 和 的输出,
fuser -vm <mountpoint>/lsof +D <mountpoint>
检查了是否有一些旧的 nfs-kernel-server 正在运行,关闭了配额,尝试了(但失败了)并且几乎放弃了 924 天的正常运行时间,最后才检查了 的输出并找到了两个过时的已配置但未挂载的环回mount
cat /proc/mounts
umount -f <mountpoint>
losetup
对我来说,有问题的进程是一个在 chroot 中运行的守护进程。因为它在 chroot 中,
lsof
所以fuser
找不到它。如果您怀疑在 chroot 中仍有某些程序在运行,
sudo ls -l /proc/*/root | grep chroot
请找到罪魁祸首(将“chroot”替换为 chroot 的路径)。匿名 inode
[…]
这是最难以捉摸的神奇宝贝类型,并出现在
lsof
的TYPE
列中a_inode
(在手册页中没有记录lsof
)。它们不会出现在 中
lsof +f -- /dev/<device>
,因此您需要:lsof | grep a_inode