最新消息:

Stale NFS file handle的解决方法

nfs admin 21浏览

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的解决方法

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