glusterfs 存储搭建
参考文档:
https://www.cnblogs.com/fansik/p/9868831.html
https://www.cnblogs.com/huangyanqi/p/8406534.html
https://docs.gluster.org/en/latest/
一、GlusterFS简介
PB级容量、高可用、读写性能、基于文件系统级别共享、分布式、无metadata(元数据)的存储方式。
GlusterFS(GNU ClusterFile System)是一种全对称的开源分布式文件系统,所谓全对称是指GlusterFS采用弹性哈希算法,没有中心节点,所有节点全部平等。GlusterFS配置方便,稳定性好,可轻松达到PB级容量,数千个节点。
2011年被红帽收购,之后推出了基于GlusterFS的Red Hat Storage Server,增加了针对KVM的许多特性,可用作为KVM存储image存储集群,也可以为LB或HA提供存储。
二、GlusterFS重要特性
全对称架构、支持多种卷类型(类似RAID0/1/5/10/01)、支持卷级别的压缩、支持FUSE、支持NFS、支持SMB、支持Hadoop、支持OpenStack、与oVirt深度整合(对应RHEL红帽企业级虚拟化)
三、GlusterFS重要概念
birck:GlusterFS的基本元素,以节点服务器目录形式展现;
volume:多个brick的逻辑集合;
metadata:元数据,用于描述文件、目录等的信息;
self-heal:用于后台运行检测副本卷中文件和目录的不一致性并解决这些不一致;
FUSE:Filesystem Userspace是一个可加载的内核模块,其支持非特权用户创建自己的文件系统而不需要修改内核代码通过在用户空间运行文件系统的代码通过FUSE代码与内核进行桥接;
Gluster Server:数据存储服务器,即组成GlusterFS存储集群的节点;
Gluster Client:使用GlusterFS存储服务的服务器,如KVM、OpenStack、LB RealServer、HA node。
四、GlusterFS架构原理
五、GlusterFS集群部署搭建
存储集群的搭建主要指的是服务端的部署,客户端使用的时候,挂载就好了。
-
准备磁盘空间和机器节点
环境:一般3个节点,每个节点上至少两块磁盘,用那块空闲的磁盘单独拉出来作为集群存储的一部分。
假设磁盘是sdb,格式化sdb,挂载在服务器上的单独的目录上,准备加入glusterfs集群。
三个节点上都挂载
echo '/dev/sdb /data/brick-glusterfs xfs defaults 0 0' >> /etc/fstab mount -a && mount
-
三个节点上安装软件,添加到信任池中
服务端:
yum -y install centos-release-gluster
yum -y install glusterfs glusterfs-server glusterfs-fuse
客户端只需要
glusterfs
glusterfs-fuse
添加信任池,随便在一个开启glusterfs服务的主机上将其他主机加入到一个信任的主机池里
gluster peer probe node02
-
创建卷,启动卷
[root@node01 ~]# gluster volume create gv0 node01:/data/brick-glusterfs node02:/data/brick-glusterfs force #创建分布式卷 volume create: gv0: success: please start the volume to access data [root@node01 ~]# gluster volume start gv0 #启动卷gv0 volume start: gv0: success [root@node01 ~]# gluster volume info gv0 #查看gv0的配置信息
-
客户端挂载卷
#挂载的ip选集群任意一个ip即可,然后冒号后面接的是创建的逻辑卷的卷名,并非目录的意思 mount -t glusterfs 127.0.0.1:/gv0 /opt #挂载gv1卷