卸载繁忙的文件系统

卸载繁忙的文件系统

我正在尝试卸载不再需要的备份文件系统。当我运行“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:设备忙。为什么?

一些答案:

  1. 似乎导致我的问题的原因是nfs-kernel-server正在导出目录。nfs-kernel-server可能位于正常打开文件的后面,因此未在lsof和中列出fuser

    当我停下来时,nfs-kernel-server我可以看到umount目录。

  2. 刚才出现此问题的原因是过时的环回挂载。我已经检查了 和 的输出,fuser -vm <mountpoint>/lsof +D <mountpoint>检查了是否有一些旧的 nfs-kernel-server 正在运行,关闭了配额,尝试了(但失败了)并且几乎放弃了 924 天的正常运行时间,最后才检查了 的输出并找到了两个过时的已配置但未挂载的环回mountcat /proc/mountsumount -f <mountpoint>losetup

  3. 对我来说,有问题的进程是一个在 chroot 中运行的守护进程。因为它在 chroot 中,lsof所以fuser找不到它。

    如果您怀疑在 chroot 中仍有某些程序在运行,sudo ls -l /proc/*/root | grep chroot请找到罪魁祸首(将“chroot”替换为 chroot 的路径)。

  4. 匿名 inode

    […]

    这是最难以捉摸的神奇宝贝类型,并出现在lsofTYPE列中a_inode(在手册页中没有记录lsof)。

    它们不会出现在 中lsof +f -- /dev/<device>,因此您需要:

    lsof | grep a_inode
    

相关内容