GlusterFS 入门
常见的分布式存储开源软件有:GlusterFS、Ceph、HDFS、MooseFS、FastDFS 等它,它们都有以下几个优点:
- 扩容方便,轻松达到 PB 级别或以上
- 提升读写性能(LB)或数据高可用(HA)
- 避免单个节点故障导致整个架构问题
- 价格相对便宜,大量的廉价设备就可以组成
简介
GlusterFS(GNU ClusterFile System)是一种全对称的开源分布式文件系统,所谓全对称是指 GlusterFS 采用弹性哈希算法,没有中心节点,所有节点全部平等,部署配置方便。特性
全对称架构、支持多种卷类型(类似 RAID0/1/5/10/01)、支持卷级别的压缩、支持 FUSE、支持 NFS、支持 SMB、支持 Hadoop、支持 OpenStack、与 oVirt 深度整合。概念
- birck:GlusterFS 的基本元素,以节点服务器目录形式展现
- volume:多个 brick 的逻辑集合
- metadata:元数据,用于描述文件、目录等的信息
- self-heal:用于后台运行检测副本卷中文件和目录的不一致性并解决这些不一致
- FUSE:Filesystem Userspace 是一个可加载的内核模块,其支持非特权用户创建自己的文件系统而不需要修改内核代码通过在用户空间运行文件系统的代码通过 FUSE 代码与内核进行桥接
- Gluster Server:数据存储服务器,即组成 GlusterFS 存储集群的节点
- Gluster Client:使用 GlusterFS 存储服务的服务器,如 KVM、OpenStack、LB RealServer、HA node
部署
https://download.gluster.org/pub/gluster/glusterfs/LATEST/
https://download.gluster.org/pub/gluster/glusterfs/LATEST/glusterfs-10.2.tar.gz
存储集群的搭建主要指的是服务端的部署,客户端使用的时候挂载就好了服务器
准备三台存储服务器,修改 hosts 文件安装 GlusterFS 服务器端1
2
3xxx.xxx.xxx.xxx node-01
xxx.xxx.xxx.xxx node-02
xxx.xxx.xxx.xxx node-03创建分区(或者现有分区),挂载到服务器单独目录上,准备加入 GlusterFS 集群1
2
3
4
5
6
7
8
9yum install glusterfs-server
yum install glusterfs glusterfs-fuse
#添加开机启动
systemctl enable glusterd
#启动、关闭服务
systemctl start glusterd
systemctl stop glusterd
#服务状态
systemctl status glusterd1
2
3
4
5
6fdisk -l
#创建 XFS 分区
mkfs.xfs -i size=512 /dev/vdb1
#挂载分区
echo '/dev/vdb1 /data/glusterfs xfs defaults 0 0' >> /etc/fstab
mount -a && mount信任池
任意开启 GlusterFS 服务的主机上将其他主机加入到信任的主机池里1
2
3
4
5
6#添加到信任池中
gluster peer probe node-02
gluster peer probe node-03
gluster peer status
gluster volume create
mkdir -p /export/vdb1 && mount -a && mkdir -p /export/vdb1/brick逻辑卷
常见卷的模式1
2
3
4
5
6gluster volume create gv0 replica 3 \
node-01:/data/glusterfs/gv0 \
node-02:/data/glusterfs/gv0 \
node-03:/data/glusterfs/gv0
gluster volume info
卷模式 | 描述 |
---|---|
Replicated | 复制卷,类似 RAID1 |
Striped(新版本会弃用) | 条带卷,类似 RAID0 |
Distributed | 分布卷 |
Distribute Replicated | 分布与复制组合 |
Dispersed | 类似RAID5、RAID6 |
使用
挂载卷
挂载的 IP 选集群任意一个 IP 即可,冒号后接逻辑卷名1
2
3yum install glusterfs glusterfs-fuse
#挂载 gv0 卷
mount -t glusterfs xxx.xxx.xxx.xxx:/gv0 /opt/glusterfs
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 君玉自牧!