我的配置环境:
服务器是:10.1.0.13
挂载客户端:linux:10.1.0.14;Mac:10.1.0.147
(服务器的/home/nfsdata的权限为777;客户端的要目录都有目录nfs,且权限为777)


一,检查

在服务器上检查安装包
rpm -qa |grep portmap
rpm -qa |grep nfs

cat /proc/filesystem中查看有没有nfsd服务
ntsysv 选项中选中nfs


二,配置

exports文件是NFS的共享目录配置文件,主要是指定共享目录和共享策略。使用vi命令编辑,在文件中加入类似下面的内容:

vim /etc/exprot中添加参数:/home/nfsdata *(rw,root_squash,no_all_squash,sync,insecure)

#参数下面有详解

三,启动服务

/etc/init.d/portmap start
/etc/init.d/nfslock start
/etc/init.d/nfs start

开启服务器端的NFS服务,再从客户端上查看一下NFS服务器的情况:

Showmount –a显示出NFS服务器192.168.1.123的共享目录被客户端192.168.122挂载到/home中;
Showmount –e显示出NFS服务器192.168.1.123上有两个共享目录:/tmp和/home/nfs-share
Showmount –d显示出NFS服务器的共享目录被挂载到了/home这个挂载点上。

查看启动情况:

/etc/init.d/portmap status
/etc/init.d/nfs status

四,挂载

Linux:客户端的portmap的服务一定要启动,然后执行命令:

mount -t nfs 10.1.0.13:/home/nfsdata /nfs

Mac:系统自带服务,直接mount_nfs -o resvport 10.1.0.13:/home/nfsdata /nfs_11

五,问题:

1、提示:mount to NFS server '172.20.67.203' failed: server is down.


解决方案:可能是NFS服务器的防火墙有问题;


2、提示:mount: RPC: Timed out


解决方案:由于RPC协议没运行;启动portmap服务;


也有可能是防火墙问题;Server/Client均有可能。


解释:
参数:
下面是一些NFS共享的常用参数:

ro 只读访问

rw 读写访问

sync 所有数据在请求时写入共享

async NFS在写入数据前可以相应请求

secure NFS通过1024以下的安全TCP/IP端口发送

insecure NFS通过1024以上的端口发送

wdelay 如果多个用户要写入NFS目录,则归组写入(默认)

no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。

hide 在NFS共享目录中不共享其子目录

no_hide 共享NFS目录的子目录

subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)

no_subtree_check 和上面相对,不检查父目录权限

all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。

no_all_squash 保留共享文件的UID和GID(默认)

root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)

no_root_squas root用户具有根目录的完全管理访问权限

anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID