GlusterFS怎么在线无缝给已有Volume卷组添加新节点扩容

云静小哥_8802

云静小哥_8802

2026-10-20

286人浏览

原创

glusterfs支持在线无缝扩容,但需先执行gluster peer probe加入信任池,再按副本数整倍添加brick,最后通过rebalance start迁移数据并均衡负载。

glusterfs怎么在线无缝给已有volume卷组添加新节点扩容

能在线无缝扩容,但“无缝”不等于“无感知”——数据再平衡阶段会占用网络和磁盘IO,客户端可能短暂遇到延迟或小概率EAGAIN错误。

新节点必须先加入信任池(gluster peer probe)

GlusterFS 不允许直接向未认证的服务器添加 brick。即使新机器已装好 glusterfs-server、防火墙放行了 24007 和 49152–49251 端口,也必须显式执行探测:

  • gluster peer probe gfs05.example.com —— 成功后状态应为 Peer in Cluster,可通过 gluster peer status 验证
  • 若返回 Probe returned with unknown errno 107,通常是 DNS 解析失败或目标主机未启动 glusterd 服务
  • 多个节点要逐个 probe,不能一次写多个主机名;批量操作需用脚本循环

添加 brick 必须匹配卷类型约束(尤其注意 replica/stripe 倍数)

分布式复制卷(Distributed-Replicate)扩容不是“加一个 brick 就行”,而是必须按副本数整倍添加,否则命令直接报错:

Glean
Glean

一款面向企业知识管理与工作场景的 AI 平台,将企业内部搜索、知识问答、数据分析和智能协作能力连接到日常办公流程中。

下载
  • 副本数为 2 的卷,add-brick 必须一次加 2、4、6… 个 brick,例如:gluster volume add-brick myvol gfs05:/data/brick1 gfs06:/data/brick1
  • 副本数为 3 的卷,就得加 3 或 6 个 brick,少一个都不行
  • 如果误加单 brick,会提示 Number of bricks is not a multiple of replica count
  • 加 brick 前建议先 gluster volume info myvol 确认当前 Type 和 Number of Bricks

扩容后必须触发 rebalance 才算真正生效

执行 add-brick 只是更新卷配置,新 brick 初始为空,旧数据不会自动迁移过去。不 rebalance,新节点只是“挂名”,容量和负载都分不到它头上:

  • 仅调整文件分布(不搬数据):gluster volume rebalance myvol fix-layout start
  • 同时调整布局 + 迁移已有数据:gluster volume rebalance myvol start(这才是真正的扩容完成动作)
  • 运行中可用 gluster volume rebalance myvol status 查进度;df -h 在各 brick 目录下看实际使用率是否趋近均衡
  • 避免在业务高峰跑 start,默认 rebalance 使用全带宽;如需限速,得提前设 cluster.rebalance-throttle(单位 MB/s)

最容易被忽略的是:rebalance start 后,如果中途被 kill 或节点宕机,状态会卡在 in progress,后续任何 add-brick 或 remove-brick 都会被拒绝,必须先 gluster volume rebalance myvol stop 清理状态再重试。

相关专题

更多
Playwright 测试失败怎么办
Playwright 测试失败怎么办

Playwright测试失败专题汇集超时、定位器匹配、浏览器提前关闭、依赖与插件配置、文件上传、SSL及Docker启动等故障文章,并介绍通过截图、报告和Trace定位错误。

2026.10.21

0

15

Playwright 页面操作指南
Playwright 页面操作指南

Playwright页面操作专题汇集元素定位、点击与输入、等待响应、多页面切换、Iframe、事件监听及文件处理的已审核文章,便于按操作场景查阅示例与常见问题。

2026.10.21

0

16

Playwright 入门教程
Playwright 入门教程

Playwright入门专题汇集测试框架安装、VS Code配置、录制脚本、编写首个用例、运行调试及查看报告的已审核文章,帮助初学者搭建端到端测试流程。

2026.10.21

0

16

OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

2026.10.16

100

10

OpenJDK怎么配置Java开发环境
OpenJDK怎么配置Java开发环境

怎样用OpenJDK搭建开发环境?本专题介绍版本选择、下载安装、环境变量配置和编译运行验证,帮助你理清JDK的作用及基本配置流程,并通过简单程序检查环境是否可用,为后续项目开发做好准备。

2026.10.16

80

10

OpenJDK怎么部署Java应用
OpenJDK怎么部署Java应用

Java项目开发完成后,怎样部署到目标环境并正常运行?本专题介绍OpenJDK应用部署流程,涵盖运行环境准备、版本兼容检查、应用打包、启动参数配置和日志查看,帮助你理清部署前后的操作顺序,减少环境差异造成的运行问题。

2026.10.16

40

10

Revel框架模板渲染与表单验证
Revel框架模板渲染与表单验证

本专题围绕Revel框架视图层开发,介绍模板语法、变量输出、布局复用、表单提交、参数绑定与验证规则,帮助开发者完成安全规范的页面交互。

2026.10.16

40

15

Revel框架MVC路由与控制器
Revel框架MVC路由与控制器

本专题聚焦Revel框架MVC核心机制,讲解路由定义、控制器Action、参数绑定、请求响应和反向路由,并结合常见场景梳理接口请求处理流程。

2026.10.16

20

15

Revel框架入门与安装配置
Revel框架入门与安装配置

本专题从Revel框架环境搭建讲起,系统介绍命令行工具安装、项目创建、目录结构、配置文件及热代码重载,帮助开发者快速完成首个Go Web应用。

2026.10.16

40

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.9万人学习