上个礼拜遇到rhel4.5的nfs客户端在挂载共享资源时出现“RPC program not regeisted”的报错。由于对rhel4.5并不是很熟悉,遂一点点根据报错去推断:
1、首先确认nfs服务器端与客户端的portmap服务是否正常开启
/etc/init.d/portmap status/restart
2、重新启动服务器端的nfs服务,并查看是否可以正常列出共享的信息
/etc/init.d/nfs restart
exports -rv
showmount -e localhost
3、在客户端重新尝试挂载共享信息,发现还是报“RPC program not regeisted”的报错。
4、尝试在nfs服务器端本地挂载nfs共享信息,发现也挂载不上。可以推断是服务器端的nfs相关端口没有开启,再尝试一下命令确认服务器端的nfs端口开启情况:
rpcinfo -p localhost
查看命令输出信息,没有出现2049等主服务的端口信息。----断定是nfs服务器端nfs主服务的端口2049等没有开启的缘故。
5、在服务器端,切换到/etc/sysconfig目录中,却没有看到nfs这个配置文件,再查看/etc/init.d/nfs这个启动脚本信息,发现nfs的启动脚本会去找系统中的/etc/sysconfig/nfs这个配置文件。由于个人对rhel5版本的nfs还较为熟悉,知道这个配置文件中会开启nfs主服务的端口等信息,故尝试从其他版本的linux中拷贝该文件过来,重新启动服务器端的portmap、nfs服务,客户端重新挂载依然报错。
6、在nfs服务器上,使用“netstat -nutlp | grep 2049”发现出现该端口的信息。
7、使用“lsof -i :2049”命令尝试强制退出使用2049端口的进程,还是无果。
8、尝试reboot,再尝试挂载,OK。
个人总结:nfs的端口很多人都会忽略该问题,都会觉得nfs只要简单的配置好就能用。但是对于服务的原理与使用端口的情况还是非常有必要熟悉。
阅读(1682) | 评论(0) | 转发(0) |