生成环境下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
转载于:https://blog.51cto.com/linuxadmin/1923250