Fork me on GitHub

CentOS7.4 安装 GlusterFS

介绍

Gluster 是一个大尺度文件系统。

主要功能

简单卷

distribute volume 分布式卷,两台主机的磁盘融合一个磁盘
stripe volume 条带卷,一个文件分成数据块存储到不同的地方
replica volume 复制卷,一个文件分别保存到两台主机

复合卷

1+2,1+3,2+3,1+2+3

总结常用命令

gluster peer status #查看集群各主机连接状态
gluster volume list# 查看挂载卷信息
gluster volume list #查看卷列表
#创建挂在卷,force 忽略在 root 目录创建挂在卷的警告
gluster volume create swarm-volume replica 3 worker:/xuan/docker/gluster-volume home:/xuan/docker/gluster-volume xuanps:/xuan/docker/gluster-volume force
gluster volume start swarm-volume #启动
gluster volume stop swarm-volume #停止
gluster volume delete swarm-volume #删除 ,了文件还会保留
#挂载本地目录到 glusterfs 卷(swarm-volume),在本地目录添加的会自动同步到其他挂载卷
#eg 在本机 mnt 添加文件,其他 volume-name 目录也会添加 mount [- 参数] [设备名称] [挂载点]
mount -t glusterfs worker:/swarm-volume /mnt/
umount worker:/swarm-volume  #卸载了就不会同步了
#重置,删除所有数据
systemctl stop glusterd
rm -rf /var/lib/glusterd/
systemctl start glusterd
#删除节点
gluster peer detach home

安装

准备工作:

三台局域网主机(centos7 修改主机名 )

hostnameip备注
xuanpsleft-aligned10.14.0.1
workercentered10.14.0.4
homeright-aligned10.14.0.5

三台都需要安装 GlusterFS

# 搜索 glusterfs 可安装的版本
yum search centos-release-gluster
#安装最新长期稳定版本 (Long Term Stable) 的 gluster 软件
yum -y install centos-release-gluster
#安装 glusterfs-server
yum --enablerepo=centos-gluster*-test install glusterfs-server
glusterfs -V #测试
systemctl enable glusterd #开机启动
systemctl start glusterd #启动
systemctl status glusterd #查看是否正常运行
#修改 hosts 不然不能通过主机名连接到对方
vim /etc/hosts
#---------- 三台都要添加如下设置 --------------------------
10.14.0.1 xuanps
10.14.0.4 worker
10.14.0.5 home
#------------------------------------------------------
#从 xuanps 上执行下面两条,其他主机不用执行
gluster peer probe worker
gluster peer probe home
#三台都执行该命令是否都是 connected
gluster peer status
#查看挂载卷信息
gluster volume info
#创建挂在卷,force 忽略在 root 目录创建挂在卷的警告
gluster volume create volume-name replica 3 worker:/xuan/docker/gluster-volume/test home:/xuan/docker/gluster-volume/test xuanps:/xuan/docker/gluster-volume/test force
#启动
gluster volume start volume-name
#启动 nfs 同步,测试需验证,这里要不要开启
gluster volume set volume-name nfs.disable off
#挂载本地目录到 glusterfs 卷(volume-name),在本地目录添加的会自动同步到其他挂载卷
#eg 在本机 mnt 添加文件,其他 volume-name 目录也会添加
mount -t glusterfs worker:/volume-name /mnt/

以上整理主要参照下面的文档,如涉及侵权请联系本人,进行删除。

参考

官方文档

centos 官方安装手册

基于 GlusterFS 实现 Docker 集群的分布式存储

赞赏是最好的支持与鼓励!
-------------本文结束感谢您的阅读-------------