1、客户端和服务端分别设置开机启动服务
centos6:
chkconfig rpcbind on
chkconfig nfs on
centos5:
chkconfig portmap on
chkconfig nfs on
2、客户端/etc/fstab写入:
192.168.1.226:/data/test/www /data/test/www nfs rw
注释:写入规则错误,可能对导致服务器重启失败,详细规则请点击
3、检查是否开机挂载
重启客户端:
[root@localhost root]# reboot
输入:
[root@localhost root]# df -h
开机挂载成功
4、NFS 挂载失败原因
1.挂载时若出现mount.nfs: Input/output error
解决:在客户端也需启动portmap服务 service portmap status[查看状态];service portmap start[启动]
2.在用nfs共享大文件或者挂载根文件系统时候出现下面的问题:
nfs: server 192.168.1.125 not responding
nfs: server 192.168.1.125 not responding
nfs: server 192.168.1.125 OK
但是共享小文件还是可以的。
问题的原因分析:
1、NFS 的默认传输协议是 UDP,而PC机与嵌入式系统通过UPD交互时就会出现严重的网卡丢包现象;
2、server机和目标机网卡传输速率冲突,使得目标机需要大量时间复制大量数据包,其实如果目标机的网卡速率够大,则不用分那么多包,也不会冲突。
问题的解决方案:
方法一:在客户端改用TCP协议,使用下面的命令,在mount命令中加上参数tcp
mount -o tcp ,nolock 192.168.1.125:/nfs_root /mnt
也可这样干:
跟踪了fs/nfs/nfsroot.c的代码,发现在nfs作为根文件系统时,参数可以直接写在“nfsroot=”后面,每个参数用逗号隔开,如:
nfsroot=192.168.10.1:/rootfs,proto=tcp,nfsvers=3,nolock
这样就可以指定nfs使用tcp协议
方法二:指定传输速率(限定传输时一次读写的数据大小)
mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.1.125:/nfs_root /mnt
3.挂载时出卡在连接状态
解决:在确认网络连接无异常的情况下则可能是iptable或者网络防火墙阻拦了NFS使用的TCP和UDP的111以及2049端口.以ESX为例,在需要挂载NFS共享盘时首先需要编辑防火墙安全文件允许访问该端口.
4、挂载时超时
检查客户端和服务器之前访问是否存在问题,
5、自动挂载失败,手动挂载成功
mount -a
解决:检查netfs是否启动
启动netfs
/etc/init.d/netfs start
开机启动
chkconfig netfs on