umount.nfs: XXX: device is busy

本文介绍了当NFS server IP发生变化或宕机时,客户端umount遇到“deviceisbusy”的解决办法。首先通过强制umount命令使文件系统脱离层级结构,然后找出并结束占用资源的进程,最后可以顺利完成NFS的重新挂载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用NFS 过程中,由于NFS server IP变化,或者NFS server宕机等原因,客户端umount经常会遇到问题,无法卸载NFS:

umount.nfs:   XXX:  device is busy”

例如

$ umount /home/lanyang/nfs_mount
umount.nfs: /home/lanyang/nfs_mount: device is busy
umount.nfs: /home/lanyang/nfs_mount: device is busy

查看mount挂载情况,可以看到有NFS过载

$ cat /proc/mounts 
rootfs / rootfs rw 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,seclabel,relatime 0 0
……
192.168.112.2:/d/work /home/lanyang/nfs_mount nfs rw,sync,relatime,vers=3,rsize=32768,wsize=32768,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.112.2,mountvers=3,mountport=1058,mountproto=udp,local_lock=none,addr=192.168.112.2 0 0

此时,执行ls、df等命令都会卡住。

$ ls

^C

下面介绍一种简单有效的方法解决这个问题。

1.强制umount

$ umount –lf  /home/lanyang/nfs_mount

参数含义介绍:
-f Force unmount (in case of an unreachable NFS system). (Requires kernel 2.1.116 or later.)

-l Lazy unmount. Detach the filesystem from the filesystem hierarchy now, and cleanup all references to the filesystem as soon as it is not busy anymore. (Requires kernel 2.4.11 or later.)

2.kill占用进程

查看占用进程

$ fuser –m –v /home/lanyang/nfs_mount
USER        PID ACCESS COMMAND
/home/lanyang/nfs_mount:
….
lanyang   21691 .rce. ls

kill占用进程,必须加-9.

$ kill -9 21691

kill掉占用进程后,就可以保证顺利重新mount。

经过以上两个步骤,就可以成功解决umount的问题了。

有同学可能会有疑问,为什么不是先kill占用进程,再强制umount?
原因是如果首先执行fuser命令会一直卡住,无法操作,必须强制umount后,才可以继续执行fuser命令。

参考:
http://www.linuxidc.com/Linux/2013-12/93758.htm

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值