NFS是Linux下经典的网络共享解决方案,由服务器端提供,客户端挂载。RHEL7支持NFSv3和NFSv4。NFS服务和RPC进程nfs-server进程启动后,会启动NFS服务和PRC进程。RPC进程包括四个组件:以下是英文原文介绍-rpc.statd:实现NFS客户端和NFS服务器之间的监控协议(NSM)-rpc.mountd:NFS挂载守护进程,实现来自NFSv3的挂载请求的服务器端客户。–rpc.idmapd:映射NFSv4名称和本地UID和GID–rpc.rquotad:为远程用户提供用户配额信??息。配置NFS服务器server1.安装nfs包#rpm-qa|grepnfs-utils#yum安装nfs-utilsrpcbind2。设置nfs及相关服务自动启动#systemctlenablenfs-server#systemctlenablerpcbind#systemctlenablenfs-lock由于nfs包版本不同,nfs-lock在RHEL7.1版本(nfs-utils-1.3.0-8.el7)及以下无效,可以忽略(rpc-statd.service已经是静态的)。#systemctlenablenfs-idmap由于nfs包版本不同,nfs-idmap在RHEL7.1版本(nfs-utils-1.3.0-8.el7)及以下无效,可以忽略(nfs-idmap.服务已经是静态的)。3.启动NFS服务#systemctlstartrpcbind#systemctlstartnfs-server#systemctlstartnfs-lock#systemctlstartnfs-idmap4。查看NFS服务状态:#systemctlstatusnfs5。创建一个需要共享的目录#mkdir/test6。配置属性组#chgrpnfsnobody/test7。配置权限:#chmod-R775/test8。导出共享目录参考格式修改/etc/exports文件dirclient1(options)[client2(options)...]下面是Option设置说明,第一个是默认值ro/rw:a)ro:允许客户端对共享进行只读访问。b)rw:允许客户端对共享进行读写访问。sync/async:a)sync:NFS服务器仅在将先前请求所做的更改写入磁盘后才回复请求。b)async:指定服务器不必等待。wdelay/no_wdelay)wdelay:NFS服务器在怀疑另一个写请求即将到来时延迟提交写请求。b)no_wdelay:使用此选项禁用延迟。no_wdelay选项只能在启用默认同步选项时启用。no_all_squash/all_squash:a)no_all_squash:不改变remo的映射teusers.b)all_squash:压缩所有远程用户,包括root.root_squash/no_root_squash:a)root_squash:防止远程连接的root用户获得root访问权限。有效压缩远程root权限。b)root.root_squash:禁用示例vi/etc/exports/test*(rw)/nfs192.168.1.12(ro)9。有效配置#exportfs-r-r刷新nfs配置并同步到/var/lib/nfs/etab其他参数如下-a:导出/etc/exports中的条目但不与/var/lib/nfs/etab同步-i:忽略/etc/exports中的条目并使用命令行参数。-u:un-export一个或多个目录-o:在命令行指定客户端选项10.重启nfs服务:#systemctlrestartnfs-serverNFS客户端配置1.安装nfs客户端包#rpm-qa|grepnfs-utils#yuminstallnfs-utils2.手动挂起mount-tnfs-ooptionshost:/remote/export/local/directory例子:#mount-tnfs-oro,nosuidremote_host:/home/remote_home3.配置/etc/fstab系统启动时自动挂载#vi/etc/fstabremote_host:/home/remote_homenfsrw,nosuid,_netdev00NFS相关防火墙配置服务器端防火墙加入站权限策略#firewall-cmd--添加服务=nfs--zone=internal--permanent#firewall-cmd--add-service=mountd--zone=internal--permanent#firewall-cmd--add-service=rpc-bind--zone=internal-永恒的
