Unmount busy filesystem

0

I'm trying to unmount a backup filesystem that I don't need anymore. When I run the "umount" command, system says:

umount: /backup: target is busy

And following commands does not work and same reason (busy) returns to me:

fuser -cuk /backup
fuser -k -9 /backup
umount -f /backup
mount -o remount /backup; umount /backup

and

lsof |grep /backup | grep -v "backup.log"

command returns nothing already. (grep -v is because ignore backup.log files. If I'm wrong I can change.)

Why I cannot umount this filesystem and how can I do?


Edit:

Commands those are I tried and outputs of them:

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:~ #

OS Version:

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"

And when I check the I/O with "iostat" command I see the physical disk (/dev/sdx) that mounted to this filesystem, there are reading but no writing.

Mounted list:

myserver:~ # mount | grep backup
/dev/mapper/vgbackup-lvbackup on /backup type xfs (rw,relatime,attr2,inode64,noquota)

Gefolge

Posted 2018-12-24T08:26:00.140

Reputation: 555

yes. none of them works. How can I check respawned processes? If there is one of them, how can't I see this processes or open files? It's so weird. – Gefolge – 2018-12-24T10:23:40.200

One thing that doesn't show in lsof is mount points. So, if you have mounted something to a directory in that filesystem, or mounted a file from that FS somewhere else (mount -o loop ...) they won't show in lsof but prevent umounting. – xenoid – 2018-12-24T10:36:01.963

I cannot see anything that mounted to /backup or under of /backup at neither fstab nor df -h command. – Gefolge – 2018-12-24T10:52:31.043

my question format has been broken :) it doesn't show code blocks. I'm so lucky today. (ok that was my fault. i fixed it.) – Gefolge – 2018-12-24T11:08:55.157

Answers

3

There's this question on Linux & Unix SE: umount: device is busy. Why?

Few answers:

  1. It seems the cause for my issue was the nfs-kernel-server was exporting the directory. The nfs-kernel-server probably goes behind the normal open files and thus is not listed by lsof and fuser.

    When I stopped the nfs-kernel-server I could umount the directory.

  2. the cause for my manifestation of this problem just now was a stale loopback mount. I'd already checked the output of fuser -vm <mountpoint>/lsof +D <mountpoint>, mount and cat /proc/mounts, checked whether some old nfs-kernel-server was running, turned off quotas, attempted (but failed) a umount -f <mountpoint> and all but resigned myself to abandoning 924 days' uptime before finally checking the output of losetup and finding two stale configured-but-not-mounted loopbacks

  3. For me, the offending process was a daemon running in a chroot. Because it was in a chroot, lsof and fuser wouldn't find it.

    If you suspect you have something left running in a chroot, sudo ls -l /proc/*/root | grep chroot will find the culprit (replace "chroot" with the path to the chroot).

  4. Anonymous inodes

    […]

    These are the most elusive type of pokemon, and appear in lsof's TYPE column as a_inode (which is undocumented in the lsof man page).

    They won't appear in lsof +f -- /dev/<device>, so you'll need to:

    lsof | grep a_inode
    

Kamil Maciorowski

Posted 2018-12-24T08:26:00.140

Reputation: 38 429