2.NFS通过TCP/IP连接做事端
3.NFS做事端吸收要求,会先调用portmap进程进行端口映射
4.Rpc.nfsd进程用于判断NFS客户端能否连接做事端

5.Rpc.mount进程用于判断客户端对做事真个操作权限
6.如果通过权限验证(依赖系统用户),可以对做事端进行操作,修正或读取
3、支配NFS做事1.安装nfs做事
yum install nfs-utils rpcbind -y 注:rpsbind是为nfs供应网络,默认安装nfs-utils 会自动安装rpcbind
2.关闭防火墙和selinux
setenforce 0 临时关闭 setenforce 1 开启做事 cat /etc/selinux/config SELINUX=disabled systemctl stop firewalld 关闭防火墙 systemctl disable firewalld 关闭开机自启
mkdir /data
4.创建一个别系用户,用于权限验证(权限验证时,真正验证的是UID)
useradd www -r -M -s /sbin/nologin -u 996 解释: -r:创建系统用户 -M:不创建用户的home目录 -s:指定默认登录shell -u:为账户指定一个唯一的UID
5.修正NFS的配置文件(浸染:指定NFS的仓库及权限)
NFS的配置文件路径:
/etc/exports
设置仓库地址:
vi /etc/exports /data 172.22.1.0/20(rw,all_squash,sync,anonuid=996,anongid=996) /仓库路径 许可放通IP段/20(rw,all_squash,sync,anonuid=996,anongid=996)
NFS参数详解:
掌握NFS读写权限
rw 读写权限(常用)ro 只读权限(不常用)
掌握访问NFS时,NFS基于的权限
root_squash 当NFS客户端以root管理员访问时,映射为NFS做事器的匿名用户(不常用)no_root_squash 当NFS客户端以root管理员访问时,映射为NFS做事器的root管理员(不常用)all_squash 无论NFS客户端利用什么账户访问,均映射为NFS做事器的匿名用户(常用)no_all_squash 无论NFS客户端利用什么账户访问,都不进行压缩(不常用)
掌握NFS同步办法
sync 同时将数据写入到内存与硬盘中,保障不丢失数据,但是会产生延时(常用)async 优先将数据保存到内存,然后在写入硬盘,这样效率较高,但可能会导致数据丢失(不常用)
掌握默认的用户(非必须)
anonuid 配置all_squash利用,指定NFS的用户UID,必须存在系统(常用)anongid 配置all_squash利用,指定NFS的用户GID,必须存在系统(常用)
6.启动NFS做事
systemctl start nfs-server rpcbind
7.查看NFS的挂载点是否设置成功
查看指定做事器的挂载点 showmount -e 172.22.1.66查看本机的挂载点 showmount -e
chown www.www /data/
9.挂载利用(客户端必须安装nfs-utils)
客户端安装: yum install nfs-utils -y 挂载目录: mount -t nfs 172.22.1.66:/data /opt 注:须要挂载到本地哪个目录,把/opt 改为须要挂载的就可以,172.22.1.66 为nfs地址,/data 为nfs的挂载目录
注:如挂载失落败,排查一下几个缘故原由
selinux没有关闭防火墙没有关闭nfs客户端未安装
无权限
NFS做事端是root权限,查看当前目录权限,变动权限:chown www.www /data/
四、RPC与NFS如何通讯
由于NFS支持的功能相称多,而不同的功能都会利用不同的程序来启动,每启动一个功能就会启用一些端口来传输数据,因此NFS的功能对应的端口并不固定,客户端要知道NFS做事器真个干系端口才能建立连接进行数据传输,而RPC便是用来统一管理NFS端口的做事,并且统一对外的端口是111,RPC会记录NFS端口的信息,如此我们就能够通过RPC实现做事端和客户端沟通端口信息。PRC最紧张的功能便是指定每个NFS功能所对应的port number,并且关照客户端,即客户端可以连接到正常端口上去。
那么RPC又是如何知道每个NFS功能的端口呢?
首先当NFS启动后,就会随机地利用一些端口,然后NFS就会向RPC去注册这些端口,RPC就会记录下这些端口,并且RPC会开启111端口,等待客户端RPC的要求,如果客户端有要求,那么做事器真个RPC就会将之前记录的NFS端口信息奉告客户端。如此客户端就会获取NFS做事器真个端口信息,就会以实际端口进行数据的传输了。
提示:在启动NFS SERVER之前,首先要启动RPC做事(即portmap做事,下同)否则NFS SERVER就无法向RPC做事区注册,其余,如果RPC做事重新启动,原来已经注册好的NFS端口数据就会全部丢失。因此此时RPC做事管理的NFS程序也要重新启动以重新向RPC注册。特殊把稳:一样平常修正NFS配置文档后,是不须要重启NFS的,直接在命令实行/etc/init.d/nfs reload或exportfs –rv即可使修正的/etc/exports生效。
5、详解NFS的权限参数6、利用php大略上传实例,进行测试NFS 挂载是否成功
1.在web机器中,安装web做事,并安装NFS做事
yum install htppd php -y nfs-utils
2.上传测试代码
上传地址:/var/www/html/目录下
3.开启web做事
systemctl start httpd
4.修正httpd的启动用户
vi /etc/httpd/conf/httpd.conf User www Group www 重启做事 systemctl restart httpd 查看做事运行 ps -ef | grep http
5.修正站点目录的用户
chown -R www.www /var/www/html
6.挂载目录到NFS
mount -t nfs 172.22.1.66:/data /var/www/html/upload #挂载 umount -t nfs 172.22.1.66:/data /var/www/html/upload #卸载
7.配置开启自动挂载、开机自启做事
vi /etc/rc.local tail -1 /etc/rc.local mount -t nfs 172.22.1.66:/data /var/www/html/upload systemctl enable rpcbind systemctl enable nfs rpcinfo -p #查看端口是否生效
注:所有机器须要利用NFS时,都须要安装NFS做事:nfs-utils,并关闭防火墙及selinux,权限必须设置同等。