部署GlusterFS分布式存储

一、介绍

GlusterFS是一个免费、全对称开源的的分布式文件系统。GlusterFS 具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客户端。

二、GlusterFS卷类型

1.distribute volume分布式卷(默认)

文件通过hash算法分布到所有brick上。此时volume的容量是所有brick的和;方便扩展空间,但无冗余保护。存取效率不高;受限于本地文件系统对单文件容量的限制,支持超大型文件系统有问题。

2.stripe volume 条带卷

文件分成数据块以round robin的方式将每个chunk存储到1个brick,相当于raid0。单一超大容量文件可被分片,不受brick server本地文件系统的限制;分布式读写性能较高;无冗余1个server节点故障会导致所有数据丢失。

3.replica volume 复制卷

文件同步复制到多个brick,相当于文件级raid1,一个是存储一个是备份,具有容错能力;读性能提升,写性能下降;提升数据可靠性,但磁盘利用率低。

4.distribute replica volume 分布式复制卷

分布式卷与复制卷的组合,兼具两者的功能,单个文件在复制卷内数据保持副本,不同文件在不同复制卷之间进行哈希分布。

5.distribute stripe volume分布式条带卷

分布式卷与条带卷的组合,兼具两者的功能,单个文件在条带卷内数据以条带的形式存储,不同文件在不同条带卷之间进行哈希分布。

6.striped replicated volume条带镜像卷

条带与复制卷的组合,兼具两者的功能,单个文件以条带的形式存储在2个或多个复制集(replicated sets ),复制集内文件分片以副本的形式保存。

7.distribute stripe replica volume 混合卷

三种基本卷的复合卷,分布式卷,条带与复制卷的组合,兼具三者的功能

8.dispersed volume分散式(冗余式)

文件分片存储在各个brick上,但有部分硬盘用于冗余用途,数量可以指定,相当于文件级raid5。

三、集群部署

说明:目前为止stripe(条带)类型已经用的越来越少,所有没做记录

1.环境说明

关闭防火墙、关闭selinux,hostname能互相解析

2.软件安装

yum -y install centos-release-gluster
yum install -y glusterfs-server

3.启动服务

systemctl start glusterd
systemctl enable glusterd

4.创建集群

#在任意节点上执行操作,向集群中添加节点
gluster peer probe node2
gluster peer probe node3
#从集群中删除节点
gluster peer detach node3
#查看状态
gluster peer status
gluster pool list

5.分布式卷(Distribut)

#创建分布式卷
gluster volume create gv1_distribut node1:/data/br1 node2:/data/br1
#查看卷
gluster volume list
#启动卷
gluster volume start gv1_distribut
#查看卷信息
gluster volume info gv1_distribut

6.复制卷(Replica)

#创建复制卷
gluster volume create gv2_replica replica 2 node1:/data/br1 node2:/data/br1
#查看卷
gluster volume list
#启动卷
gluster volume start gv2_replica
#查看卷信息
gluster volume info gv2_replica

7.分布式复制卷(distribute replica)

#创建分布式复制卷
gluster volume create gv3_distribute_replica replica 2 node1:/data/br1 node2:/data/br1 node3:/data/br1 node4:/data/br1
#查看卷
gluster volume list
#启动卷
gluster volume start gv3_distribute_replica
#查看卷信息
gluster volume info gv3_distribute_replica

8.冗余卷(Disperse)

#创建冗余卷
gluster volume create gv4_disperse disperse 4 node1:/data/br1 node2:/data/br1 node3:/data/br1 node4:/data/br1
#查看卷
gluster volume list
#启动卷
gluster volume start gv4_disperse
#查看卷信息
gluster volume info

四、卷管理

1.卷扩容

#添加节点到集群
gluster peer probe node3
gluster peer probe node4
#扩展volume
gluster volume add-brick volume_name node3:/data/br1 node4:/data/br1
#平衡卷(不要在系统繁忙的时候执行)
gluster volume rebalance volume_name start
#查看平衡状态
gluster volume rebalance volume_name status

2.缩减卷

#移除brick
gluster volume remove-brick volume_name node3:/data/br1 node4:/data/br1 start
#查看移除状态
gluster volume remove-brick volume_name node3:/data/br1 node4:/data/br1 status
#提交
gluster volume remove-brick volume_name node3:/data/br1 node4:/data/br1 commit
#查看brick是否被移除
gluster volume info volume_name
#平衡卷
gluster volume rebalance volume_name start

3.替换卷

#添加节点
gluster peer probe node5
#替换brick
gluster volume replace-brick volume_name node1:/data/br1 node5:/data/br1 commit force
#查看卷状态
gluster volume info volume_name

4.删除卷

#停止卷
gluster volume stop volume_name
#删除卷
gluster volume delete volume_name
#查看卷
gluster volume info volume_name

五、客户端设置

1.软件安装

yum install -y glusterfs glusterfs-fuse

2.客户端挂载

mkdir /opt/gluster_disk{1..4}
mount -t glusterfs node1:/gv1_distribut /opt/gluster_disk1
mount -t glusterfs node1:/gv2_replica /opt/gluster_disk2
mount -t glusterfs node1:/gv3_distribute_replica /opt/gluster_disk3
mount -t glusterfs node1:/gv4_disperse /opt/gluster_disk4

猜你喜欢

转载自blog.51cto.com/7965676/2610710