借鉴别人这篇博客搭建成功的:http://blog.51cto.com/mrxiong2017/2087001
NFS系统:用来共享文件、图片、视频
准备两个centOS7服务器,一个作NFS service,另一个用NFS client
192.168.26.137 此服务器作NFS服务端主机
192.168.26.233 此服务器作NFS客户端
主要应用原理:
在192.168.26.137上安装NFS服务端,设置一个文件目录test文件夹用来共享。然后在192.168.26.233上安装NFS客户端,也创建一个test文件夹目录。再然后把NFS服务端共享的test目录挂载到NFS客户端的test文件夹目录上,这样192.168.233上的test文件夹目录就会实时显示(并可以做读写操作)192.168.26.137服务器上test文件夹里面的数据文件了。同理搭建多个NFS客户端,就可以多台机器操作主机上NFS服务端test文件夹中的数据文件
【注意最近在centos7上搭了很多服务,因为弄很多服务都要关闭防火墙,所以我在安装centos7的时候一开始就把所有centos7系统的防火墙给关了。】
一、192.168.26.137服务器上部署NFS服务端
#1、检查系统版本及NFS服务nfs-utils 和rpcbind有没有安装
rpm -qa nfs-utils rpcbind
#出现下面这个就说明安装好了:
#2、如果没有,那就安装NFS服务的nfs-unitls和rpcbind (因为centos7自带了rpcbind,所以不用安装rpc服务)
yum -y install nfs-utils (只安装nfs-unitls)
yum install nfs-utils rpcbind -y (安装nfs-unitls和rpcbind服务,与上面二选一)
#3、启动rpcbind服务(一定要先启动rpcbind服务再启动nfs服务)
#先查看rbcbind服务状态
systemctl status rpcbind.service
#启动rpcbind服务
后面懒得写了。。。。。。。。。。。。。。
配置NFS服务的配置文件,参数配置:
vi /etc/exports
打开这个配置文件,并写入简单配置如下:
上图参数解析:(里面文件每一行定义 一个共享目录)
/usr/local/data/test #表示你要共享的目录
192.168.26.1/24 #表示 所允许访问的客户端IP,这里表示整个26.1以上网段都可以访问,也可以指定单个地址如:192.168.26.233,也可以用*号表示所有用户都可以访问你所共享的目录
(rw,sync,root_squash) #rw:表示读写权限,sync:表示数据同步写入内存硬盘,root_squash:表示访问共享目录时,用户如果是root权限,对共享目录的权限会被压缩为nfsnobody用户的权限
【
下面配置nfs所有不同权限,表示如下:
ro:表示只读权限
rw:读写权限
sync:数据同步写内存硬盘
async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
all_squash:不管你访问共享目录的用户是谁,都必须压缩为nfsnobody用户的权限;
no_all_squash(默认):访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组;
root_squash: 如果访问共享目录是root的权限用户,对共享目录的权限会被压缩为nfsnobody用户的权
no_root_squash:来访的root用户保持root帐号权限;
no_squash:访问共享目录时,用户如果是root权限,对共享目录也具有root权限(最好不要设置,增加服务安全隐患,稍后再提)
anongid=
insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
subtree_check(默认) :若输出目录是一个子目录,则nfs服务器将检查其父目录的权限;
】
192.168.26.233机器上NFS客户端配置:
其实nfs客户端不用配置什么。
第一步:在192.168.26.233机器上安装nfs(因为centOS7自带了rpcbind, 不用安装rpc服务)
安装nfs命令:yum install -y nfs-utils
第二步:为rpcbind做开机启动
systemctl enable rpcbind.service
然后启动rpcbind服务:
systemctl start rpcbind.service