一个破NFS网络文件系统挂了我整整三天,现在终于挂上了,总结下经验教训。基本的平台是电脑上直接安装的fedrora 8+TE2440。
挂在NFS文件系统,需要几个步骤:
一,修改/etc/exports文件
gedit /etc/exports
*****************
/nfs 192.168.0.*(rw)
*****************
解释下:/nfs是NFS服务器端要被挂载的文件夹,192.168.0.*指的是这个网段的客户端可以挂载本文件夹,此处也可以写成主机名称,括号里的rw指的是授权可读可写。
二,修改完配置文件,要使其起效
使用命令:exportfs -rv
会出现一下结果:
exporting 192.168.0.*:/nfs
三,打开NFS服务
打开NFS服务首先需要打开portmap服务,但是在fedora 8中portmap服务被rpcbind所取代,而且默认在打开NFS服务的时候rpcbind服务会自动打开,所以只需要打开NFS服务即可。
使用命令:service nfs start
会出现一下结果:
启动 NFS 服务:
[确定]
关掉 NFS 配额:
[确定]
启动 NFS 守护进程:
[确定]
启动 NFS mountd:
[确定]
四,关闭防火墙
直接关闭防火墙会出错。如下:
service iptables stop
清除防火墙规则:
[确定]
把 chains 设置为 ACCEPT 策略:nat filter
[确定]
正在卸载 Iiptables 模块:
[失败]
所以要首先对防火墙的配置文件备份,然后关闭防火墙:
iptables -F FORWARD
service iptables save
将当前规则保存到 /etc/sysconfig/iptables:
[确定]
chkconfig iptables on
service iptables stop
清除防火墙规则:
[确定]
把 chains 设置为 ACCEPT 策略:filter
[确定]
正在卸载 Iiptables 模块:
[确定]
五,此时一切准备工作完毕,开始相互ping
开发板和上位机用交叉网线连接或者用交换机连接都行,但是IP一定要是在同一网段。
六,双方能够相互ping通后就开始最重要的挂载了
下位机在gtkterm串口调试工具的控制台里输入一下命令:
mount -t nfs -o nolock 192.168.0.115:/nfs /nfs
挂载成功!
下面说说在第六步会出现的集中错误。
分为四种错误,分别是
1,Permission denied(请求被拒绝)
原因:NFS服务没有启动
解决办法:尝试第三步开启NFS服务
2,No route to host(没有线路连接主机)
原因:上位机开启防火墙阻止了NFS服务
解决办法:可以尝试第四步关闭上位机防火墙
3,Connection refused(连接被拒绝)
原因:网上有人说是没有开启portmap服务或者是rpcbind,但是fedora8系统不会出现这个问题,还有人说是NFS服务没启动。
解决办法:重启NFS服务,关闭上位机防火墙
4,mount version older than kernel(挂载版本低于内核版本)
原因不祥
解决办法:在挂在命令加选项-o nolock,参考第六步的挂载命令
5,RPC:time out(超时)
原因很多,可能是防火墙未关,可能是物理连接没有,可能是。。。
解决办法之一:不能把NFS文件夹挂载在mnt目录下,(原因不详)
最后挂载上的时候串口控制台里明明现实的是mount filed,但是打开客户机挂载点的时候却能看见上位机挂载点的文件,真是见鬼了,不过还是挺高兴的,哈哈
参考的文章太多了,记不得都有谁的了,在此表示歉意!