CentOS7.6——如何构建GFS分布式文件系统?

一:GlusterFS(GFS)概述

1.1:GlusterFS简介

  • 开源的分布式文件系统
  • 有存储服务器、客户端以及NFS/Samba存储网关组成
  • 无元数据服务器

1.2:GlusterFS特点

  • 扩展性和高性能
  • 高可用性
  • 全局统一命名空间
  • 弹性卷管理
  • 基于标准协议

1.3:GlusterFS常用术语

  • Brick:GFS中的存储单元,通过是一个受信存储池中的服务器的一个导出目录。可以通过主机名和目录名来标识,如’SERVER:EXPORT’
  • Volume:卷
  • FUSE:内核文件系统,Filesystem Userspace是一个可加载的内核模块,其支持非特权用户创建自己的文件系统而不需要修改内核代码。通过在用户空间运行文件系统的代码通过FUSE代码与内核进行桥接。
  • VFS:虚拟文件系统
  • Glusterd:Gluster management daemon,要在trusted storage pool中所有的服务器上运行。

1.4:GFS的结构

  • 模块化堆栈式架构
    • 模块化、堆栈式的架构
    • 通过对模块的组合,实现复杂的功能

二:GlusterFS工作原理

2.1:GlusterFS工作流程

  • 1、客户端或应用程序通过GlusterFS的挂载点访问数据
  • 2、linux系统内核通过VFS API收到请求并处理
  • 3、VFS将数据递交给FUSE内核文件系统, fuse文件系统则是将数据通过/dev/fuse设备文件递交给了GlusterFS client端
  • 4、GlusterFS client 收到数据后,client根据配置文件的配置对数据进行处理
  • 5、通过网络将数据传递至远端的GlusterFS Server,并且将数据写入到服务器存储设备上

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BZIbCbAl-1600052951157)(C:\Users\kevin\AppData\Roaming\Typora\typora-user-images\image-20200914083139276.png)]

2.2:弹性HASH算法

  • 通过hash算法得到一个32位的整数
  • 划分为n个连续的子空间,每个空间对应一个Brick
  • 弹性hash算法的优点
    • 保证数据平均分布在每一个Brick中
    • 解决了对元数据服务器的依赖,进而解决了单点故障以及访问瓶颈

在这里插入图片描述

三:GlusterFS的卷类型

  • 分布式卷
  • 条带卷
  • 复制卷
  • 分布式条带卷
  • 分布式复制卷
  • 条带复制卷
  • 分布式条带复制卷

3.1:分布式卷

  • 没有对文件进行分块处理
  • 通过扩展文件属性保存HASH值
  • 支持的底层文件系统有ext3、ext4、ZFS、XFS等

在这里插入图片描述

  • 特点
    • 文件分布在不同的服务器,不具备冗余性
    • 更容易和廉价地扩展卷的大小
    • 单点故障会造成数据丢失
    • 依赖底层的数据保护
  • 使用场景:如果不知道文件有多大时,用分布式,安全性低
  • 创建分布式卷
    • 创建一个名为dis-volume的分布式卷,文件将根据hash分布在server1:/dir1、server2:/dir2
gluster volume create dis-volume server1:/dir1 server2:/dir2 

3.2:条带卷

  • 根据偏移量将文件分成N块(N个条带节点),轮询的存储在每个Brick Server节点
  • 存储大文件时,性能尤为突出
  • 不具备冗余性,类似Raid0

在这里插入图片描述

  • 特点

    • 数据被分割成更小块分布到块服务器群中的不同条带区
    • 分布减少了负载且更小的文件加速了存取的速度
    • 没有数据冗余
  • 创建条带卷

    • 创建一个名为Stripe-volume的条带卷,文件将被分块轮询的存储在Server1:/dir1和Server2:/dir2两个Brick中
gluster volume create stripe-volume stripe 2 transport tcp server1:/dir1 server2:/dir2

3.3:复制卷

  • 同一文件保存一份或多分副本
  • 复制模式因为要保存副本,所以磁盘利用率较低
  • 多个节点上的存储空间不一致,那么将按照木桶效应取最低节点的容量作为该卷的总容量

在这里插入图片描述

  • 特点

    • 卷中所有的服务器均保存一个完整的副本
    • 卷的副本数量可由客户创建的时候决定
    • 至少由两个块服务器或更多服务器
    • 具备冗余性
  • 创建复制卷

    • 创建名为rep-volume的复制卷,文件将同时存储两个副本,分别在Server1:/dir1和Server2:/dir2两个Brick中
gluster volume create rep-volume replica 2 transport tcp server1:/dir1 server2:/dir2

3.4:分布式条带卷

  • 兼顾分布式卷和条带卷的功能
  • 主要用于大文件访问处理
  • 至少最少需要 4 台服务器

在这里插入图片描述

  • 创建分布式条带卷
    • 创建了名为dis-stripe的分布式条带卷,配置分布式的条带卷时,卷中Brick所包含的存储服务器数必须是跳袋鼠的倍数(>=2倍)
gluster volume create dis-stripe stripe 2 transport tcp server1:/dir1 server2:/dir2 server3:/dir3 server:/dir4

3.5:分布式复制卷

  • 兼顾分布式卷和复制卷的功能

  • 用于需要冗余的情况下

  • 创建分布式复制卷

    • ​ 创建名为dis-rep的分布式条带卷,配置分布式复制卷时,卷中Brick所包含的存储服务器数必须是条带数的倍数(>=2)
gluster volume create dis-rep replica 2 transport tcp server1:/dir1 server2:/dir2 server3:/dir3 server:/dir4

四:GFS部署

4.1:群集环境

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AfOst3UG-1600052951168)(C:\Users\kevin\AppData\Roaming\Typora\typora-user-images\image-20200914090856473.png)]

  • 卷类型
卷名称 卷类型 节点
dis-volume 分布式卷 node1,node2
stripe-volume 条带卷 node1,node2
rep-volume 复制卷 node3,node4
dis-stripe 分布式条带卷 node1,2,3,4
dis-rep 分布式复制卷 node1,2,3,4

4.2:实验步骤

  • 添加磁盘并重启

    • 添加磁盘–仅展示其中一个界面,添加步骤都相同
    • 虚拟机设置----添加----硬盘,下一步----SCSI(推荐),下一步----创建新的虚拟磁盘,下一步----最大磁盘大小(自定义),勾选将虚拟磁盘拆分成多个文件,下一步----完成,相同方法添加其他的磁盘(除了client客户机),磁盘添加后需要重启一下才能识别到磁盘
      在这里插入图片描述
  • init 6:重启

  • 查看磁盘分区情况,仅以node1为例,写一个脚本,为指定的磁盘创建分区并格式化

[root@node1 ~]# systemctl stop firewalld
[root@node1 ~]# setenforce 0
[root@node1 ~]# fdisk -l	'查看磁盘是否添加成功'
[root@node1 ~]# cd /opt
[root@node1 opt]# mkdir abc
[root@node1 opt]# vim disk.sh
#! /bin/bash
echo "the disks exist list:"
##grep出系统所带磁盘
fdisk -l |grep '磁盘 /dev/sd[a-z]'    
echo "=================================================="
PS3="chose which disk you want to create:"
 ##选择需要创建的磁盘编号
select VAR in `ls /dev/sd*|grep -o 'sd[b-z]'|uniq` quit   
do
    case $VAR in
    sda)
 ##本地磁盘就退出case语句
        fdisk -l /dev/sda   
        break ;;
    sd[b-z])
        #create partitions
        echo "n    ##创建磁盘
                p
                
                
           
                w"  | fdisk /dev/$VAR
 
        #make filesystem
##格式化
        mkfs.xfs -i size=512 /dev/${VAR}"1" &> /dev/null    
	#mount the system
        mkdir -p /data/${
    
    VAR}"1" &> /dev/null
###永久挂载
        echo -e "/dev/${VAR}"1" /data/${VAR}"1" xfs defaults 0 0\n" >> /etc/fstab
###使得挂载生效
        mount -a &> /dev/null
        break ;;
    quit)
        break;;
    *)
        echo "wrong disk,please check again";;
    esac
done
[root@node1 opt]# chmod +x disk.sh 
[root@node1 opt]# ./disk.sh  '执行脚本,进行自动挂载'
  • 查看挂载情况
[root@node1 ~]# df -hT
文件系统       类型      容量  已用  可用 已用% 挂载点
/dev/sdb1      xfs       20.0G     0  20.0G    1% /data/sdb1
/dev/sdc1      xfs       20.0G     0  20.0G    1% /data/sdc1
/dev/sdd1      xfs       20.0G     0  20.0G    1% /data/sdd1
/dev/sde1      xfs       20.0G     0  20.0G    1% /data/sde1
[root@node2 ~]# df -hT
文件系统       类型      容量  已用  可用 已用% 挂载点
/dev/sdb1      xfs       20.0G     0  20.0G    1% /data/sdb1
/dev/sdc1      xfs       20.0G     0  20.0G    1% /data/sdc1
/dev/sdd1      xfs       20.0G     0  20.0G    1% /data/sdd1
/dev/sde1      xfs       20.0G     0  20.0G    1% /data/sde1
[root@node3 ~]# df -hT
文件系统       类型      容量  已用  可用 已用% 挂载点
/dev/sdb1      xfs       20.0G     0  20.0G    1% /data/sdb1
/dev/sdc1      xfs       20.0G     0  20.0G    1% /data/sdc1
/dev/sdd1      xfs       20.0G     0  20.0G    1% /data/sdd1
/dev/sde1      xfs       20.0G     0  20.0G    1% /data/sde1
[root@node4 ~]# df -hT
文件系统       类型      容量  已用  可用 已用% 挂载点
/dev/sdb1      xfs       20.0G     0  20.0G    1% /data/sdb1
/dev/sdc1      xfs       20.0G     0  20.0G    1% /data/sdc1
/dev/sdd1      xfs       20.0G     0  20.0G    1% /data/sdd1
/dev/sde1      xfs       20.0G     0  20.0G    1% /data/sde1
  • 在四台node上映射主机名,建立群集关系
vim /etc/hosts
20.0.0.51 node1   主机名
20.0.0.52 node2
20.0.0.55 node3
20.0.0.129 node4
[root@node1 ~]# ping node2
[root@node1 ~]# ping node3
[root@node1 ~]# ping node4  '是可以ping通的'
  • 在四台Node上,编写GFS的源,以node1为例
[root@node1 ~]# cd /opt 
[root@node1 opt]# mkdir abc
[root@node1 opt]# rz

[root@node1 opt]# ls    '在/opt查看关于gfs的软件包'
gfsrepo.zip  rh
[root@node1 opt]# unzip gfsrepo.zip    '解压'
[root@node1 opt]# cd /etc/yum.repos.d/
[root@node1 yum.repos.d]# mkdir bak    '将原来的源移动到新建的目录中'
[root@node1 yum.repos.d]# mv Cent* bak/
[root@node1 yum.repos.d]# vim gfs.repo
[glfs]
name=glfs
baseurl=file:///opt/abc/gfsrepo
gpgcheck=0
enabled=1

[root@node1 yum.repos.d]# yum remove glusterfs
[root@node1 yum.repos.d]# yum remove glusterfs-libs.x86_64  '这边软件版本比较老了'
[root@node1 yum.repos.d]# yum -y install glusterfs glusterfs-server glusterfs-fuse glusterfs-rdma
[root@node1 yum.repos.d]# systemctl start glusterd.service		'启动'
[root@node1 yum.repos.d]# systemctl enable glusterd.service		'开机自启'
Created symlink from /etc/systemd/system/multi-user.target.wants/glusterd.service to /usr/lib/systemd/system/glusterd.service.
[root@node1 yum.repos.d]# systemctl status glusterd.service  '查看状态'
  • 时间同步
ntpdate ntp1.aliyun.com
  • 添加存储信任池,只要在一台主机上添加其他三台节点即可,本实验在node1上操作
[root@node1 yum.repos.d]# gluster peer probe node2
peer probe: success. 
[root@node1 yum.repos.d]# gluster peer probe node3
peer probe: success. 
[root@node1 yum.repos.d]# gluster peer probe node4
  • 查看所有节点
[root@node1 yum.repos.d]# gluster peer status

4.3:GFS卷的创建

  • 创建分布式卷,因为已经做好了群集,所以一下操作只在一个node节点上操作即可
[root@node4 yum.repos.d]# gluster volume create dis-vol node1:/data/sdb1 node2:/data/sdb1 force
[root@node4 yum.repos.d]# gluster volume list '列出所有卷' 
dis-vol
[root@node4 yum.repos.d]# gluster volume info dis-vol '查看分布式卷信息'

Volume Name: dis-vol
Type: Distribute
Volume ID: e0b6848f-f5f2-4e23-b211-88f9505c017a
Status: Created
Snapshot Count: 0
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: node1:/data/sdb1
Brick2: node2:/data/sdb1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
[root@node4 yum.repos.d]# gluster volume start dis-vol	'开启分布式卷'
volume start: dis-vol: success
[root@node4 yum.repos.d]# gluster volume info dis-vol 

Volume Name: dis-vol
Type: Distribute
Volume ID: e0b6848f-f5f2-4e23-b211-88f9505c017a
Status: Started				'由原来的created变成started'
Snapshot Count: 0
Number of Bricks: 2
Transport-type: tcp
Bricks:
Brick1: node1:/data/sdb1
Brick2: node2:/data/sdb1
Options Reconfigured:
transport.address-family: inet
nfs.disable: on
[root@node4 yum.repos.d]# gluster volume stop dis-vol  '关闭'
[root@node4 yum.repos.d]# gluster volume delete dis-vol   '先关闭再删除'
  • 创建条带卷
[root@node4 yum.repos.d]# gluster volume create stripe-vol stripe 2 node1:/data/sdc1 node2:/data/sdc1 force
volume create: stripe-vol: success: please start the volume to access data
[root@node4 yum.repos.d]# gluster volume list 
dis-vol
stripe-vol
[root@node4 yum.repos.d]# gluster volume start stripe-vol 
  • 创建复制卷
[root@node4 yum.repos.d]# gluster volume create rep-vol replica 2 node3:/data/sdb1 node4:/data/sdb1 force
[root@node4 yum.repos.d]# gluster volume list 
[root@node4 yum.repos.d]# gluster volume start rep-vol
  • 创建分布式条带卷
[root@node1 yum.repos.d]# gluster volume create dis-stripe stripe 2 node1:/data/sdd1 node2:/data/sdd1 node3:/data/sdd1 node4:/data/sdd1 force
volume create: dis-stripe: success: please start the volume to access data
[root@node1 yum.repos.d]# gluster volume info dis-stripe
[root@node1 yum.repos.d]# gluster volume start dis-strip
  • 创建分布式复制卷
[root@node1 yum.repos.d]# gluster volume create dis-rep replica 2 node1:/data/sde1 node2:/data/sde1 node3:/data/sde1 node4:/data/sde1 force
volume create: dis-rep: success: please start the volume to access data
[root@node1 yum.repos.d]# gluster volume info dis-rep
[root@node1 yum.repos.d]# gluster volume start dis-rep
volume start: dis-rep: success

4.4:部署客户端

  • 相同方法将gfsrepo 软件上传到/opt目下 ,不在赘述
  • 相同方法配置本地yum源
[root@client ~]# cd /opt
[root@client opt]# cd /etc/yum.repos.d/
[root@client yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
[root@client yum.repos.d]# mkdir bak
[root@client yum.repos.d]# mv C* bak
[root@client yum.repos.d]# vim local.repo
[root@client yum.repos.d]# yum clean all
[root@client yum.repos.d]# yum makecache
[root@client yum.repos.d]# yum -y install glusterfs glusterfs-fuse
  • 修改本地域名解析文件
[root@client ~]# vim /etc/hosts
20.0.0.51 node1
20.0.0.47 node2
20.0.0.55 node3
20.0.0.129 node4
  • 创建挂载点目录,临时挂载Gluster文件系统
[root@client yum.repos.d]# mkdir -p /text/{
    
    dis,stripe,rep,dis_stripe,dis_rep}	'创建挂载点目录'
[root@client yum.repos.d]# mount.glusterfs node1:dis-volume /text/dis
[root@client yum.repos.d]# mount.glusterfs node2:stripe-volume /test/stripe
[root@client yum.repos.d]# mount.glusterfs node1:rep-volume /text/rep
[root@client yum.repos.d]# mount.glusterfs node1:dis-stripe /text/dis_stripe
[root@client yum.repos.d]# mount.glusterfs node1:dis-rep /text/dis_rep
'如果要永久挂载需要修改fstab文件'
[root@client yum.repos.d]# vim /etc/fstab
'尾行添加'
node1:dis-volume        /text/dis               glusterfs defaults,_netdev      0 0
node1:stripe-volume     /text/stripe            glusterfs defaults,_netdev      0 0
node1:rep-volume        /text/rep               glusterfs defaults,_netdev      0 0
node1:dis-stripe        /text/dis_stripe    glusterfs defaults,_netdev      0 0
node1:dis-rep           /text/dis_rep       glusterfs defaults,_netdev      0 0
  • 创建测试文件
[root@client yum.repos.d]# dd if=/dev/zero of=/demo1.log bs=1M count=40
记录了40+0 的读入
记录了40+0 的写出
41943040字节(42 MB)已复制,0.103023 秒,407 MB/
[root@client yum.repos.d]# dd if=/dev/zero of=/demo2.log bs=1M count=40
记录了40+0 的读入
记录了40+0 的写出
41943040字节(42 MB)已复制,0.434207 秒,96.6 MB/
[root@client yum.repos.d]# dd if=/dev/zero of=/demo3.log bs=1M count=40
记录了40+0 的读入
记录了40+0 的写出
41943040字节(42 MB)已复制,0.388875 秒,108 MB/
[root@client yum.repos.d]# dd if=/dev/zero of=/demo4.log bs=1M count=40
记录了40+0 的读入
记录了40+0 的写出
41943040字节(42 MB)已复制,0.465817 秒,90.0 MB/
[root@client yum.repos.d]# dd if=/dev/zero of=/demo5.log bs=1M count=40
记录了40+0 的读入
记录了40+0 的写出
41943040字节(42 MB)已复制,0.437829 秒,95.8 MB/
[root@client ~]# cd /
[root@client /]# ll	'查看刚创建的测试文件'
总用量 204828
-rw-r--r--.   1 root root 41943040 2  17 22:53 demo1.log
-rw-r--r--.   1 root root 41943040 2  17 22:53 demo2.log
-rw-r--r--.   1 root root 41943040 2  17 22:53 demo3.log
-rw-r--r--.   1 root root 41943040 2  17 22:53 demo4.log
-rw-r--r--.   1 root root 41943040 2  17 22:53 demo5.log
  • 将新建的测试文件CP到指定位置(各个GFS卷的挂载点)
[root@client /]# cp /demo* /text/dis
[root@client /]# cp /demo* /text/stripe/
[root@client /]# cp /demo* /text/rep/
[root@client /]# cp /demo* /text/dis_stripe/
[root@client /]# cp /demo* /text/dis_rep/

4.5:测试GFS文件

  • 查看分布式文件分布
[root@node1 yum.repos.d]# cd /data/sdb1/
[root@node1 sdb1]# ll -h
总用量 160M
-rw-r--r--. 2 root root 40M 9  13 22:50 demo1.log
-rw-r--r--. 2 root root 40M 9  13 22:50 demo2.log
-rw-r--r--. 2 root root 40M 9  13 22:50 demo3.log
-rw-r--r--. 2 root root 40M 9  13 22:50 demo4.log
[root@node2 yum.repos.d]# cd /data/sdb1/
[root@node2 sdb1]# ll -h
总用量 40M
-rw-r--r--. 2 root root 40M 9  13 22:50 demo5.log
'发现5个文件被分布式存储到了两个节点,且没有被切片,都是40M原本大小'
  • 查看条带卷文件分布
[root@node1 yum.repos.d]# cd /data/sdc1/
[root@node1 sdc1]# ll -h
总用量 100M
-rw-r--r--. 2 root root 20M 9  13 22:50 demo1.log
-rw-r--r--. 2 root root 20M 9  13 22:50 demo2.log
-rw-r--r--. 2 root root 20M 9  13 22:50 demo3.log
-rw-r--r--. 2 root root 20M 9  13 22:50 demo4.log
-rw-r--r--. 2 root root 20M 9  13 22:50 demo5.log
[root@node2 yum.repos.d]# cd /data/sdc1/
[root@node2 sdc1]# ll -h
总用量 100M
-rw-r--r--. 2 root root 20M 9  13 22:50 demo1.log
-rw-r--r--. 2 root root 20M 9  13 22:50 demo2.log
-rw-r--r--. 2 root root 20M 9  13 22:50 demo3.log
-rw-r--r--. 2 root root 20M 9  13 22:50 demo4.log
-rw-r--r--. 2 root root 20M 9  13 22:50 demo5.log
'发现数据已经被分片,分到node1和node2节点上'
  • 查看复制卷分布
[root@node3 yum.repos.d]# ll -h /data/sdb1
总用量 201M
-rw-r--r--. 2 root root 40M 2  17 22:55 demo1.log
-rw-r--r--. 2 root root 40M 2  17 22:55 demo2.log
-rw-r--r--. 2 root root 40M 2  17 22:55 demo3.log
-rw-r--r--. 2 root root 40M 2  17 22:55 demo4.log
-rw-r--r--. 2 root root 40M 2  17 22:55 demo5.log
[root@node4 yum.repos.d]# ll -h /data/sdb1
总用量 201M
-rw-r--r--. 2 root root 40M 2  17 22:55 demo1.log
-rw-r--r--. 2 root root 40M 2  17 22:55 demo2.log
-rw-r--r--. 2 root root 40M 2  17 22:55 demo3.log
-rw-r--r--. 2 root root 40M 2  17 22:55 demo4.log
-rw-r--r--. 2 root root 40M 2  17 22:55 demo5.log
'数据没有被分片 实现数据冗余'
  • 分布式条带卷查看
[root@node1 yum.repos.d]# ll -h /data/sdd1
总用量 80M
-rw-r--r--. 2 root root 20M 2  17 22:55 demo1.log
-rw-r--r--. 2 root root 20M 2  17 22:55 demo2.log
-rw-r--r--. 2 root root 20M 2  17 22:55 demo3.log
-rw-r--r--. 2 root root 20M 2  17 22:55 demo4.log
[root@node2 yum.repos.d]# ll -h /data/sdd1
总用量 80M
-rw-r--r--. 2 root root 20M 2  17 22:55 demo1.log
-rw-r--r--. 2 root root 20M 2  17 22:55 demo2.log
-rw-r--r--. 2 root root 20M 2  17 22:55 demo3.log
-rw-r--r--. 2 root root 20M 2  17 22:55 demo4.log
[root@node3 yum.repos.d]# ll -h /data/sdd1
总用量 20M
-rw-r--r--. 2 root root 20M 2  17 22:55 demo5.log
[root@node4 yum.repos.d]# ll -h /data/sdd1
总用量 20M
-rw-r--r--. 2 root root 20M 2  17 22:55 demo5.log
'发现5个文件被分布式存储到了两个节点,且被切片,为20M'
  • 分布式复制卷查看
[root@node1 yum.repos.d]# ll -h /data/sde1
总用量 160M
-rw-r--r--. 2 root root 40M 2  17 22:55 demo1.log
-rw-r--r--. 2 root root 40M 2  17 22:55 demo2.log
-rw-r--r--. 2 root root 40M 2  17 22:55 demo3.log
-rw-r--r--. 2 root root 40M 2  17 22:55 demo4.log
[root@node2 yum.repos.d]# ll -h /data/sde1
总用量 160M
-rw-r--r--. 2 root root 40M 2  17 22:55 demo1.log
-rw-r--r--. 2 root root 40M 2  17 22:55 demo2.log
-rw-r--r--. 2 root root 40M 2  17 22:55 demo3.log
-rw-r--r--. 2 root root 40M 2  17 22:55 demo4.log
[root@node3 yum.repos.d]# ll -h /data/sde1
总用量 40M
-rw-r--r--. 2 root root 40M 2  17 22:55 demo5.log
[root@node4 yum.repos.d]# ll -h /data/sde1
总用量 40M
-rw-r--r--. 2 root root 40M 2  17 22:55 demo5.log
'发现5个文件被分布式存储到了4个节点,且没有被切片,都是40M原本大小,实现数据冗余'

4.6:破坏测试

  • 当我们关机node2 在客户端上查看文件是否正常
[root@node2 /]# init 0
[root@client /]# cd /text
[root@client text]# ls
dis  dis-rep  dis-str  rep  strip
[root@client text]# ls dis     'demo5.log丢失'
demo1.log  demo2.log  demo3.log  demo4.log
[root@client text]# ls dis-rep/	     '分布式复制卷数据没有丢失'
demo1.log  demo2.log  demo3.log  demo4.log  demo5.log
[root@client text]# ls dis-str/      '分布式条带卷丢了四个'
demo5.log
[root@client text]# ls rep
demo1.log  demo2.log  demo3.log  demo4.log  demo5.log	'复制卷数据没有丢失'
[root@client text]# ls strip  '条带卷全部丢失'
[root@client text]# 

4.7:访问控制

  • 仅拒绝(黑名单)
gluster volume set dis-vol auth.reject 20.0.0.60
  • 仅允许(白名单)
gluster volume set dis-vol auth.allow 20.0.0.60

猜你喜欢

转载自blog.csdn.net/m0_47219942/article/details/108575528