[Linux-cluster] umount failed - device is busy
Herta Van den Eynde
herta.vandeneynde at cc.kuleuven.be
Tue Oct 11 15:48:29 UTC 2005
Lon Hohberger wrote:
> On Mon, 2005-10-10 at 23:22 +0200, Herta Van den Eynde wrote:
>
>
>>>Odd. Well, "umount -f" actually doesn't do what most people think it
>>>does.
>
>
>>FWIIW, I don't think the force unmount works. True, lsof/fuser don't
>>report processes against the filesystem, but "df" and "mount" show that
>> it's still there, and I can write to and read from it after I try a
>>"umount -f".
>
>
> (/me waves his hand and says, "This is not the force unmount you are
> looking for...")
>
> * "umount -f" only works for NFS-mounted file systems, and only then in
> certain cases. If there is pending I/O (e.g. processes in disk wait),
> it will not work (I may be wrong about this one, but I think this is the
> case). In any case, it does not currently do anything for local file
> systems like ext3, jfs, reiserfs, xfs, etc... If there are open
> references on any local file system, the umount fails with -EBUSY,
> regardless of whether or not "umount -f" was used.
>
> This means, if there is a process, say a bash shell, running with CWD in
> a local file system's mount point, running "umount -f" on that mount
> point will fail the same as running "umount" without the "-f" flag.
>
>
> * The "force unmount" option in Cluster Manager, by contrast, attempts
> to clear references on a locally mounted file systems by killing
> processes using those file systems. Put more clearly: it attempts to do
> what most people think "umount -f" does (or should do) in a general way.
> So, back to our example:
>
> That bash shell is sitting in the mountpoint. We look for all processes
> using the mount point, see that bash (pid 11034) is using it, and kill
> pid 11034 with signal 9 (SIGKILL). Bash certainly no longer has a
> reference on our file system ;)
>
> Now, there are no more processes using the mount point, so we issue
> "umount"... which should work. However, this is not working in your
> case. There are a couple of things which come to mind which might cause
> this:
>
> * nfsd holding a reference (which is why I asked you to stop nfs;
> "exportfs -ua" should work too).
>
> * another mounted file system below the mount point (e.g. trying to
> umount /a while another file system is mounted on /a/b).
>
> -- Lon
Thanks for all this info, Lon. I really appreciate it.
Bit of extra information: the system that was running the services got
STONITHed by the other cluster member shortly before midnight.
The services all failed over nicely, but the situation remains: if I
try to stop or relocate a service, I get a "device is busy".
I suppose that rules out an intermittent issue.
There's no mounts below mounts.
Kind regards,
Herta
Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm
More information about the Linux-cluster
mailing list