GlusterFS 分布式文件系统

一、GlusterFS 概述

1.1 基本定义

GlusterFS 是一款开源、无元数据服务器的 Scale-Out 横向扩展分布式文件系统,可通过 TCP/IP 或 InfiniBand RDMA 网络聚合多节点存储资源,提供统一命名空间,支持 PB 级海量存储。

1.2 核心特点

  1. 无元数据服务器:无单点故障、无性能瓶颈
  1. 弹性哈希算法:自动定位数据,均匀分布
  1. 高扩展性:在线增删节点,不中断业务
  1. 高可用性:支持副本、自动后台增量修复
  1. 全局统一命名空间:对应用屏蔽物理存储
  1. 标准协议兼容:NFS/CIFS/SMB/FUSE/POSIX
  1. 模块化堆叠架构:灵活组合功能模块

1.3 核心组件

  • Brick :基本存储单元,格式为 主机名:存储目录
  • Volume:由多个 Brick 组成的逻辑卷
  • FUSE:用户态文件系统模块,无需修改内核
  • VFS:内核文件系统访问接口
  • Glusterd:集群管理守护进程(每节点必须运行)

二、工作原理

2.1 数据访问流程

  1. 客户端通过挂载点访问数据
  1. 内核 VFS 接收请求
  1. 交给 FUSE 模块转发
  1. GlusterFS Client 处理数据
  1. 通过网络发送到对应 GlusterFS Server
  1. 写入 Brick 存储

2.2 弹性 HASH 算法

  • 基于 Davies-Meyer 实现,计算得到 32 位 HASH 值
  • 将 HASH 空间划分为 N 段,对应 N 个 Brick
  • 直接定位文件,无需查询元数据服务器
  • 优点:负载均衡、无单点、并行访问

三、GlusterFS 卷类型(共 7 种,常用 5 种)

3.1 基础卷

  1. 分布式卷(Distribute)
  • 类似 RAID0,文件按 HASH 散列到不同 Brick
  • 无冗余、扩容简单、单点故障丢数据
  1. 条带卷(Stripe)
  • 类似 RAID0,文件分块轮询存储
  • 大文件性能高、无冗余
  1. 复制卷(Replica)
  • 类似 RAID1,文件多副本同步
  • 高可用、读性能高、写性能低、磁盘利用率低

3.2 复合卷

  1. 分布式条带卷
  • 先分布、再分块,适合海量大文件
  • 无冗余,Brick 数为条带数倍数
  1. 分布式复制卷
  • 先分布、再副本,生产环境首选
  • 兼顾容量与高可用,Brick 数为副本数倍数
  1. 条带复制卷 ≈ RAID10
  1. 分布式条带复制卷:三者复合,用于 MapReduce 场景

四、GlusterFS 集群部署(CentOS 7)

4.1 环境准备

  • 4 台存储节点 + 1 台客户端
  • 磁盘分区、格式化、永久挂载
  • 关闭防火墙、SELinux
  • 配置所有节点 /etc/hosts 主机名解析

4.2 安装与启动

|--------------------------------------------------------------------------------------------------------------------------------------------------------|
| bash yum -y install centos-release-gluster yum -y install glusterfs glusterfs-server glusterfs-fuse systemctl start glusterd systemctl enable glusterd |

4.3 组建集群

|--------------------------------------------------------------------------------------------------------------|
| bash gluster peer probe node2 gluster peer probe node3 gluster peer probe node4 gluster peer status # 查看集群状态 |

4.4 创建并启动卷

|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| bash # 分布式卷 gluster volume create dis-volume node1:/e6 node2:/e6 force gluster volume start dis-volume # 条带卷 gluster volume create stripe-volume stripe 2 node1:/d5 node2:/d5 force # 复制卷 gluster volume create rep-volume replica 2 node3:/d5 node4:/d5 force # 分布式条带卷 gluster volume create dis-stripe stripe 2 node1:/b3 node2:/b3 node3:/b3 node4:/b3 force # 分布式复制卷 gluster volume create dis-rep replica 2 node1:/c4 node2:/c4 node3:/c4 node4:/c4 force |

4.5 客户端挂载

|-------------------------------------------------------------------------------------------------------------------------------------------------------|
| bash yum -y install glusterfs glusterfs-fuse mkdir -p /test/{dis,stripe,rep,dis_and_stripe,dis_and_rep} mount -t glusterfs node1:dis-volume /test/dis |

4.6 永久挂载(/etc/fstab)

|----------------------------------------------------------------------|
| Plain Text node1:dis-volume /test/dis glusterfs defaults,_netdev 0 0 |

五、功能测试

5.1 文件分布验证

  • 分布式卷:文件完整存于某一 Brick
  • 条带卷:文件分块存于多个 Brick
  • 复制卷:所有 Brick 存完整副本
  • 分布式复制卷:分组存副本

5.2 破坏性测试结论

  • 分布式 / 条带卷:节点宕机 → 数据丢失
  • 复制 / 分布式复制卷:单节点宕机 → 数据正常可用
  • 分布式复制卷可容忍副本组内单点故障

六、常用维护命令

|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| bash gluster volume list # 列出所有卷 gluster volume info # 查看卷详情 gluster volume status # 查看卷运行状态 gluster volume stop volname # 停止卷 gluster volume delete volname # 删除卷 gluster volume set volname auth.allow 192.168.8.* # 访问控制 |

相关推荐
青春万岁!!12 小时前
hive模型数据异常-作业调度问题
大数据·数据仓库·hive
QYR-分析12 小时前
压力电气转换器行业市场现状与发展前景分析
大数据·人工智能
人机与认知实验室12 小时前
人机协同的命门:权限与信任
大数据·人工智能
QEasyCloud202215 小时前
领星、聚水潭与金蝶云星空三方系统对接技术方案
大数据
江瀚视野15 小时前
DeepWay深向盈利拐点趋近意味着什么?
大数据·人工智能
Bechamz15 小时前
大数据开发学习Day31
大数据·学习·ajax
闵孚龙16 小时前
Claude Code Plan Mode 计划模式全解析:先规划后执行、审批流、计划文件、Auto Mode、多 Agent 协同
大数据·人工智能
财迅通Ai16 小时前
利欧股份科技股权投资成效显著 构建硬科技布局新生态
大数据·人工智能·科技·利欧股份
API快乐传递者16 小时前
深度解析得物详情接口 dewu.item_get_app:技术实现、实操落地与风控规避
大数据
黎阳之光17 小时前
黎阳之光:视频孪生硬核赋能,共启数字孪生水利监测新征程
大数据·人工智能·算法·安全·数字孪生