我对NFS客户端属性缓存有麻烦。
我正在使用一些服务器,一个是NFS服务器,另外一个是NFS客户端服务器。
所有服务器都是Debian(lenny,Linux的2.6.26-2-amd64),版本如下。
% dpkg -l | grep nfs
ii libnfsidmap2 0.20-1 An nfs idmapping library
ii nfs-common 1:1.1.2-6lenny1 NFS support files common to client and server
ii nfs-kernel-server 1:1.1.2-6lenny1 support for NFS kernel server
在NFS服务器中,/ etc / exports如下所示:
/export-path 192.168.0.0/255.255.255.0(async,rw,no_subtree_check)
在NFS客户端中,/ etc / fstab写成如下:
server:/export-path /mountpoint nfs rw,hard,intr,rsize=8192,async 0 0
您可以看到,“异步”选项用于多客户端访问性能。
但是,有时这可能会导致错误缓存错误。
由于我维护了很多服务器(我没有这么强大的权限来更改安装选项),我不想修改/ etc / exports和/ etc / fstab。
我认为如果我有一个命令行工具,用户权限“清理”NFS客户端属性缓存就足够了。
如果有这样的命令,请让我知道。
谢谢,
(追加)
我的意思是“虚假缓存错误”
% ls -l /data/1/kabe/foo
ls: cannot access /data/1/kabe/foo: No such file or directory
% ssh another-server 'touch /data/1/kabe/foo'
% ls -l /data/1/kabe/foo
ls: cannot access /data/1/kabe/foo: No such file or directory
有时这种情况发生。
由于NFS表示它保证了即将到来的一致性,问题不是文件内容,而是文件属性(= dentries信息)。