你的位置:首页 > 操作系统

[操作系统]配置主机NFS服务

一、配置主机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。