一、配置主机NFS过程中的一些问题。
1、showmount -e 时出现clnt_create:RPC:Unknown host
解决:
设置/etc/hosts,将服务器IP解析到服务器主机名。
2、开发板nfs挂载后复制大文件时主机未响应(still trying)问题
解决:
mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.1.15:/home/potato/mnt/ /mnt/
3、rpm 查看是否安装nfs 服务
rpm -qa | grep "rpcbind"
rpm -qa | grep "nfs"
二、设置NFS开机自启动
1、首先对nfs服务端口进行配置1.1、vim /etc/sysconfig/nfs 变及nfs 系统配置文件,找到以下四项并取消注释
#LOCKD_TCPPORT=32803
#LOCKD_UDPPORT=32769
#MOUNTD_PORT=892
#STATD_PORT=662
1.2、配置iptables使nfs服务通过防火墙
12 -A INPUT -m state --state NEW -m tcp -p tcp --dport 111 -j ACCEPT
13 -A INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT
14 -A INPUT -m state --state NEW -m tcp -p tcp --dport 32803 -j ACCEPT
15 -A INPUT -m state --state NEW -m tcp -p tcp --dport 32769 -j ACCEPT
16 -A INPUT -m state --state NEW -m tcp -p tcp --dport 892 -j ACCEPT
17 -A INPUT -m state --state NEW -m tcp -p tcp --dport 662 -j ACCEPT
1.3 设置nfs 为开机启动
不同的runlevel对应于不同的启动服务,比如,命令行启动和图形界面启动所需加载的服务是不一样的。每个runlevel都有相对应的一个目录,这个目录里管理该runlevel下所有服务 。Linux 下有七个不同的runlevel ,分别对应 rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d
runlevel解释:
0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
2:多用户状态(没有NFS)
3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
4:系统未使用,保留
5:X11控制台,登陆后进入图形GUI模式
6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
以命令行模式为例 runlevel = 3 ,对应目录/etc/rc.d/rc3.d/
例:S13rpcbind -> ../init.d/rpcbind
S+num+service
其中S表示Start,同理,K表示Kill. num表示启动的顺序,系统启动脚本里使用通配符,对所有待启动的服务按num顺序启动。由于服务之间存在依赖,在不熟悉的情况下步建议修改这个num。
使用chkconfig命令管理系统服务( updates and queries runlevel information for system services)
chkconfig [--level levels] [--type type] name <on|off|reset|resetpriorities>
这里,我们需要在命令行模式下启动nfs服务
chkconfig --level 3 nfs on
执行该指令后查看/etc/rc.d/rc3.d/,可发现出现nfs的启动项。
S30nfs -> ../init.d/nfs
1.4.重启测试OK。