最新消息:

Stale NFS file handle的解决方法

nfs admin 10341浏览 0评论
33_1334713851eKvB
环境说明:
       如上图示: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的错误。

能够用下面的三个方法:
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方法有时候并不能解决问题,能够这三个一起结合着使用。

我的生产环境中的操作步骤:
先卸载:
[root@webmaster /]# umount /storage/image1    呵呵。。没有显示上面所示的busy情况!!
重新挂载:
[root@webmaster ~]# /bin/mount -t nfs image1:/data /storage/image1
没有任何显示,挂载成功!!
验证是否成功?
[root@webmaster image1]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda7             255G  3.7G  238G   2% /
/dev/sda5              35G  4.9G   29G  15% /var
/dev/sda2             582G  198M  552G   1% /data
/dev/sda1             487M   17M  445M   4% /boot
/dev/sda3             184G  500M  174G   1% /www
tmpfs                  24G     0   24G   0% /dev/shm
avd1:/data            2.6T  5.0G  2.5T   1% /storage/avd1
backup1:/data         2.6T  209G  2.3T   9% /storage/backup1
image1:/data          2.6T  2.7G  2.5T   1% /storage/image1

转载请注明:爱开源 » Stale NFS file handle的解决方法

您必须 登录 才能发表评论!