用于网络上的共享存储,ABC三台机器,需要访问同一个目录并且目录中都是图片,A共享数据出来,B和C分别挂载A共享的数据目录,从而B和C访问到的数据和A上的一致,NFS服务是通过RPC协议实现通信。
NFS服务端安装配置
服务端安装NFS:yum install -y nfs-utils
vim /etc/exports
首次修改配置文件(默认是空文件)加入下面内容:
/home/nfstestdir 192.168.188.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)
#这里假设共享/home/nfstestdir,信任的主机为192.168.188.0
#权限为读写,同步模式,限制所有使用者没并且限制uid和gid都是1000
mkdir /home/nfstestdir
chmod 777 /home/nfstestdir
systemctl start rpcbind #在启动nfs前先启动rpcbind,ps aux查看端口111
systemctl start nfs
systemctl enable rpcbind #将服务加入开机启动项
systemctl enable nfs
客户端安装NFS
showmount -e 192.168.188.128
#可以查看nfs的共享情况,共享目录和信任的主机有哪些,如果网路不通查看111端口是否打开,然后查看防火墙是否关闭
mount -t nfs 192.168.188.128:/home/nfstestdir /mnt/
#挂载的是服务端ip
df -h
#查看挂载完成的/mnt/分区,这就是nfs共享的目录,进入/mnt/目录下并测试
NFS配置选项
/home/nfstestdir 192.168.8.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)
#指定要进行分享的目录;指定要共享该目录的机器
#rw 读写;ro 只读
#sync 同步模式,内存数据实时写入磁盘
#async 非同步模式
#no_root_squash 客户端挂载NFS服务后,root用户不受约束,权限很大
#root_squash 与上面选项相对,客户端上的root用户受到约束,被限定成某个普通用户
#all_squash 客户端上所有用户在使用NFS共享目录时都被限定为一个普通用户
#anonuid/anongid 和上面几个选项搭配使用,定义被限定用户的uid和gid