原创 配置nfs服务器出现的问题

2010-1-3 18:07 3771 8 8 分类: MCU/ 嵌入式
ferora2上配置nfs服务器出现的问题



1
在配置nfs服务器时,情况如下:

启动 NFS 服务:                                           
确定  ]

关掉 NFS 配额:无法注册服务: RPC:无法接收; errno = 拒绝连接

rpc.rquotad: unable to register (RQUOTAPROG, RQUOTAVERS, udp).

                                                          
[
失败]

启动 NFS 守护进程:                                       
[
失败]

启动 NFS mountdCannot register
service: RPC: Unable to receive; errno = Connec tion refused

                                                          
[
失败]





请问上面的问题如何解决啊?

配置nfs服务器出现的问题



NFS
需要 portmap 支持,必须启动portmap服务



启动portmap,之后,再启动nfs ,果然正常。





nfs
常出现的问题:





2
: 防火墙

选中No firewall

System services
,去掉ipchainsiptables两项服务。

在宿主机上自己mount自己,看是否成功就可以判断NFS是否配好了。例如在宿主机/目录下执行:

mount 192.168.2.32:/ /mnt

然后到/mnt/目录下看是否可以列出/目录下的所有文件和目录,可以则说明mount成功,NFS配置成功。

33.
关于通过NFS mount宿主机硬盘调试应用程序的问题



嵌入式LINUX调试应用程序最主要的方式就是通过NFS
mount
宿主机硬盘上的应用程序来执行,通过观察其在串口终端打印的信息来达到调试的目的。



在这个过程中,存在一个权限的问题,即板子mount宿主机硬盘后,这个NFS mount的操作默认的不是以root的权限执行的,因此一般的板子没有权限执行宿主机硬盘上的程序,这时就要在宿主机上执行chmod 777 app,其中app为应用程序可执行文件的名字。其实这种现象还是比较容易为开发人员解决的,因为当执行应用时,minicom就会报错, permision denied,或者unknown error 4。但对于有的情况就不一定这么容易看出是权限的问题:



例如:调试WEB管理软件cgi代码时,我们把宿主机上/cgi-bin/通过NFS mount到板子的CGI工作目录/home/httpd/cgi-bin/上,这时通过浏览器IE执行CGI操作时,就会报错403,这里也是一个权限的问题,即 CGI要求其工作目录可写,这时就必须在宿主机上执行:chmod 777
/cgi-bin
,这时浏览器里立刻就可以工作了。













但实际上,REDHAT LINUX PC自己mount自己成功也不能完全说明NFS就可以工作了,因为还有一个防火墙的问题,一般的我们建议客户在安装REDHAT
LINUX
时就默认选择NO FIREWALL,但若客户没有这样选择的话,REDHAT 启动时会加载防火墙规则,这样你自己能 mount 自己,但其它PC和板子也无法mount这台PC。所以这时要运行setup关闭防火墙。注意!setup里面的防火墙显示永远都是HIGH,这个是REDHAT一直的一个小BUG,即使你安装时默认选择了NO FIREWALLsetup里面也照样会显示防火墙设置是HIGH的,这个可以不必理会。只要你选择了一次NO FIREWALL就可以了。关于防火墙等问题,请参见您的光盘里面的PDF手册。另外,建议对LINUX操作不是非常熟悉的客户,务必请阅读我们手册附录的“LINUX常用命令





还有,就是REDHAT还有这样一个问题,就是加入网关设置后,网络建立TCP链接非常慢,例如FTP/TELNET/NFS等都是,建立链接后,以太网通信还是很快的。若您安装网络时加入了网关,就会出现你在板子NFS mount REDHAT PC时,敲入mount -o nolock
pcip:/ /mnt
后非常长的时间不返回SHELL提示符,就一直停在那里,这就是建立连接的时间非常的长。一般的,遇到这种情况,建议在REDHAT LINUX PC上执行



route del default



即去掉网关,然后再进行NFS mount等操作就会非常快了。

再有,若您用的不是华恒的开发板,那么可能您的busybox可能没有加入NFS mount的支持,这样您就需要重新编译busybox,加入NFS mount支持,然后更新ramdisk,重新烧写即可。



当然了,测试NFS你必须用以太网将板子和REDHAT
LINUX PC
连接起来才行,连接的方式有两种:一是板子和PC都用普通的网线接到HUB或者交换机上;二是用交叉网线将板子和PC直连起来,注意!这种网线是特制的,内部收发交换的!



测试板子和PC网络是否连通的方式是:板子正常启动LINUX后,在minicom里面ping PC看是否能通即可,当然了,用PCping板子看是否通也是可以的。注意:板子必须启动到LINUX后才能ping通,板子处在bootloader阶段一般是无法ping通的,即使这时板子的bootloader初始化了以太网也不行。



若板子跟PC的网络不通,mount报错信息为:



# mount -o nolock 192.168.2.211:/ /mnt

mount: RPC: Unable to receive; eNrno = No route Fo host

mount: Sfsmount failed::Bad file descriptor

mount program didn't pass remote address!

mount: Mounting 192.168.2.211:/ on /mnt failed: Invalid argument









3
:曾经出现过,客户端板子mount 之后出现





# cd /usr/project/mount/

# ls

nfs_stat_to_errno: bad nfs status return value: 45

ls: ./mc2410: Input/output error

nfs_stat_to_errno: bad nfs status return value: 45

ls: ./MC2410E_Disk: Input/output error

nfs_stat_to_errno: bad nfs status return value: 45

ls: ./QTEmbeded_introduce.txt: Input/output error

nfs_stat_to_errno: bad nfs status return value: 45

ls: ./Installing Qt_Embedded.txt: Input/output error

nfs_stat_to_errno: bad nfs status return value: 45

ls: ./Qt
对象模型.txt: Input/output error

nfs_stat_to_errno: bad nfs status return value: 45

ls: ./Qt Pronect: Input/output error

fs_stat_to_errno: bad nfs status return value: 45

ls: ./Qt
源码的编译和运行步?n.txt: Input/output error

fs_stat_to_errno: bad nfs status return value: 45

ls: ./firefox-2.0.tar.gz: Input/output error

nfs_stat_to_errno: bad nfs status return value: 45

ls: ./lumaqq_2005-linux_gtk2_x86_with_jre.tar.gz: Input/output error

nfs_stat_to_errno: bad nfs status return value: 45

ls: ./fcitx-3.4.1.tar.bz2: Input/output
error

nfs_stat_to_errno: bad nfs status return value: 45

ls: ./AdobeReader_cht-7.0.8-1.i386.rpm: Inpun/output error

fs_stat_to_errno: bad nfs status return value: 45

ls: ./linuxdown-1.2.0.tar.gzn Input/output error

fs_stat_to_errno: bad nfs status return value: 45

ls: ./EIOZH_Lin.tar.gz: Input/output error

nfs_stat_to_errno: bad nfs status return value: 45

ls: ./QTEmbeded_introduce.txt~: Input/output error

nfs_stat_to_errno: bad nfs status return value: 45

ls: ./MPEG-4
H.264AVS编解码标准的比较及其在IPTV中的应用.txt: Input/output
errnfs_stat_to_errno: bad nfs status return value: 45

ls: ./ucos: Input/output error

nfs_stat_to_errno: bad nfs status return value: 45

ls: ./project: Input/output error

nfs_stat_to_errno: bad nfs status return value: 45





这种问题, 把 /etc/exports文件中关于nfs的设置改了一下,



nfs
配置正确范例

/mnt/hdb6/2410/         
*(rw,async,no_root_squash)





就没有出现此问题。
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
8
关闭 站长推荐上一条 /3 下一条