NFS介绍
NFS是Network File System的缩写
NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本 NFS数据传输基于RPC协议,RPC为Remote Procedure Call的简写。
NFS应用场景是:A,B,C三台机器上需要保证被访问到的文件是一样的,A共享数据出来,B和C分别去挂载A共享的数据目录,从而B和C访问到的数据和A上的一致
NFS服务端安装配置
首先在服务端安装两个包
yum install -y nfs-utils rpcbind
客户端只安装一个包
yum install -y nfs-utils
然后在服务端编辑vim /etc/exports,并加入一行/home/nfstestdir 目标IP/端口(rw,sync,all_squash,anonuid=1000,anongid=1000)。
它主要分三部分,第一部分为共享出去的目录,第二部分为允许访问的ip,可以是一个IP,也可以是IP段,第三部分为小括号中的权限选项。
然后保存退出。
然后建立目录mkdir /home/nfstestdir,并将权限改为777,chmod 777 /home/nfstestdir
启动rpcbind systemctl start rpcbind
启动nfs systemctl start nfc
开机启动rpcbind systemctl enable rpcbind
开机启动nfc systemctl enable nfs
NFS配置选项
rw 读写
ro 只读
sync 同步模式,内存数据实时写入磁盘
async 非同步模式
no_root_squash 客户端挂载NFS共享目录后,root用户不受约束,权限很大
root_squash 与上面选项相对,客户端上的root用户收到约束,被限定成某个普通用户
all_squash 客户端上所有用户在使用NFS共享目录时都被限定为一个普通用户
anonuid/anongid 和上面几个选项搭配使用,定义被限定用户的uid和gid
客户端挂载
showmount -e IP //该ip为NFS服务端ip
如果出现未能连接,我们需要先关闭服务端和客户端的防火墙,和selinux。
systemctl stop firewalld 关闭防火墙
setenforce 0 关闭selinux
mount -t nfs 服务端IP:/home/nfstestdir /mnt df -h 挂载
然后在里面创建一个文件,再回到服务端的/home/nfstestdir下就可以看到,里面有一个和客户端相同的文件了。
原文地址:http://blog.51cto.com/13067688/2114628