生成环境下nfs挂载完毕后并不能一帆风顺,nfs时常会出现挂载问题。但只要有方法,
是非常容易解决的。

首先我们需要判断出是nfs服务端问题,还是客户端问题。 

如果是单纯的客户端问题,则可以使用fuser命令轻松解决。
具体如下:
fuser -mv /mnt 可以查看到当前占用/mnt目录的进程。
使用fuser -mk /mnt 直接杀死这个进程。
如果你不是很明确是否要杀死所有霸占设备的程序,你还可以加一个-i 参数,
这样每杀死一个程序前,都会询问,(如fuser -mv -i -k /mnt)


还有一种是服务端有问题,如nfs服务器死掉了。笔者就因为这种情况跟nfs做了长时间的斗争。
主要有如下解决方法:
1:修改/etc/mtab将对应的挂载条目删除。
这种方法,不仅耗时耗力,而且你若再挂载别的nfs服务器到这个目录下,
就挂载不进去。可谓是治标不治本,属于下下策。
2:使用umount命令
经过对官方文档的研读,使用umount -f /mnt ,umount -l /mnt ,umount -f -l /mnt
命令均可轻松解决服务端的挂载,并且能使用别的nfs服务器二次挂载到相同的路径,
这种方法可用于对应nfs的灾备方案中。


目录无法进入的解决方法:
root@pts/6 # cd /mn       #/mnt目录无法进入,直接导致会话卡死

1:杀死所有霸占设备的程序:
root@pts/4 # fuser -mk /mnt         #命令再次卡死,汗~

2:强制执行卸载命令(即使df -h命令显示此目录没有挂载):
root@pts/4 # umount -f -l /mnt

3:再次杀死所有霸占设备的程序:
root@pts/4 # fuser -mk /mnt
命令执行完有可能会结束当前会话,跳出终端

4:执行命令验证:
root@pts/6 # cd /mnt

tips:
正常的非挂载目录,执行卸载的时候会提示“not mounted”
root@pts/4 # umount -f -l /mnt
umount: /mnt: not mounted