环境说明:
如上图示:image服务器作为web服务器的存储使用,使用nfs服务将/data目录挂载到web的/storage/image下使用,某日因误操作将/data下的所有数据全部删除了(幸好还有备份),将数据恢复后在web端(nfs客户端)重新挂载/data目录时出现了如下错误:
[root@webmaster storage]# /bin/mount -t nfs image1:/data /storage/image1
mount.nfs: Stale NFS file handle
后来查了一些资料,说是“ 当我们已mount 上的file or directory ,在server上突然被remove or unexport ,就会出现此讯息。。。。。。
就是说,client端mount上了server端的directory之后,假如server端又将这个directory unshare了或者删除了(就如我的环境所示),那么就会在client端出现这个错误。
解决方法:
其实解决办法很简单,就是在client上把那个文档umount掉。可是其实做起来很难,因为经常会得到 is busy的错误。
解决方法:
其实解决办法很简单,就是在client上把那个文档umount掉。可是其实做起来很难,因为经常会得到 is busy的错误。
能够用下面的三个方法:
1)用fuser杀掉占用那个目录的进程
fuser -k /directory
2)在启动的进程里面查找
ps -ef |awk ‘{print }’ |grep -v PID |xargs /usr/proc/bin/pwdx
这种方法只能在solaris8及以上版本使用
3)umount -f /directory
强制umount
上面的1跟2方法有时候并不能解决问题,能够这三个一起结合着使用。
转载请注明:爱开源 » Stale NFS file handle的解决方法