@TOGlusterFS
一.GlusterFS概述
1.1简介
Glusterfs是一个开源的分布式文件系统,是Scale存储的核心,能够处理千数量级的客户端.在传统的解决 方案中Glusterfs能够灵活的结合物理的,虚拟的和云资源去体现高可用和企业级的性能存储.
Glusterfs由存储服务器、客户端以及NFS/Samba存储网关组成,通过TCP/IP或InfiniBand RDMA网络链接将客户端的存储资块源聚集在一起,使用单一的全局命名空间来管理数据,磁盘和内存资源.
Glusterfs基于堆叠的用户空间设计,可以为不同的工作负载提供高优的性能
1.2特点
1.扩展性和高性能
GlusterFS利用双重特性来提供几TB至数PB的高扩展存储解决方案。Scale-Out架构允许通过简单地增加资源来提高存储容量和性能,磁盘、计算和I/O资源都可以独立增加,支持10GbE和InfiniBand等高速网络互联。Gluster弹性哈希(Elastic Hash)解除了GlusterFS对元数据服务器的需求,消除了单点故障和性能瓶颈,真正实现了并行化数据访问
2.高可用性
GlusterFS可以对文件进行自动复制,如镜像或多次复制,从而确保数据总是可以访问,甚至是在硬件故障的情况下也能正常访问。自我修复功能能够把数据恢复到正确的状态,而且修复是以增量的方式在后台执行,几乎不会产生性能负载。GlusterFS没有设计自己的私有数据文件格式,而是采用操作系统中主流标准的磁盘文件系统(如EXT3、ZFS)来存储文件,因此数据可以使用各种标准工具进行复制和访问。
3.全局统一命名空间
全局统一命名空间将磁盘和内存资源聚集成一个单一的虚拟存储池,对上层用户和应用屏蔽了底层的物理硬件。存储资源可以根据需要在虚拟存储池中进行弹性扩展,比如扩容或收缩。当存储虚拟机映像时,存储的虚拟映像文件没有数量限制,成千虚拟机均通过单一挂载点进行数据共享。虚拟机I/O可在命名空间内的所有服务器上自动进行负载均衡,消除了SAN环境中经常发生的访问热点和性能瓶颈问题。
4.弹性卷管理
数据储存在逻辑卷中,逻辑卷可以从虚拟化的物理存储池进行独立逻辑划分而得到。存储服务器可以在线进行增加和移除,不会导致应用中断。逻辑卷可以在所有配置服务器中增长和缩减,可以在不同服务器迁移进行容量均衡,或者增加和移除系统,这些操作都可在线进行。文件系统配置更改也可以实时在线进行并应用,从而可以适应工作负载条件变化或在线性能调优。
5.基于标准协议
Gluster存储服务支持NFS, CIFS, HTTP, FTP以及Gluster原生协议,完全与POSIX标准兼容。现有应用程序不需要作任何修改或使用专用API,就可以对Gluster中的数据进行访问。这在公有云环境中部署Gluster时非常有用,Gluster对云服务提供商专用API进行抽象,然后提供标准POSIX接口。
1.3GlusterFS术语
3.1Brick(砖)
Brick:GFS中的存储单元,通过是一个受信存储池中的服务器的一个导出目录。可以通过主机名和目录名来标识,如’SERVER:EXPORT’
3.2 Volume(卷)
一组bricks的逻辑集合(卷)
3.3 FUSE(内核模块)
Filesystem Userspace是一个可加载的内核模块,其支持非特权用户创建自己的文件系统而不需要修改内核代码。通过在用户空间运行文件系统的代码通过FUSE代码与内核进行桥接。
3.4 VFS(虚拟端口)
虚拟文件系统
3.5 Glusterd(服务,程序)
Gluster management daemon,要在trusted storage pool中所有的服务器上运行。
3.6Node
一个拥有若干brick的设备
3.7 Client
挂载了GFS卷的设备
3.8 RDMA
远程直接内存访问,支持不通过双方的OS进行直接内存访问。
3.9 RRDNS
round robin DNS是一种通过DNS轮转返回不同的设备以进行负载均衡的方法
3.10 Self-heal
用于后台运行检测复本卷中文件和目录的不一致性并解决这些不一致。
3.11 Split-brain
脑裂:就是产生了两个leader,导致集群行为不一致了
3.12Volfile
glusterfs进程的配置文件,通常位于/var/lib/glusterd/vols/volname
1.4模块化堆栈式架构
###
1、模块化、堆栈式的架构
2、通过对模块的组合,实现复杂的功能
GlusterFS采用模块化、堆栈式的架构,可通过灵活的配置支持高度定制化的应用环境,比如大文件存储、海量小文件存储、云存储、多传输协议应用等。每个功能以模块形式实现,然后以积木方式进行简单的组合,即可实现复杂的功能。比如,Replicate模块可实现RAID1,Stripe模块可实现RAID0,通过两者的组合可实现RAID10和RAID01,同时获得高性能和高可靠性
二.GlusterFS工作原理
2.1弹性HASH算法
1、通过hash算法得到一个32位的整数
2、划分为N个连续的子空间,每个空间对应一个Brick
3、弹性hash算法的优点
保证数据平均分布在每一个Brick中
解决了对元数据服务器的依赖,进而解决了单点故障以及访问瓶颈
2.1GlusterFS工作模式
Application:客户端或应用程序通过GlusterFSync的挂载点访问数据
VFS:linux系统内核通过VFS API收到请求并处理
FUSE : VFS 将数据递交给FUSE内核文件系统,fuse文件系统则是将数据通过/dev/fuse设备文件递交给了GlusterFS client端
GlusterFS Client ; 通过网络将数据传递至远端的GlusterFS Server,并且写入到服务器存储设备上
三、GlusterFS的卷类型
分布式卷
条形卷
复制卷
分布式条带卷
分布式复制卷
条带复制卷
分布式条带复制卷
3.1、分布式卷
1、没有对文件进行分块处理
2、通过扩展文件属性保存hash值
3、支持的底层文件系统有ext4、zfs、xfs等
4、分布式券的特点
文件分布在不同的服务器,不具备冗余性
可以灵活的扩展卷的大小
单点故障会造成数据丢失
依赖底层的数据保护
创建分布式卷
创建一个名为dis-vol的分布式卷,文件将根据hash分布在node1:/tat1/sdb node2:/tat2/sdb中
gluster volume create dis-volume node1:/tat/sdb1 node2:/tat/sdb1 force
3.2、条形卷
1、根据偏移量将文件分成N块(N个条带节点),轮询的存储在每个Brick Server节点
2、存储大文件时,性能尤为突出
3、不具备冗余性,类似Raid0
4、特点
数据被分割成更小块分布到块服务器中的不同条带区
分布减少了负载且更小的文件加速了存取的速度
没有数据冗余 创建条带卷
创建条带卷
创建了一个名为stripe-vol的条带卷,文件将被分块轮询的存储在node1:/tat/sdc node2:/tat/sdc中
gluster volume create stripe-vol stripe 2 transport tcp node1:/tat/sdc node2:/tat/sdc
(transport不指明时默认是RDMA)
3.3复制卷
1、同一个文件保存一份或多份副本
2、因为要保存副本,所以磁盘利用率较低
3、若多个节点上的存储空间不一致,将按照木桶效应取最低节点的容量作为该卷的总容量
4、特点
卷中所有的服务器均保存一个完整的副本
卷的副本数量可由客户创建的时候决定
至少有两个块服务器或更多服务器
具备冗余性
创建复制卷
创建名为rep-vol的复制卷,文件将同时存储两个副本,分别在node3:/tat/sdb node4:/tat/sdb两个Brick中
[root@node1 ~]# gluster volume create rep-vol replica 2 node3:/tat/sdb node4:/tat/sdb force
3.4分布式条带卷
1、兼顾分布式卷和条带卷的功能
2、主要用于大文件访问处理
3、最少需要4台服务器
[root@node1 ~]# gluster volume create dis-stripe stripe 2 node1:/tat/sdd node2:/at/sdd node3:/tat/sdd node4:/tat/sdd force
3.5分布式复制卷
1、兼顾分布式卷和复制卷的功能
2、用于需要冗余的情况
3、创建分布式复制卷
[root@node1 ~]# gluster volume create dis-rep replica 2 node1:/tat/sde node2:/tat/sde node3:/tat/sde node4:/tat/sde force
四、部署GlusterFS卷
4.1、环境
主机名
系统ip
添加磁盘并格式化
每个磁盘挂载点
node1
192.168.106.170
/dev/sdb1, /dev/sdc1, /dev/sdd1, /dev/sde1
/tat/sdb, /tat/sdc, /tat/sdd, /tat/sde
node2
192.168.106.180
/dev/sdb1, /dev/sdc1, /dev/sdd1, /dev/sde1
/tat/sdb, /tat/sdc, /tat/sdd, /tat/sde
node3
192.168.106.190
/dev/sdb1, /dev/sdc1, /dev/sdd1, /dev/sde1
/tat/sdb, /tat/sdc, /tat/sdd, /tat/sde
node4
192.168.106.200
/dev/sdb1, /dev/sdc1, /dev/sdd1, /dev/sde1
/tat/sdb, /tat/sdc, /tat/sdd, /tat/sde
client
192.168.106.160
每台设备上添加好磁盘
[root@node4 ~]# vi fdisk.sh
[root@node4 ~]# chmod +x fdisk.sh
[root@node4 ~]# ./fdisk.sh
#!/bin/bash
for i in {b,c,d,e}
do
echo "n
p
1
w" | fdisk /dev/sd$i
mkdir -p /tat/sd$i
mkfs.xfs /dev/sd${i}1
cat>>/etc/fstab<<EOF
/dev/sd${i}1 /tat/sd$i xfs defaults 0 0
EOF
done
mount -a
df -Th
4.2 部署node节点
1.关闭防火墙,关闭核心防护(每台都需要改)
[root@server1 ~]# systemctl stop firewalld.service
[root@server1 ~]# setenforce 0
[root@server1 ~]# systemctl disable firewalld.service
[root@server1 ~]# sed -i '/SELINUX/s/SELINUX=enforcing/SELINUX=disable/g' /etc/selinux/config
2.为四台节点修改主机名,添加主机名解析到本地hosts文件中 (每台都需要改,包括客户机)
[root@localhost ~]# hostnamectl set-hostname node1
[root@localhost ~]# bash
[root@node1 ~]# vim /etc/hosts
192.168.106.170 node1
192.168.106.180 node2
192.168.106.190 node3
192.168.106.200 node4
3.配置本地yum源安装glusterfs相应软件并启动服务
[root@node1 ~]# vi /etc/yum.repos.d/GLFS.repo
[GLFS]
name=glfs
baseurl=file:///root/gfsrepo
gpgcheck=0
enabled=1
[root@node1 ~]# yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma
[root@node1 ~]# systemctl start glusterd
[root@node1 ~]# systemctl enable glusterd
[root@node1 ~]# systemctl status glusterd
4.时间同步
[root@node1 ~]# ntpdate ntp1.aliyun.com
24 Nov 17:26:56 ntpdate[2428]: adjust time server 120.25.115.20 offset -0.093008 sec
5.构建信任池(在任意节点即可)
[root@node1 ~]# gluster peer probe node2
peer probe: success.
[root@node1 ~]# gluster peer probe node3
peer probe: success.
[root@node1 ~]# gluster peer probe node4
peer probe: success.
#查看所有节点
[root@node1 ~]# gluster peer status
Number of Peers: 3
Hostname: node2
Uuid: 8aeae184-28a8-445b-aabf-fb392197bd9d
State: Peer in Cluster (Connected)
Hostname: node3
Uuid: 92b2f6e3-c623-410d-abde-9ba401b463db
State: Peer in Cluster (Connected)
Hostname: node4
Uuid: 7936a4d9-4c38-49da-a253-8a49d10f2465
State: Peer in Cluster (Connected)
4.3、根据规划创建如下卷
卷名称
卷类型
空间大小
Brick
dis-vol
分布式卷
10
node1:/tat/sdb;node2:/tat/sdb
stripe-vol
条带卷
10
node1:/tat/sdc;node2:/tat/sdc
rep-vol
复制卷
5
node3:/tat/sdb;node4:/tat/sdb
dis-stripe
分布式条带卷
20
node1:/tat/sdd;node2:/tat/sdd;node3:/tat/sdd;node4:/tat/sdd
dis-rep
分布式复制卷
10
node1:/tat/sde;node2:/tat/sde;node3:/tat/sde;node4:/tat/sde
客户端配置
1.安装glusterfs软件
[root@client ~]# yum -y install glusterfs glusterfs-fuse
3.创建5个5M的文件
[root@client ~]# dd if=/dev/zero of=/opt/test1.txt bs=1M count=5
[root@client ~]# dd if=/dev/zero of=/opt/test2.txt bs=1M count=5
[root@client ~]# dd if=/dev/zero of=/opt/test3.txt bs=1M count=5
[root@client ~]# dd if=/dev/zero of=/opt/test4.txt bs=1M count=5
[root@client ~]# dd if=/dev/zero of=/opt/test5.txt bs=1M count=5
4.3.1、创建分布式卷
[root@node1 ~]# gluster volume create dis-vol node1:/tat/sdb node2:/tat/sdb forcevolume create: dis-vol: success: please start the volume to access data
[root@node1 ~]# gluster volume info dis-vol #查看dis-vol卷信息
Volume Name: dis-vol
Type: Distribute
Volume ID: 7c949fae-2431-4b43-9831-fabff95b7949
Status: Created
Snapshot Count: 0
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: node1:/tat/sdb
Brick2: node2:/tat/sdb
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
[root@node1 ~]# gluster volume start dis-vol #启用dis-vol卷
volume start: dis-vol: success
[root@node1 ~]# gluster volume status dis-vol #查看dis-vol卷状态
客户端挂载分布式卷到/test/dis目录下,并将拷贝3个测试文件进去
[root@clint ~]# mkdir -p /test/dis
[root@clint ~]# mount.glusterfs node1:dis-vol /test/dis-vol/
[root@clint ~]# cp /opt/test{1,2,3}.txt /test/dis-vol/
[root@client ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
...省略内容
node1:dis-vol fuse.glusterfs 10G 80M 10G 1% /test/dis-vol
回到node1和node2节点中查看2个文件分布情况
node1下/tat/sdb/被分布到了1和3两个文件
[root@node1 ~]# ll -h /tat/sdb/
总用量 10M
-rw-r--r--. 2 root root 5.0M 11月 24 19:25 test1.txt
-rw-r--r--. 2 root root 5.0M 11月 24 19:29 test3.txt
node2 下/data/tat/被分布到了2一个文件
[root@node2 ~]# ll -h /tat/sdb/
总用量 5.0M
-rw-r--r--. 2 root root 5.0M 11月 24 19:25 test2.txt
4.3.2、创建复制卷
[root@node1 ~]# gluster volume create rep-vol replica 2 node3:/tat/sdb node4:/tat/sdb force
volume create: rep-vol: success: please start the volume to access data
[root@node1 ~]# gluster volume start rep-vol
volume start: rep-vol: success
[root@node1 ~]# gluster volume status rep-vol
Status of volume: rep-vol
Gluster process TCP Port RDMA Port Online Pid
------------------------------------------------------------------------------
Brick node3:/tat/sdb 49152 0 Y 3805
Brick node4:/tat/sdb 49152 0 Y 3807
...省略内容
客户端挂载分布式卷到/test/rep-vol目录下,并将5个测试文件拷贝进去
[root@clint ~]# mkdir -p /test/rep-vol
[root@clint ~]# mount.glusterfs node1:rep-vol /test/rep-vol/
[root@clint ~]# cp /opt/test* /test/rep-vol/
[root@client ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
...省略内容
node1:rep-vol fuse.glusterfs 5.0G 58M 5.0G 1% /test/rep-vol
回到node3和node4节点中查看5个文件分布情况
node3下/tat/sdb/被分布到了5个文件
[root@node3 ~]# ll -h /tat/sdb
总用量 25M
-rw-r--r--. 2 root root 5.0M 11月 24 20:02 test1.txt
-rw-r--r--. 2 root root 5.0M 11月 24 20:02 test2.txt
-rw-r--r--. 2 root root 5.0M 11月 24 20:02 test3.txt
-rw-r--r--. 2 root root 5.0M 11月 24 20:02 test4.txt
-rw-r--r--. 2 root root 5.0M 11月 24 20:02 test5.txt
node4下/tat/sdb/被分布到了5个文件
[root@node4 ~]# ll -h /tat/sdb/
总用量 25M
-rw-r--r--. 2 root root 5.0M 11月 24 20:02 test1.txt
-rw-r--r--. 2 root root 5.0M 11月 24 20:02 test2.txt
-rw-r--r--. 2 root root 5.0M 11月 24 20:02 test3.txt
-rw-r--r--. 2 root root 5.0M 11月 24 20:02 test4.txt
-rw-r--r--. 2 root root 5.0M 11月 24 20:02 test5.txt
4.3.3、创建分布式复制卷
[root@node1 ~]# gluster volume create dis-rep replica 2 node1:/tat/sde node2:/tat/sde node3:/tat/sde node4:/tat/sde force
[root@node1 ~]# gluster volume info dis-rep
[root@node1 ~]# gluster volume start dis-rep
[root@node1 ~]# gluster volume status dis-rep
客户端挂载分布式卷到/test/dis-rep目录下,并将5个测试文件拷贝进去
[root@client ~]# mkdir /test/dis-rep
[root@client ~]# mount.glusterfs node1:dis-rep /test/dis-rep
[root@clint ~]# cp /opt/test* /test/dis-rep/
[root@client ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
...node1:dis-rep fuse.glusterfs 10G 51M 9.9G 1% /test/dis-rep
回到node1、node2、node3和node4节点中查看5个文件分布情况
[root@node1 ~]# ll -h /tat/sde/
总用量 15M
-rw-r--r--. 2 root root 5.0M 11月 24 20:08 test1.txt
-rw-r--r--. 2 root root 5.0M 11月 24 20:08 test3.txt
-rw-r--r--. 2 root root 5.0M 11月 24 20:08 test4.txt
[root@node2 ~]# ll -h /tat/sde/
总用量 15M
-rw-r--r--. 2 root root 5.0M 11月 24 20:08 test1.txt
-rw-r--r--. 2 root root 5.0M 11月 24 20:08 test3.txt
-rw-r--r--. 2 root root 5.0M 11月 24 20:08 test4.txt
[root@node3 ~]# ll -h /tat/sde
总用量 10M
-rw-r--r--. 2 root root 5.0M 11月 24 20:08 test2.txt
-rw-r--r--. 2 root root 5.0M 11月 24 20:08 test5.txt
[root@node4 ~]# ll -h /tat/sde
总用量 10M
-rw-r--r--. 2 root root 5.0M 11月 24 20:08 test2.txt
-rw-r--r--. 2 root root 5.0M 11月 24 20:08 test5.txt
4.3.4、创建条带卷
[root@node1 ~]# gluster volume create stripe-vol stripe 2 node1:/tat/sdc node2:/tat/sdc force
[root@node1 ~]# gluster volume info stripe-vol
[root@node1 ~]# gluster volume start stripe-vol
[root@node1 ~]# gluster volume status stripe-vol
客户端挂载分布式卷到/test/stripe-vol目录下,并将5个测试文件拷贝进去
[root@clint ~]# mkdir /test/stripe-vol
[root@clint ~]# mount.glusterfs node1:stripe-vol /test/stripe-vol/
[root@clint ~]# cp /opt/test* /test/stripe-vol/
[root@clint ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
node1:stripe-vol fuse.glusterfs 10G 26M 9.9G 1% /test/stripe-vol
回到node1、node2节点中查看5个文件分布情况
[root@node1 ~]# ll -h /tat/sdc
总用量 13M
-rw-r--r--. 2 root root 2.5M 11月 24 20:20 test1.txt
-rw-r--r--. 2 root root 2.5M 11月 24 20:20 test2.txt
-rw-r--r--. 2 root root 2.5M 11月 24 20:20 test3.txt
-rw-r--r--. 2 root root 2.5M 11月 24 20:20 test4.txt
-rw-r--r--. 2 root root 2.5M 11月 24 20:20 test5.txt
[root@node2 ~]# ll -h /tat/sdc/
总用量 13M
-rw-r--r--. 2 root root 2.5M 11月 24 20:20 test1.txt
-rw-r--r--. 2 root root 2.5M 11月 24 20:20 test2.txt
-rw-r--r--. 2 root root 2.5M 11月 24 20:20 test3.txt
-rw-r--r--. 2 root root 2.5M 11月 24 20:20 test4.txt
-rw-r--r--. 2 root root 2.5M 11月 24 20:20 test5.txt
4.3.5、创建分布式条带卷
[root@node1 ~]# gluster volume create dis-stripe stripe 2 node1:/tat/sdd node2:/at/sdd node3:/tat/sdd node4:/tat/sdd force
[root@node1 ~]# gluster volume start dis-stripe
[root@node1 ~]# gluster volume status dis-stripe
客户端挂载分布式卷到/test/dis-stripe目录下,并将5个测试文件拷贝进去
[root@clint ~]# mkdir /test/dis-stripe
[root@clint ~]# mount.glusterfs node1:dis-stripe /test/dis-stripe/
[root@clint ~]# cp /opt/test* /test/dis-stripe/
[root@clint ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
node1:dis-stripe fuse.glusterfs 20G 155M 20G 1% /test/dis-stripe
回到node1、node2、node3和node4节点中查看5个文件分布情况
[root@node1 ~]# ll -h /tat/sdd/
总用量 7.5M
-rw-r--r--. 2 root root 2.5M 11月 24 20:31 test1.txt
-rw-r--r--. 2 root root 2.5M 11月 24 20:31 test3.txt
-rw-r--r--. 2 root root 2.5M 11月 24 20:31 test4.txt
[root@node2 ~]# ll -h /tat/sdd
总用量 7.5M
-rw-r--r--. 2 root root 2.5M 11月 24 20:31 test1.txt
-rw-r--r--. 2 root root 2.5M 11月 24 20:31 test3.txt
-rw-r--r--. 2 root root 2.5M 11月 24 20:31 test4.txt
[root@node3 ~]# ll -h /tat/sdd
总用量 5.0M
-rw-r--r--. 2 root root 2.5M 11月 24 20:31 test2.txt
-rw-r--r--. 2 root root 2.5M 11月 24 20:31 test5.txt
[root@node4 ~]# ll -h /tat/sdd
总用量 5.0M
-rw-r--r--. 2 root root 2.5M 11月 24 20:31 test2.txt
-rw-r--r--. 2 root root 2.5M 11月 24 20:31 test5.txt
4.4、破坏测试
将node2宕机掉模拟故障,查看客户端中挂载点中依然存在的文件:
[root@clint test]# ll -h dis-rep/
总用量 25M
-rw-r--r--. 1 root root 5.0M 11月 25 14:28 test1.txt
-rw-r--r--. 1 root root 5.0M 11月 25 14:28 test2.txt
-rw-r--r--. 1 root root 5.0M 11月 25 14:28 test3.txt
-rw-r--r--. 1 root root 5.0M 11月 25 14:28 test4.txt
-rw-r--r--. 1 root root 5.0M 11月 25 14:28 test5.txt
[root@clint test]# ll -h dis-stripe/
总用量 10M
-rw-r--r--. 1 root root 5.0M 11月 25 14:28 test2.txt
-rw-r--r--. 1 root root 5.0M 11月 25 14:28 test5.txt
[root@clint test]# ll -h dis-vol/
总用量 10M
-rw-r--r--. 1 root root 5.0M 11月 25 14:27 test1.txt
-rw-r--r--. 1 root root 5.0M 11月 25 14:27 test3.txt
[root@clint test]# ll -h rep-vol/
总用量 25M
-rw-r--r--. 1 root root 5.0M 11月 25 14:27 test1.txt
-rw-r--r--. 1 root root 5.0M 11月 25 14:27 test2.txt
-rw-r--r--. 1 root root 5.0M 11月 25 14:27 test3.txt
-rw-r--r--. 1 root root 5.0M 11月 25 14:27 test4.txt
-rw-r--r--. 1 root root 5.0M 11月 25 14:27 test5.txt
[root@clint test]# ll -h stripe-vol/
总用量 0
4.5、访问控制
#仅拒绝某个用户
[root@node1 ~]# gluster volume set dis-rep auth.reject 192.168.106.160
volume set: success
#仅允许某个用户
[root@node1 ~]# gluster volume set dis-rep auth.allow 192.168.106.160
volume set: success
root 5.0M 11月 25 14:27 test3.txt
[root@clint test]# ll -h rep-vol/
总用量 25M
-rw-r–r--. 1 root root 5.0M 11月 25 14:27 test1.txt
-rw-r–r--. 1 root root 5.0M 11月 25 14:27 test2.txt
-rw-r–r--. 1 root root 5.0M 11月 25 14:27 test3.txt
-rw-r–r--. 1 root root 5.0M 11月 25 14:27 test4.txt
-rw-r–r--. 1 root root 5.0M 11月 25 14:27 test5.txt
[root@clint test]# ll -h stripe-vol/
总用量 0
## 4.5、访问控制
#仅拒绝某个用户
[root@node1 ~]# gluster volume set dis-rep auth.reject 192.168.106.160
volume set: success
#仅允许某个用户
[root@node1 ~]# gluster volume set dis-rep auth.allow 192.168.106.160
volume set: success