You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对部署在LVM卷上的Ceph OSD进行扩容操作?

首先明确:你提到的三步流程是不完整的,缺少集群状态保护、磁盘容量校验、OSD容量确认等关键步骤,操作不当可能触发不必要的数据迁移,甚至影响集群可用性。完整操作流程如下:

前置准备

  • 执行ceph -s确认集群当前处于HEALTH_OK状态,无PG异常、OSD离线问题
  • 执行ceph osd metadata <osd-id> | grep osd_objectstore确认OSD存储后端,当前主流部署均为bluestore,下文操作默认基于bluestore场景
  • 配置集群临时保护标志,避免OSD离线时触发数据迁移:
ceph osd set noout
ceph osd set norebalance
ceph osd set norecover

单OSD扩容步骤(三台逐台操作,前一台恢复正常后再操作下一台)

  1. 停止目标OSD服务:systemctl stop ceph-osd@<你的OSD编号>
  2. 执行lsblk确认对应VM磁盘已经成功扩容到500GB,容量未刷新的话需要先在虚拟化平台执行磁盘 rescan 操作
  3. 扩容LVM物理卷:pvresize /dev/<对应OSD的底层磁盘设备名>
  4. 扩容LVM逻辑卷:lvextend -l +100%FREE /dev/<卷组名>/<逻辑卷名>

    如果你使用的是老旧的filestore后端,需要额外执行文件系统扩容:resize2fs /dev/<卷组名>/<逻辑卷名>,bluestore后端无需执行该步骤

  5. 启动OSD服务:systemctl start ceph-osd@<你的OSD编号>
  6. 执行ceph osd df确认目标OSD已正常上线,且容量识别为500GB左右,再操作下一台OSD

扩容收尾

全部三台OSD扩容完成后,清除集群临时保护标志:

ceph osd unset noout
ceph osd unset norebalance
ceph osd unset norecover

执行ceph -s再次确认集群恢复HEALTH_OK状态即可。

注意事项

  • 必须逐台操作OSD,禁止同时下线2台及以上OSD,否则可能导致集群PG不可用
  • Bluestore后端会在启动时自动识别逻辑卷的新容量,不需要额外执行bluestore专属的扩容命令
  • 操作前建议备份OSD对应的元数据分区内容,避免扩容异常导致数据丢失

内容的提问来源于stack exchange,提问作者user16068415

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 20:27:04