百度已收录

一 搭建NFS服务器

# 查看系统是否已安装NFS
rpm -qa | grep nfs
rpm -qa | grep rpcbind
# 安装
yum -y install nfs-utils rpcbind
# 编辑export文件
vim /etc/exports 
#/opt/dev_appfile 10.105.10.100(rw,insecure,sync,no_root_squash)
# 详见<1>
# ==> /export/nfs 客户机IP(rw,insecure,sync,no_root_squash) 
# 使配置生效
exportfs -r
# 启动rpcbind、nfs服务
service rpcbind start
service nfs start
# 查看 RPC 服务的注册状况
# 详见<2>
rpcinfo -p localhost
# 在NFS服务器设定妥当之后,在server端先自测一下是否可以联机
# 详见<3>
showmount -e localhost
  • 说明<1>
常见的参数则有:(参数值 -> 内容说明)
1、rw/ro  该目录分享的权限是可擦写 (read-write) 或只读 (read-only),但最终能不能读写,还是与文件系统的 rwx 及身份有关。
2、sync/async/sync 代表数据会同步写入到内存与硬盘中,async 则代表数据会先暂存于内存当中,而非直接写入硬盘!
3、no_root_squash/root_squash    客户端使用 NFS 文件系统的账号若为 root 时,系统该如何判断这个账号的身份?预设的情况下,客户端 root 的身份会由 root_squash 的设定压缩成 nfsnobody, 如此对服务器的系统会较有保障。但如果你想要开放客户端使用 root 身份来操作服务器的文件系统,那么这里就得要开 no_root_squash 才行。
4、all_squash 不论登入 NFS 的使用者身份为何, 他的身份都会被压缩成为匿名用户,通常也就是 nobody(nfsnobody) 
5、anonuid/anongid/anon 意指 anonymous (匿名者) 前面关于 *_squash 提到的匿名用户的 UID 设定值,通常为 nobody(nfsnobody),但是你可以自行设定这个 UID 的值!当然,这个 UID 必需要存在于你的 /etc/passwd 当中! anonuid 指的是 UID 而 anongid 则是群组的 GID 。
  • 说明<2>
选项与参数:
-p :针对某 IP (未写则预设为本机) 显示出所有的 port 与 porgram 的信息;
-t :针对某主机的某支程序检查其 TCP 封包所在的软件版本;
-u :针对某主机的某支程序检查其 UDP 封包所在的软件版本;
  • 说明<3>
选项与参数:
-a :显示目前主机与客户端的 NFS 联机分享的状态;
-e :显示某部主机的 /etc/exports 所分享的目录数据。

二 在客户端安装NFS-Client工具并挂载

# 安装客户端
yum -y install nfs-utils
# 查看服务器抛出的共享目录信息
showmount -e 服务器IP
# 在客户端执行挂载目录命令
mount -t nfs server-ip:服务器上映射目录 客户端映射的目录

三 检查NFS服务器是否正常安装

# 使用命令查看nfs是否正常
showmount
# 重启nfs,有顺序
/etc/init.d/rpcbind restart
/etc/init.d/nfs restart

四 客户端重新挂载

# 查看挂载的目录列表
nfsstat -m
# 卸载挂载目录
umount 客户机上的目录
# 在客户端执行挂载目录命令
mount -t nfs server-ip:服务器上映射目录 客户端映射的目录
# 执行命令查看是否挂载成功
df -h

如果需要设置开机自启动挂载,可以在 /etc/fstab 目录添加配置信息

18.18.10.200:/home/public                 /home/public    nfs     defaults        0       0

使用 mount -a 命令挂载并确认配置文件是否有问题。