glusterfs

author author     2022-10-11     365

关键词:

1.准备工作

准备三台机器(物理机或者虚拟机均可)用于安装和测试GlusterFS,其中两台用作服务器,一台用作客户端,主机名分别为:

node1 10.0.21.241

node2 10.0.21.242

Clinet.zhaogang.int

关闭iptables和selinux

2.安装glusterFS服务器

yum install centos-release-gluster -y

yum install glusterfs-server glusterfs glusterfs-fuse -y
启动glusterFS服务:
systemctl start glusterd.service

systemctl enable glusterd.service
GlusterFS服务器设置

加入可信任存储池

在server1上运行一下命令:

[[email protected] ~]# gluster peer probe 10.0.21.242

peer probe: success.

查看状态:

复制代码
[[email protected] ~]# gluster peer status

Number of Peers: 1

Hostname: 10.0.21.242

Uuid: ab640ab2-76ba-47a5-a868-be5514b70258

State: Peer in Cluster (Connected)
复制代码

移除节点:

gluster peer detach 10.0.21.242

B.创建GlusterFS逻辑卷(Volume)

在server1和server2分别建立/data/gfsdata目录:

mkdir -p /data/gfsdata

然后执行以下命令(只需要在其中一台服务器上执行即可,本例使用server1):

[[email protected] ~]# gluster volume create gv0 replica 2 10.0.21.241:/data/gfsdata 10.0.21.242:/data/gfsdata

volume create: gv0: success: please start the volume to access data
这条命令的意思是使用Replicated的方式,建立一个名为gv0的卷(Volume),存储块(Brick)为2个,分别为server1:/data/gfsdata和server2:/data/gfsdata

volume create: testglustervol: failed: The brick 192.168.21.19:/data0/gluster1/brick1 is being created in the root partition. It is recommended that you don‘t use the system‘s root partition for storage backend. Or use ‘force‘ at the end of the command if you want to override this behavior.

发现报错了,这是因为我们创建的brick在系统盘,这个在gluster的默认情况下是不允许的,生产环境下也尽可能的与系统盘分开,如果必须这样请使用force

[[email protected] ~]# gluster volume create gv0 replica 2 10.0.21.241:/data/gfsdata 10.0.21.242:/data/gfsdata force

volume create: gv0: success: please start the volume to access data

启用GlusterFS逻辑卷:

[[email protected] ~]# gluster volume start gv0

volume start: gv0: success

查看逻辑卷状态:

复制代码
[[email protected] ~]# gluster volume info

Volume Name: gv0

Type: Replicate

Volume ID: da0f4439-824b-4606-bc18-4bdbdc93d09d

Status: Started

Number of Bricks: 1 x 2 = 2

Transport-type: tcp

Bricks:

Brick1: 10.0.21.241:/data/gfsdata

Brick2: 10.0.21.242:/data/gfsdata

Options Reconfigured:

performance.readdir-ahead: on
复制代码

清除glusterfs配置

通过查看/etc/glusterfs/glusterd.vol可以得知glusterfs的工作目录是在/var/lib/glusterd中

复制代码
[[email protected] ~]# cat /etc/glusterfs/glusterd.vol
volume management
type mgmt/glusterd
option working-directory /var/lib/glusterd
option transport-type socket,rdma
option transport.socket.keepalive-time 10
option transport.socket.keepalive-interval 2
option transport.socket.read-fail-log off
option ping-timeout 0
option event-threads 1

option transport.address-family inet6

option base-port 49152

end-volume
复制代码
如果需要清除glusterfs配置,将工作目录删除后重启服务即可

[[email protected] ~]# rm -rf /var/lib/glusterd/
[[email protected] ~]# /etc/init.d/glusterd restart
删除卷

gluster volume stop gv0
gluster volume delete gv0

卷扩容(由于副本数设置为2,至少要添加2(4、6、8..)台机器)

gluster peer probe 10.0.21.243 # 加节点
gluster peer probe 10.0.21.244 # 加节点
gluster volume add-brick gv0 10.0.21.243:/data/glusterfs 10.0.21.244:/data/glusterfs # 合并卷

收缩卷(收缩卷前gluster需要先移动数据到其他位置)

gluster volume remove-brick gv0 10.0.21.243:/data/glusterfs 10.0.21.244:/data/glusterfs start # 开始迁移
gluster volume remove-brick gv0 10.0.21.243:/data/glusterfs 10.0.21.244:/data/glusterfs status # 查看迁移状态
gluster volume remove-brick gv0 10.0.21.243:/data/glusterfs 10.0.21.244:/data/glusterfs commit # 迁移完成后提交

迁移卷

复制代码
gluster peer probe 10.0.21.245 # 将10.0.21.246数据迁移到10.0.21.245先将10.0.21.245加入集群
gluster volume replace-brick gv0 10.0.21.246:/data/glusterfs 10.0.21.245:/data/glusterfs start # 开始迁移
gluster volume replace-brick gv0 10.0.21.246:/data/glusterfs 10.0.21.245:/data/glusterfs status # 查看迁移状态
gluster volume replace-brick gv0 10.0.21.246:/data/glusterfs 10.0.21.245:/data/glusterfs commit # 数据迁移完毕后提交
gluster volume replace-brick gv0 10.0.21.246:/data/glusterfs 10.0.21.245:/data/glusterfs commit -force # 如果机器10.0.21.246出现故障已经不能运行,执行强制提交
gluster volume heal gv0 full # 同步整个卷
复制代码
本文介绍的是GlusterFS最基础的用法,感觉它的最大优点就是文件使用哈希散列,而不需要单独去维护MetaData以避开单点问题,而目录则是所有节点都一致的。节点信息会在变化过程中自动同步!不过增删节点,需要做Rebalance数据才会重新分布。

C.在clinet上安装客户端软件:

#yum -y install glusterfs glusterfs-fuse

GlusterFS客户端连接

在客户端client.zhaogang.int上使用mount命令,把服务器上新建的GlusterFS逻辑卷gv0挂载到本地目录/mnt/glusterfs上:

[[email protected] ~]# mkdir /mnt/glusterfs

[[email protected] ~]# mount -t glusterfs 10.0.21.241:/gv0 /mnt/glusterfs

[[email protected] ~]#

确认挂载结果:

[[email protected] ~]# mount -t fuse.glusterfs

10.0.21.241:/gv0 on /mnt/glusterfs type fuse.glusterfs (rw,default_permissions,allow_other,max_read=131072)

如果希望系统重启后可以自动挂载,在/etc/fstab文件中加入此行:

10.0.0.241:/data/gfsdata /mnt/glusterfs glusterfs defaults 0 0

客户端测试连接

client端成功挂载逻辑卷之后,在挂载目录/mnt/glusterfs建立文件以测试GlusterFS是否正常工作。

[[email protected] glusterfs]# cd /mnt/glusterfs/

[[email protected] glusterfs]# touch file1 file2 file3

[[email protected] glusterfs]# ls -l

total 0

-rw-r--r--. 1 root root 0 Aug 29 21:07 file1

-rw-r--r--. 1 root root 0 Aug 29 21:07 file2

-rw-r--r--. 1 root root 0 Aug 29 21:07 file3

因为创建卷gv0的时候使用的是镜像存储(Replicated),所以在gv0上写入的文件应该同时出现在两个服务器的/data/gfsdata目录上。
在server1和server2查看/data/gfsdata/目录,可以看到两个服务器均出现这三个文件:

[[email protected] ~]# cd /data/gfsdata/

[[email protected] gfsdata]# ls -l

total 0

-rw-r--r--. 2 root root 0 Aug 29 21:07 file1

-rw-r--r--. 2 root root 0 Aug 29 21:07 file2

-rw-r--r--. 2 root root 0 Aug 29 21:07 file3

[[email protected] ~]# cd /data/gfsdata/

[[email protected] gfsdata]# ls -l

total 0

-rw-r--r--. 2 root root 0 Aug 29 21:07 file1

-rw-r--r--. 2 root root 0 Aug 29 21:07 file2

-rw-r--r--. 2 root root 0 Aug 29 21:07 file3

自此GlusterFS快速安装过程结束。

glusterfs简介(代码片段)

GlusterFS简介GlusterFS概述GlusterFS(GlusterFileSystem)是一个开源的分布式文件系统,主要由ZRESEARCH公司负责开发。GlusterFS是Scale-Out存储解决方案Gluster的核心,具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客户端... 查看详情

(转)glusterfs01理论基础,企业实战,故障处理

https://jaminzhang.github.io/glusterfs/GlusterFS-01-Theory-Basis/--------GlusterFS01理论基础https://jaminzhang.github.io/glusterfs/GlusterFS-02-Deploy-and-Config/------GlusterFS02部署配置https://jaminzhang.gi 查看详情

glusterfs学习之路glusterfs部署(代码片段)

一、环境说明主机名IP地址角色gluster-node1192.168.56.11Server、Clientgluster-node2192.168.56.12Server、Clientgluster-node3192.168.56.13Server、Client二、GlusterFS安装(1)修改主机名[[email protected]~]#hostnamectlset-hostna 查看详情

glusterfs部署和应用

      关于GlusterFS的原理理论介绍,请点击这里查看一、GlusterFS安装  本博文讲简要介绍GlusterFS在CentOS7中的部署和应用。由于GlusterFS需要使用网络,因此还必须事先根据环境设置防火墙规则,关闭SELin... 查看详情

v10glusterfs

V10glusterfs glusterfs,GNUclusterfilesystem,创始人AnandBabuPeriasamy,目标:代替开源Lustre和商业产品GPFS,glusterfs是什么:cloudstorage;分布式文件系统(POSIX兼容);elasticity(flexibilityadapttogrowth/reduction,add,deletevolumes 查看详情

glusterfs分布式文件系统!(代码片段)

GlusterFSGlusterFS基本知识文件系统GlusterFSGlusterFS特点GlusterFS组成GlusterFS专业术语GlusterFS工作流程GlusterFS卷类型GlusterFS集群部署GlusterFS基本知识文件系统组成:文件系统接口,对对象管理的软件集合,对象及属性作用࿱... 查看详情

glusterfs分布式文件系统!(代码片段)

GlusterFSGlusterFS基本知识文件系统GlusterFSGlusterFS特点GlusterFS组成GlusterFS专业术语GlusterFS工作流程GlusterFS卷类型GlusterFS集群部署GlusterFS基本知识文件系统组成:文件系统接口,对对象管理的软件集合,对象及属性作用࿱... 查看详情

glusterfs集群(代码片段)

文章目录一、glusterfs1.glusterfs介绍2.常见卷的模式3.glusterfs集群1)环境准备2)实验步骤3)实验过程4.replica卷测试5.卷的删除6.stripe模式(条带)7.distributed模式8.distributed-replica模式9.dispersed模式10.在线裁减与在线扩容glusterfs... 查看详情

线上部署glusterfs情况调研结果

    还是有不少群友在选择GlusterFS版本时缺乏信心,所以在“GlusterFS技术交流”QQ群(234901333)里调研了一下线上部署GlusterFS情况。    先说明一下GlusterFS的应用场景:    纯基于GlusterFS... 查看详情

glusterfs分布式存储

目录glusterfs简介glusterfs部署 一、glusterfs简介Glusterfs是一个开源的分布式文件系统,是Scale存储的核心,能够处理千数量级的客户端。是整合了许多存储块(server)通过InfinibandRDMA或者 Tcp/Ip方式互联的一个并行的网络文件... 查看详情

glusterfs

...准备三台机器(物理机或者虚拟机均可)用于安装和测试GlusterFS,其中两台用作服务器,一台用作客户端,主机名分别为:node110.0.21.241node210.0.21.242Clinet.zhaogang.int关闭iptables和selinux2.安装glusterFS服务器yuminstallcentos-release-gluster-yyum... 查看详情

glusterfs分布式存储安装部署

 Glusterfs分布式存储部署是存储当中可以选择的一种现在很多虚拟化云计算都在用软件存储例如cephGlusterfs等等今天我们部署一下Glusterfs环境 GlusterFs安装 环境信息:     Glusterfs-A     ... 查看详情

使用 DaemonSet 运行 glusterfs 集群

】使用DaemonSet运行glusterfs集群【英文标题】:RunglusterfsclusterusingDaemonSet【发布时间】:2016-12-2300:17:49【问题描述】:我一直在尝试使用这些在我的kubernetes集群上运行glusterfs集群:glusterfs-service.json"kind":"Service","apiVersion":"v1","metadat... 查看详情

glusterfs分布式文件系统概述(代码片段)

博文目录一、GlusterFS概述1、GlusterFS的特点2、GlusterFS术语3、模块化堆栈式架构二、GlusterFS的工作原理1、GlusterFS的工作流程2、弹性HASH算法三、GlusterFS的卷类型1、分布式卷2、条带卷3、复制卷4、分布式条带卷5、分布式复制卷一、G... 查看详情

glusterfs分布式存储集群部署记录-相关补充

 接着上一篇Centos7下GlusterFS分布式存储集群环境部署记录文档,继续做一些补充记录,希望能加深对GlusterFS存储操作的理解和熟悉度。========================清理glusterfs存储环境=========================由上面可知,该glusterfs存储集群... 查看详情

分布式文件系统---glusterfs介绍

GlusterFS概述GlusterFS是Scale-Out存储解决方案Gluster的核心,它是一个开源的分布式文件系统,具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客户端。GlusterFS借助TCP/IP或InfiniBandRDMA网络将物理分布的存储资源聚... 查看详情

分布式文件系统---glusterfs安装配置

一、环境规划GlusterFS服务端:10.100.0.41/10.100.0.44GlusterFS客户端:10.100.0.43二、所需软件包glusterfs-server-3.4.2-1.el6.x86_64glusterfs-3.4.2-1.el6.x86_64三、安装   3.1、服务端安装#wget-P/etc/yum.repos.dhttp://dow 查看详情

再论如何选择glusterfs版本?

    如何选择GlusterFS版本之前写过多次博文:如何选择GlusterFS版本--20160705版。     今天抽空翻译了Gluster发布说明(时间表),借此机会再补充一下如何选择GlusterFS版本,由于最新版本没在线上实... 查看详情