一、Glusterfs介绍
Glusterfs 是一种开源分布式文件系统,具有以下特性:
高可用性:Glusterfs 系统具有高度可用性,通过使用数据复制和数据分布技术来确保数据的持久性和可靠性。
可扩展性:Glusterfs 系统能够像搭积木一样轻松地扩展存储容量和节点数量,以满足不同规模和容量的需求。
跨平台支持:Glusterfs 系统支持多种操作系统,例如Linux、Unix、Windows等。
数据一致性:Glusterfs 系统使用一致性哈希算法来确保数据分布的一致性,从而提高数据的可靠性与完整性。
快速恢复:Glusterfs 系统能够在节点故障时自动迁移数据,快速恢复整个存储系统。
可插拔性:Glusterfs 系统支持插件机制,能够轻松集成不同的存储引擎和协议来满足不同的需求。
二、安装
yum install -y epel-release
yum install -y centos-release-gluster
yum install glusterfs-server -y
systemctl start glusterd
# 安装成功后查看安装版本
glusterfs -V
三、具体操作
# 各节点选择存储盘
mkdir -p /data/brick1
#查看主机池
gluster peer status
#添加主机池
gluster peer probe ip1
gluster peer probe ip2
gluster peer probe ip3
#任意节点操作,创建副本为3,名为gv1 的复制卷
gluster volume create gv0 replica 3 ip1:/vdb/brick1 ip2:/vdb/brick1 ip3:/vdb/brick1 force
# 任意节点操作 ,启动已创建的 volume
gluster volume start gv0
查看信息:
[root@ip1 ~]# gluster volume info all
Volume Name: gv1
Type: Replicate
Volume ID: 5fee666d-dd65-4d61-9975-9def0728ad98
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 3 = 3
Transport-type: tcp
Bricks:
Brick1: ip1:/vdb/brick1
Brick2: ip2:/vdb/brick1
Brick3: ip3:/vdb/brick1
Options Reconfigured:
performance.client-io-threads: off
nfs.disable: on
transport.address-family: inet
storage.fips-mode-rchecksum: on
cluster.granular-entry-heal: on
# 本地挂载
mount.glusterfs ip1:/gv0 /data/test/
mount -t glusterfs ip1:/gv0 /data/salt
mount -t glusterfs -o backupvolfile-server=ip1,use-readdirp=no,log-level=WARNING,log-file=/var/log/gluster.log ip2:/gv0 /data/salt/
#缩容volume
剔除的brick个数,要考虑剔除之后,数据会不会丢,移除Replicate类型的brick数据不会丢失。
gluster volume remove-brick gv1 replica 5 ip1:/vdb/brick1 force
#删除节点
gluster peer detach ip1
#增加节点
gluster peer probe ip1
#扩容volume
gluster volume add-brick gv1 replica 3 ip1:/vdb/brick1
四、异常处理
在使用lsync 同步本地挂在目录时,会出现无法监听的文件变化的问题,所以需要直接监听原始目录。