GFS分布式文件系统

发布于:2025-06-13 ⋅ 阅读:(25) ⋅ 点赞:(0)

目录

GlusterFS概述

GlusterFS简介

GlusterFS特点

GlusterFS术语

模块化堆栈式架构

GlusterFS的工作原理

GlusterFS的工作流程

弹性HASH算法

GlusterFS的卷类型

分布式卷

条带卷

复制卷

分布式条带卷

分布式复制卷

部署GlusterFS群集

部署群集环境

准备环境

关闭防火墙和selinux

配置hosts文件

安装软件

启动GlusterFS

添加节点

查看群集状态

创建卷

创建分布式卷

创建条带卷

创建复制卷

创建分布式条带卷

创建分布式复制卷

部署Gluster客户端

安装客户端软件

创建挂载目录

修改hosts文件

挂载Gluster文件系统

修改fstab配置文件

测试Gluster文件系统

卷中写入文件

查看文件分布

破坏性测试

其他的维护命令

查看GlusterFS卷

停止/删除卷

设置卷的访问控制


GlusterFS概述

GlusterFS简介

GlusterFS 是一个开源的分布式文件系统,它将多个物理存储设备整合为一个统一的存储池,通过网络向外提供文件存储服务。它基于标准的 Linux 操作系统和通用的硬件设备构建,不依赖于专用硬件,具有高度的灵活性和可扩展性。GlusterFS 支持多种客户端,包括 Linux、Windows、macOS 等,并且可以与多种应用程序无缝集成,如虚拟化平台(KVM、VMware)、数据库(MySQL、PostgreSQL)等,广泛应用于大数据存储、云计算、内容分发网络等领域。

GlusterFS特点

  1. 高可扩展性:GlusterFS 可以轻松地添加或删除存储节点,实现存储容量的线性扩展。通过简单地将新的存储服务器加入到集群中,即可增加整个存储系统的容量和性能,无需停机或中断服务。
  2. ​高性能:采用分布式架构和并行处理技术,GlusterFS 能够充分利用集群中多个节点的计算和存储资源,实现数据的并行读写,大大提高了数据的访问速度。同时,它还支持条带化(Striping)和缓存技术,进一步提升性能。​
  3. 高可用性:GlusterFS 通过数据复制和故障转移机制确保数据的高可用性。数据可以在多个节点上进行复制,当某个节点出现故障时,系统能够自动切换到其他正常节点,保证数据的持续访问,不会出现数据丢失或服务中断的情况。​
  4. 统一命名空间:GlusterFS 为整个存储集群提供了一个统一的命名空间,用户可以像访问本地文件系统一样访问 GlusterFS 中的文件,无需关心数据实际存储在哪个物理节点上。这种统一的视图使得数据管理和访问更加方便和直观。
  5. 开源免费:作为开源软件,GlusterFS 无需支付昂贵的软件授权费用,企业和个人可以根据自身需求自由使用、修改和分发代码,降低了存储解决方案的成本。同时,其庞大的开源社区也为用户提供了丰富的技术支持和资源。

GlusterFS术语

  • Brick:Brick 是 GlusterFS 中存储数据的基本单元,它可以是本地文件系统中的一个目录,也可以是远程存储设备(如 NFS、CIFS 共享)上的一个目录。每个 Brick 对应一个物理存储位置,数据会实际存储在这些 Brick 中。​
  • Volume:Volume 是由一个或多个 Brick 组成的逻辑存储单元,它是 GlusterFS 对外提供服务的实体。根据不同的需求和应用场景,GlusterFS 支持多种卷类型,如分布式卷、条带卷、复制卷等,每种卷类型都有其独特的特性和用途。​
  • Cluster:Cluster 是由多个运行 GlusterFS 服务的节点组成的集合。这些节点通过网络相互连接,协同工作,共同提供存储服务。在集群中,节点之间会自动进行信息交换和同步,以确保数据的一致性和可用性。​
  • Fuse:Fuse(Filesystem in Userspace)是一种用户空间文件系统框架,它允许在用户空间中实现文件系统,而无需修改内核代码。GlusterFS 客户端通过 Fuse 与 GlusterFS 集群进行交互,将 GlusterFS 的分布式文件系统挂载到本地,使用户能够像访问本地文件系统一样访问 GlusterFS 中的文件。

模块化堆栈式架构

下图是GlusterFS机构细化图,GlusterFS 采用模块化、堆栈式的架构,可以根据需 求配置定制化的应用环境,如大文件存储、海量小文件存储、云存储、多传输协议应用等。 通过对模块进行各种组合,即可实现复杂的功能。例如 Replicate 模块可实现 RAID1 Stripe 模块可实现 RAID0 ,通过两者的组合可实现 RAID10 RAID01 ,同时获得更高的性能及可 靠性。

 

GlusterFS 是模块化堆栈式的架构设计,模块称为 Translator ,是 GlusterFS 提供的一 种强大机制,借助这种良好定义的接口可以高效简便地扩展文件系统的功能。
> 服务端与客户端的设计高度模块化的同时模块接口是兼容的,同一个 translator 可同 时在客户端和服务器加载。
 >  GlusterFS 中所有的功能都是通过 translator 实现的,其中客户端要比服务端更复杂, 所以功能的重点主要集中在客户端上。

GlusterFS的工作原理

GlusterFS的工作流程

GlusterFS 的工作流程如下:
(1) 客户端或应用程序通过 GlusterFS 的挂载点访问数据。
(2) Linux 系统内核通过 VFS API 收到请求并处理。
(3) VFS 将数据递交给 FUSE 内核文件系统,并向系统注册一个实际的文件系统 FUSE , 而 FUSE 文件系统则是将数据通过 /dev/fuse 设备文件递交给了 GlusterFS client 端。可以 将 FUSE 文件系统理解为一个代理。
(4) GlusterFS client 收到数据后, client 根据配置文件对数据进行处理。
(5) 经过 GlusterFS client 处理后,通过网络将数据传递至远端的 GlusterFS Server, 并且将数据写入服务器存储设备。

弹性HASH算法

弹性 HASH 算法是 Davies-Meyer 算法的具体实现,通过 HASH 算法可以得到一个 32 位的整数范围的 hash 值,假设逻辑卷中有 N 个存储单位 Brick ,则 32 位的整数范围将被划 分为 N 个连续的子空间,每个空间对应一个 Brick 。当用户或应用程序访问某一个命名空间 时,通过对该命名空间计算 HASH 值,根据该 HASH 值所对应的 32 位整数空间定位数据 所在的 Brick 。弹性 HASH 算法的优点表现如下。
> 保证数据平均分布在每个 Brick 中。
> 解决了对元数据服务器的依赖,进而解决了单点故障及访问瓶颈。

现在假设创建了一个包含四个 Brick 节点的 GlusterFS 卷,在服务端的 Brick 挂载目录 会给四个 Brick 平均分配 2 32 的区间的范围空间, GlusterFS hash 分布区间是保存在目录上 而不是根据机器去分布区间。如图下 所示, Brick* 表示一个目录。分布区间保存在每个 Brick 挂载点目录的扩展属性上。

在卷中创建四个文件,分别是 test-file1 test-file2 test-file3 test-file4 。在访问文件 时,通过快速Hash 函数计算出对应的 HASH (2 32 范围的数值 ) ,然后根据计算出来的 HASH 值所对应的子空间散列到服务器的 Brick 上,如图下 所示。

GlusterFS的卷类型

GlusterFS 支持七种卷,即分布式卷、条带卷、复制卷、分布式条带卷、分布式复制卷、 条带复制卷和分布式条带复制卷,这七种卷可以满足不同应用对高性能、高可用的需求。
> 分布式卷(Distribute volume ):文件通过 HASH 算法分布到所有 Brick Server 上, 这种卷是 Glusterf 的基础;以文件为单位根据 HASH 算法散列到不同的 Brick ,其实 只是扩大了磁盘空间,如果有一块磁盘损坏,数据也将丢失,属于文件级的 RAID 0 , 不具有容错能力。
> 条带卷(Stripe volume ):类似 RAID0 ,文件被分成数据块并以轮询的方式分布到多 个 Brick Server 上,文件存储以数据块为单位,支持大文件存储,文件越大,读取效 率越高。
> 复制卷(Replica volume ):将文件同步到多个 Brick 上,使其具备多个文件副本, 属于文件级 RAID 1 ,具有容错能力。因为数据分散在多个 Brick 中,所以读性能得 到很大提升,但写性能下降。
> 分布式条带卷(Distribute Stripe volume ): Brick Server 数量是条带数(数据块分布 的 Brick 数量)的倍数,兼具分布式卷和条带卷的特点。
> 分布式复制卷(Distribute Replica volume ): Brick Server 数量是镜像数(数据副本 数量)的倍数,兼具分布式卷和复制卷的特点。
> 条带复制卷(Stripe Replica volume ):类似 RAID 10 ,同时具有条带卷和复制卷的 特点。
> 分布式条带复制卷(Distribute Stripe Replicavolume ):三种基本卷的复合卷,通常 用于类 Map Reduce 应用。 下面介绍几种重要的卷类型。

分布式卷

分布式卷是 GlusterFS 的默认卷,在创建卷时,默认选项是创建分布式卷。在该模式下, 并没有对文件进行分块处理,文件直接存储在某个 Server 节点上。直接使用本地文件系统 进行文件存储,大部分 Linux 命令和工具可以继续正常使用。需要通过扩展文件属性保存 HASH 值,目前支持的底层文件系统有 EXT3 EXT4 ZFS XFS 等。 由于使用的是本地文件系统,所以存取效率并没有提高,反而会因为网络通信的原因而 有所降低;另外支持超大型文件也会有一定的难度,因为分布式卷不会对文件进行分块处理。 虽然 EXT4 已经可以支持最大 16TB 的单个文件,但是本地存储设备的容量实在有限。如图下所示, File1 File2 存放在 Server1 ,而 File3 存放在 Server2 ,文件都是随机存储,一 个文件(如 File1 )要么在 Server1 上,要么在 Server2 上,不能分块同时存放在 Server1 和 Server2 上。

分布式卷具有如下特点:
> 文件分布在不同的服务器, 不具备冗余性。
> 更容易且廉价地扩展卷的大小。
> 存在单点故障会造成数据丢失。
> 依赖底层的数据保护。
创建分布式卷的命令如下所示:

# gluster volume create dis-volume server1:/dir1 server2:/dir2server3:/dir3
Creation of dis -volume has been successful
Please start the volume to access data

上述命令创建了一个名为 dis-volume 的分布式卷,文件将根据 HASH 分布在 server1:/dir1、 server2:/dir2 server3:/dir3 中。

条带卷

Stripe 模式相当于 RAID0 ,在该模式下,根据偏移量将文件分成 N 块( N 个条带节点), 轮询地存储在每个 Brick Server 节点。节点把每个数据块都作为普通文件存入本地文件系统 中,通过扩展属性记录总块数(Stripe-count )和每块的序号( Stripe-index )。在配置时指 定的条带数必须等于卷中 Brick 所包含的存储服务器数,在存储大文件时,性能尤为突出, 但是不具备冗余性。

将数据文件分布到不同的 Brick 节点,如图下 所示, File 被分割为 6 段, 1 3 5
Server1 2 4 6 放在 Server2
条带卷具有如下特点。
> 数据被分割成更小块分布到块服务器群中的不同条带区。
> 分布减少了负载且更小的文件加速了存取的速度。
> 没有数据冗余。
创建条带卷的命令如下所示:

# gluster volume create stripe-volume stripe 2 transport tcp server1:/dir1
server2:/dir2
Creation of stripe -volume has been successful
Please start the volume to access data
上述命令创建了一个名为 Stripe-volume 的条带卷,文件将被分块轮询地存储在Server1:/dir1 和 Server2:/dir2 两个 Brick 中。

复制卷

复制模式,也称为 AFR AutoFile Replication ),相当于 RAID1 ,即同一文件保存一份 或多份副本,每个节点上保存相同的内容和目录结构。复制模式因为要保存副本,所以磁盘 利用率较低。如果多个节点上的存储空间不一致,那么将按照木桶效应取最低节点的容量作为该卷的总容量。在配置复制卷时,复制数必须等于卷中 Brick 所包含的存储服务器数,复 制卷具备冗余性,即使一个节点损坏,也不影响数据的正常使用。
将数据文件分布到不同的 Brick 节点,如图下 所示。 File1 同时存在 Server1 Server2 , File2 也是如此,相当于 Server2 的文件是 Server1 中文件的副本。

复制卷具有如下特点。
> 卷中所有的服务器均保存一个完整的副本。
> 卷的副本数量可由客户创建的时候决定。
> 至少有两个块服务器或更多服务器。
> 具备冗余性。
创建复制卷的命令如下所示:
# gluster volume create rep-volume replica 2 transport tcp server1:/dir1
server2:/dir2
Creation of rep-volume has been successful
Please start the volume to access data
上述命令创建了一个名为 rep -volume 的复制卷,文件将同时存储两个副本,分别在
Server1:/dir1 Server2:/dir2 两个 Brick 中。

分布式条带卷

分布式条带卷兼顾分布式卷和条带卷的功能,主要用于大文件访问处理,创建一个分布
式条带卷最少需要 4 台服务器。
图下 展示了分布式条带卷原理。 File1 File2 通过分布式卷的功能分别定位到 Server1
Server2 。在 Server1 中, File1 被分割成 4 段,其中 1 3 Server1 中的 exp1 目中,
2 4 Server1 中的 exp2 目录中。在 Server2 中, File2 也被分割成 4 段,其中 1 3
Server2 中的 exp3 目录中, 2 4 Server2 中的 exp4 目录中。

创建分布式条带卷的命令如下所示:
# gluster volume create dis-stripe stripe 2 transport tcp server1:/dir1
server2:/dir2 server3:/dir3 server4:/dir4
Creation of dis-stripe has been successful
Please start the volume to access data
上述命令创建了一个名为 dis-stripe 的分布式条带卷,配置分布式条带卷时,卷中 Brick 所包含的存储服务器数必须是条带数的倍数(≥2 ) 。在上述命令中, Brick 的数量是 4 (Server1:/dir1 Server2:/dir2 Server3:/dir3 Server4:/dir4 ),条带数为 2 stripe 2 )。
创建卷时,存储服务器的数量如果等于条带或复制数,那么创建的是条带卷或者复 制卷;如果存储服务器的数量是条带或复制数的 2 倍甚至更多,那么将创建的是分布 式条带卷或分布式复制卷。

分布式复制卷

分布式复制卷兼顾分布式卷和复制卷的功能,主要用于需要冗余的情况下。图 2.10 呈 现了分布式复制卷原理。File1 File2 通过分布式卷的功能分别定位到 Server1 Server2 。 在存放 File1 时, File1 根据复制卷的特性,将存在两个相同的副本,分别是 Server1 中的 exp1 目录和 Server2 中的 exp2 目录。在存放 File2 时, File2 根据复制卷的特性,也将存 在两个相同的副本,分别是 Server3 中的 exp3 目录和 Server4 中的 exp4 目录。

创建分布式复制卷的命令如下所示:
# gluster volume create dis-rep replica 2 transport tcp server1:/dir1 server2:
/dir2 server3:/dir3 server4:/dir4
Creation of dis-rep has been successful
Please start the volume to access data
上述命令创建了一个名为 dis-rep 的分布式复制卷,配置分布式复制卷时,卷中 Brick 所包含的存储服务器数必须是条带数的倍数(≥2 ) 。在上述命令中, Brick 的数量是 4 (Server1:/dir1 Server2:/dir2 Server3:/dir3 Server4:/dir4 ),复制数为 2 replica 2 )。  
假如存在 8 台存储服务器,当复制副本为 2 时,按照服务器列表的顺序,服务器 1 和 2 作为一个复制 , 服务器 3 4 作为一个复制 , 服务器 5 6 作为一个复制 , 服务器 7 和 8 作为一个复制;当复制副本为 4 时,按照服务器列表的顺序,服务器 1/2/3/4 作 为一个复制, 服务器 5/6/7/8 作为一个复制。

部署GlusterFS群集

部署群集环境

准备环境

在所有节点上执行以下操作。
开启 4 台虚拟机,根据表 2-1 添加磁盘,先使用 fdisk 命令创建分区,再使用 mkfs 命 令对分区进行格式化,创建相应的挂载目录,并将格式化的磁盘挂载到相应的目录中,最后 修改/etc/fstab 配置文件,使其永久生效。此步骤略。

关闭防火墙和selinux

在所有节点上操作。

配置hosts文件

在所有节点上修改 /etc/hosts 文件,添加 4 个节点的解析。下面以 node1 为例进行操作
演示。
[root@node1 ~]# cat /etc/hosts
127.0.0.1
localhost localhost.localdomain localhost4 localhost4.localdomain4
::1
localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.8.134 node1
192.168.8.136 node2
192.168.8.139 node3
192.168.8.141 node4

安装软件

[root@node1 ~]# yum -y install centos-release-gluster
[root@node1 ~]# yum -y install glusterfs glusterfs-server glusterfs-fuse
glusterfs-rdma
如果实验环境是可以访问互联网环境的,也可以直接指向互联网仓库。

启动GlusterFS

在所有节点上执行以下操作,下面以 node1 为例进行操作演示:
[root@node1 ~]# systemctl start glusterd.service
[root@node1 ~]# systemctl enable glusterd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/glusterd.
service to /usr/lib/systemd/system/glusterd.service.

添加节点

只在 node1 上执行以下操作,添加 node1 node4 节点。
[root@node1 ~]# gluster peer probe node1
peer probe: success. Probe on localhost not needed         //node1 也可以不执行
[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.

查看群集状态

通过以下命令在每个节点上查看群集状态,正常情况下每个节点的输出结果均为 “State
Peer in Cluster(Connected)” 。如果显示 Disconnected ,请检查 hosts 文件配置。
[root@node1 ~]# gluster peer status

创建卷

在部署 gluster 分布式文件系统时,要根据生产环境的需求,创建合适于公司业务的券,
以下是几种创建卷的方式。

创建分布式卷

创建分布式卷的命令如下:
[root@node1 ~]# gluster volume create dis-volume node1:/e6 node2:/e6 force
volume create: dis-volume: success: please start the volume to access data
[root@node1 ~]# gluster volume info dis-volume
上述命令中,没有指定类型,默认创建的是分布式卷。

创建条带卷

创建条带卷的命令如下:
[root@node1 ~]# gluster volume create stripe-volume stripe 2 node1:/d5 node2:
/d5 force
volume create: stripe-volume: success: please start the volume to access data
[root@node1 ~]# gluster volume info stripe-volume
上述命令中,指定类型为 stripe ,数值为 2 ,而且后面跟了 2 Brick Server ,所以创
建的是条带卷。

创建复制卷

创建复制卷的命令如下:
[root@node1 ~]# gluster volume create rep-volume replica 2 node3:/d5 node4:/
d5 force
volume create: rep-volume: success: please start the volume to access data
[root@node1 ~]# gluster volume info rep-volume
上述命令中,指定类型为 replica ,数值为 2 ,而且后面跟了 2 Brick Server ,所以创 建的是复制卷。

创建分布式条带卷

创建分布式条带卷的命令如下:
[root@node1 ~]# gluster volume create dis-stripe stripe 2 node1:/b3 node2:/b3
node3:/b3 node4:/b3 force
volume create: dis-stripe: success: please start the volume to access data
[root@node1 ~]# gluster volume info dis-stripe
上述命令中,指定类型为 stripe ,数值为 2 ,而且后面跟了 4 Brick Server ,是 2
2 倍,所以创建的是分布式条带卷。

创建分布式复制卷

创建分布式复制卷的命令如下:
[root@node1 ~]# gluster volume create dis-rep replica 2 node1:/c4 node2:/c4
node3:/c4 node4:/c4 force
volume create: dis-rep: success: please start the volume to access data
[root@node1 ~]# gluster volume info dis-rep
上述命令中,指定类型为 replica ,数值为 2 ,而且后面跟了 4 Brick Server ,是 2
两倍,所以创建的是分布式复制卷。

部署Gluster客户端

在部署完分布式文件系统后,需要对挂载的服务器安装客户端软件,并创建挂载目录, 将分布式文件系统挂载到刚创建目录即可。最后将挂载命令添加自启 fstab 文件中,当服务
器重启时,不需要手动挂载。

安装客户端软件

下面是安装客户端软件的命令。
[root@client ~]# yum -y install glusterfs glusterfs-fuse

创建挂载目录

下面是创建挂载目录的命令。
[root@client ~]# mkdir -p /test/{dis,stripe,rep,dis_and_stripe,dis_and_rep}
[root@client ~]# ls /test
dis dis_and_rep dis_and_stripe rep stripe

修改hosts文件

下面是修改 hosts 文件的命令。
[root@client ~]# cat /etc/hosts
127.0.0.1
localhost localhost.localdomain localhost4 localhost4.localdomain4
::1
localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.8.134 node1
192.168.8.136 node2
192.168.8.139 node3
192.168.8.141 node4

挂载Gluster文件系统

[root@client ~]# mount -t glusterfs node1:dis-volume /test/dis
[root@client ~]# mount -t glusterfs node1:stripe-volume /test/stripe
[root@client ~]# mount -t glusterfs node1:rep-volume /test/rep
[root@client ~]# mount -t glusterfs node1:dis-stripe /test/dis_and_stripe
[root@client ~]# mount -t glusterfs node1:dis-rep /test/dis_and_rep
[root@client ~]# df -h

如果挂载不成功,请检查 hosts 解析。
在挂载时,所指定的 node1 只是为了从它那里获取到必要的配置信息,在挂载之后, 客户机不仅仅会与 node1 进行通信,也会直接和逻辑存储卷内其他 Brick 所在的主机进行通 信。

修改fstab配置文件

下面是修改 fstab 配置文件的命令。
[root@client ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sun Apr 30 16:26:38 2017
.......
node1:dis-volume         /test/dis         glusterfs         defaults,_netdev 0 0
node1:stripe-volume        /test/stripe        glusterfs           defaults,_netdev 0 0
node1:rep-volume        /test/rep        glusterfs           defaults,_netdev 0 0
node1:dis-stripe        /test/dis_and_stripe  glusterfs         defaults,_netdev 0 0
node1:dis-rep        /test/dis_and_rep        glusterfs           defaults,_netdev 0 0

测试Gluster文件系统

在分布文件系统一切准备就绪后,就可以用来存储相关的业务数据了,但在使用之前需要做一些基本的文件系统性能测试。比如下面所提到的,写入测试,破坏性测试等。

卷中写入文件

下面是卷中写入文件的命令。
[root@client ~]# ll -h demo*
..........
[root@client ~]# cp demo* /test/dis/
[root@client ~]# cp demo* /test/stripe/
[root@client ~]# cp demo* /test/rep/
[root@client ~]# cp demo* /test/dis_and_stripe/
[root@client ~]# cp demo* /test/dis_and_rep/

查看文件分布

下面是查看文件分布的命令。
// 下面查看分布式卷文件分布
[root@node1 ~]# ll -h /e6/
...........

[root@node2 ~]# ll -h /e6
总用量 43M
// 下面查看条带卷文件分布

[root@node1 ~]# ll -h /d5
total 106M
........

破坏性测试

挂起 node2 节点,在客户端上测试文件是否可以正常使用。测试命令如下:
// 下面测试分布式卷数据是否可以访问
[root@client ~]# head -1 /test/dis/demo1.log
Apr 30 16:45:06 ce rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-
pid="1003" x-info="http://www.rsyslog.com"] start
[root@client ~]# head -1 /test/dis/demo2.log
Apr 30 16:45:06 ce rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-
pid="1003" x-info="http://www.rsyslog.com"] start
[root@client ~]# head -1 /test/dis/demo3.log
Apr 30 16:45:06 ce rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-
pid="1003" x-info="http://www.rsyslog.com"] start
[root@client ~]# head -1 /test/dis/demo4.log
Apr 30 16:45:06 ce rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-
pid="1003" x-info="http://www.rsyslog.com"] start
[root@client ~]# head -1 /test/dis/demo5.log
head: 无法打开 "/test/dis/demo5.log" 读取数据 : 没有那个文件或目录
// 分布在 node2 节点上的 demo5.log 无法访问,分布式卷不具备冗余性
// 下面测试条带卷数据是否可以访问
[root@client ~]# head -1 /test/stripe/demo1.log
head: 读取 "/test/stripe/demo1.log" 时出错 : 没有那个文件或目录
[root@client ~]# head -1 /test/stripe/demo2.log
head: 读取 "/test/stripe/demo2.log" 时出错 : 没有那个文件或目录
[root@client ~]# head -1 /test/stripe/demo3.log
head: 读取 "/test/stripe/demo3.log" 时出错 : 没有那个文件或目录
[root@client ~]# head -1 /test/stripe/demo4.log
head: 读取 "/test/stripe/demo4.log" 时出错 : 没有那个文件或目录
[root@client ~]# head -1 /test/stripe/demo5.log
head: 读取 "/test/stripe/demo5.log" 时出错 : 没有那个文件或目录

其他的维护命令

在完成以上所有操作后,需要跟据生产环境需要,后续可能对其分布式文件系统各项参
数的调整和配置,比如下面所提到的查看 GlusterFS 的命令,停止、删除券及文件系统访问
控制等等。

查看GlusterFS卷

下面是查看 GlusterFS 的命令。
[root@node1 ~]# gluster volume list // 查看卷的列表
dis-rep
dis-stripe
dis-volume
rep-volume
stripe-volume
[root@node1 ~]# gluster volume info // 查看所有卷的信息

停止/删除卷

下面是停止 / 删除卷的命令。
[root@node1 ~]# gluster volume stop dis-stripe
// 停止一个卷
Stopping volume will make its data inaccessible. Do you want to continue? (y/n) y
volume stop: dis-stripe: success
[root@node1 ~]# gluster volume delete dis-stripe // 删除一个卷
Deleting volume will erase all information about the volume. Do you want to
continue? (y/n) y
volume delete: dis-stripe: success

设置卷的访问控制

下面设置只允许 192.168.1.0 10.1.1.0 网段的客户端访问 dis-rep 卷。
[root@node1 ~]# gluster volume set dis-rep auth.allow 192.168.1.*,10.1.1.*
volume set: success