昨天NFS用的好好的,今天一直不能用。
当我打开NFS服务的时候,就发现有点不正常,NFS服务打开的很慢,记得昨天./nfs start一下
就打开了,而今天得等几分钟,NFS服务启动之后,不但ARM开发板不能挂载NFS文件系统,连虚
拟机本身也不能挂 载,提示 RPC 超时,在网上找了很多资料:
启动慢是因为上次NFS正常挂 载的客户机没有正常卸载,挂载信息残存
在/var/lib/nfs/rmtab里面了,把里面的内容清除之后,启动NFS很快,但依然不能挂载,有在
网上找了一些相关资料,来解决RPC 超时的问题,
服务器端:编辑/etc/hosts 在里面添加客户端的信息。格式如下:
IP地址 主机名 主机别名
如:192.168.2.13 localhost.localdomain localhost
主机别名为可选项
修改之后,重启portmap nfs 服务
同样在客户端:添加服务器的信息,格式一样,和服务器一样,设置之后就可以正常挂载了。
再添加点深刻体会:只在hosts里面这样改是不行了,即使一时可以 用也是不稳定,也许在你重启一次机器之后就不能用了,本身它就是一个不可靠的设置。正确的设置应该是
主机名 主机别名
在后面添加上你的客户端的设置。如我的虚拟机的设置192.168.2.13 localhost
我的2410开发板192.168.2.223 localhost
这时候再MOUNT nfs 那真叫个快
据说这是因为你用的是虚拟机LINUX而且你的虚拟机,你的真实的主机和你的2410开发板在一个子网内部,并没有与外网相连,没有网关,域名服务器,当portmap进行IP解析时,首先你的hosts里面没有这台计算机的信息,而又访问不到域名解析服务器,就造成了RPC timed out 连接不上。(偶尔可以连接)
据说当你的主机,虚拟机,开发板在一个网段上而且都可以访问外网的话,就不用修改hosts文件,这时NFS也可以正常使用。也没有问题,只有当域名服务器不正常时,NFS才会出现挂载不上,不过还有备用域名服务器IP地址,只要把这两个域名服务器的IP地址都设置上了,一般不会再出现NFS挂载异常了。