扩容的两种路径
在已有主机上加盘,或者新增主机后再布盘,逻辑是同一条:准备干净的裸盘、注册为存储设备、按容量设置权重,让数据分布把部分归置组迁到新设备上。真正可用的容量取决于回填进度而非设备标称容量;在回填完成之前,剩余空间只是略微上升,同时集群还要额外承担迁移流量。
基本信息
| 适用平台 | 分布式存储集群的运维节点 |
|---|---|
| 新增路径 | 同主机加盘与新增主机后布盘 |
| 准备要求 | 磁盘无分区表与文件系统残留 |
| 权重设置 | 按实际容量比例换算,避免倾斜 |
| 设备类别 | 标记为固态、机械或高速介质供规则筛选 |
| 观察指标 | 回填进度、各设备使用率、归置组数量 |
典型使用场景
- 容量水位偏高:在接近告警线前分批扩容,而不是等写满再动
- 性能不足:新增高速介质并按设备类别绑定到指定池
- 更换主机:新主机先布盘加入集群,再按流程下线旧主机
- 均衡容量:补足容量偏小的主机,降低整体倾斜度
- 粒度评估:设备变多后检查分布粒度是否仍然合适
新增设备与核对
新增设备与核对
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT # 确认目标磁盘与容量
ceph-volume lvm zap /dev/sdb --destroy # 清除残留标签,避免注册失败
ceph-volume lvm prepare --data /dev/sdb # 注册为存储设备,子命令随版本变化
ceph-volume lvm activate --all # 激活已注册的设备
ceph osd tree # 确认设备挂在正确的层级下
ceph osd crush reweight osd.12 3.6 # 按容量比重设置权重
ceph osd df # 核对各设备使用率是否均衡扩容前后核对项
| 核对项 | 为什么重要 | 判读要点 |
|---|---|---|
| 磁盘是否干净 | 残留标签会让注册步骤直接失败 | 准备前确认无分区表与文件系统 |
| 层级归属 | 挂错主机或机架会破坏故障域隔离 | 层级树需与真实拓扑一致 |
| 权重与容量比 | 权重偏差会造成长期倾斜 | 使用率差异明显说明需要重新换算 |
| 剩余容量 | 回填期间需要额外临时空间 | 先确认能容纳待迁移的数据 |
| 归置组粒度 | 设备数量与粒度不匹配会影响均衡 | 按规划评估是否需要调整 |
分批扩容比一次性加满更稳:每批完成后再观察回填与前端指标,既能控制风险,也便于出现异常时定位到具体批次。同一批次的设备容量尽量接近,可以减少权重换算带来的偏差。
清理磁盘标签是不可逆动作:执行前必须确认设备没有被现有集群占用、也没有属于其他用途的数据。设备名在不同主机上可能指向不同磁盘,务必用序列号或容量交叉确认后再操作。
扩容期间的容量错觉
新增设备后容量图会立刻显示更大的总量,但可用空间要等数据迁移完成才真实上升。若把总量当作已可用容量继续写入,可能在回填尚未结束时把集群推到告警水位,届时既承载前端写入又要完成迁移,两边的压力叠加在一起。