转
解决umount.nfs: /data: device is busy 问题
2017年03月29日 17:52:31 漫步111 阅读数:5869更多
个人分类: linux维护
有时候我们需要umount某个挂载目录时会遇到如下问题:
1 2 |
|
通过这条命令查看:
1 2 3 4 |
|
-v 表示 verbose 模式。进程以 ps 的方式显示,包括 PID、USER、COMMAND、ACCESS 字段
-m 表示指定文件所在的文件系统或者块设备(处于 mount 状态)。所有访问该文件系统的进程都被列出。
如上所示,有两个进程占用了,将其kill掉,再重新取消挂载。
1 2 3 4 |
|
成功!
fuser 概述
fuser命令是用来显示所有正在使用着指定的file, file system 或者 sockets的进程信息。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
同时fuser 可以用来查找哪些进程正在使用指定的端口(network port).
1 2 3 4 |
|
fuser 常用场景
fuser通常被用在诊断系统的“resource busy”问题,通常是在你希望umount指定的挂载点得时候遇到。 如果你希望kill所有正在使用某一指定的file, file system or sockets的进程的时候,你可以使用-k option。
1 |
|
这时fuser会向所以正在使用/path/to/your/filename的进程发送SIGKILL。如果你希望在发送之前得到提示,可以使用-i 选项。
1 |
|
将信息写入fstab,让系统开启自动挂载
vim /etc/fstab
UUID=94e4e384-0ace-437f-bc96-157dd64642ee / ext4 defaults,barrier=0 1 1
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
UUID=97e89f17-1767-4ccd-a4b5-f2bd3737c0b1
//UUID=97e89f17-1767-4ccd-a4b5-f2bd3767c0b9 挂载的目录名称/路径 ext3 defaults 0 0
# 有的挂载使用的是 UUID,如果你不知道你的UUID对应的设备名称往下看 ;
df -h #查看设备名
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 2.9G 35G 8% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/vdb1 99G 2.3G 92G 3% /home/wwwroot
dumpe2fs -h /dev/vdb1 #查看挂载设备的uuid Filesystem UUID: 97e89f17-1767-4ccd-a4b5-f2bd3737c0b1
blkid # 使用这个命令更简洁 或者 blkid /dev/vdb1
/dev/vda1: UUID="94e4e384-0ace-437f-bc96-157dd64642ee" TYPE="ext4"
/dev/vdb1: UUID="97e89f17-1767-4ccd-a4b5-f2bd3737c0b1" TYPE="ext3"
最后wq退出保存即可