CEPH
    CEPH
    • CEPH
    • Ceph 恢复速度优化指南
    • CEPH,PG操作
    • BlueStore替换硬盘
    • Ceph去掉PG操作步骤
    • ceph离线osd处理
    • CEPH集群的健康指标
    • CEPH删除OSD
    • VG扩容
    • CEPH更换硬盘

    BlueStore替换硬盘

    在Ceph集群中替换Bluestore类型的OSD硬盘时,需保留OSD ID和CRUSH map条目以保持集群元数据一致性。以下是具体操作流程及注意事项:

    一、替换流程#

    确认集群状态与目标OSD信息
    使用ceph osd tree查看OSD状态,确认故障OSD的ID(如osd.1)及对应设备路径(如/dev/sdb)。
    通过ceph osd metadata 1获取OSD的详细元数据,确保新硬盘容量与原硬盘匹配或更大。
    销毁故障OSD
    执行命令停止并移除OSD元数据:
    ceph osd destroy 1 --yes-i-really-mean-it
    此操作会从集群中移除OSD,但不会立即擦除磁盘数据,需后续手动清理。
    擦除旧磁盘数据
    使用ceph-volume lvm zap清除旧OSD的元数据和分区:
    
    
    ceph-volume lvm zap /dev/sdb
    此步骤确保新磁盘无残留数据,避免冲突。

    创建新OSD并保留原ID#

    将新硬盘格式化为Bluestore格式并关联原OSD ID:
    ceph-volume lvm create --osd-id 1 --data /dev/sdb
    此命令会自动配置新OSD并加入集群,保留原ID和CRUSH map条目。

    二、关键注意事项#

    磁盘匹配与容量
    新磁盘容量应≥原磁盘,否则可能导致数据无法完整迁移。
    若使用SSD替换HDD,需确认集群是否支持混合存储策略。
    数据一致性验证
    替换完成后,通过ceph -s检查集群健康状态,确保OSD状态为up且无PG处于incomplete状态。
    使用ceph df验证存储空间是否正常累加。
    权限与执行环境
    所有命令需在Ceph监控节点或OSD节点以root权限执行。
    若使用Kubernetes部署,需结合rook或ceph-csi工具调整Pod配置。

    三、替代方案:在线替换(无OSD ID保留)#

    若无需保留原OSD ID,可直接使用新硬盘创建独立OSD:
    格式化新硬盘:ceph-volume lvm create --data /dev/sdb
    从集群中彻底移除旧OSD:ceph osd rm 1
    此方法适用于非关键集群或需要优化存储布局的场景。

    四、故障排查#

    OSD无法激活:检查磁盘权限(/dev/sdb是否可读写)、LVM配置及内核模块(如dm_mod是否加载)。
    CRUSH map不一致:通过ceph osd crush show对比替换前后的配置,必要时手动调整权重或位置。
    通过上述步骤,可安全完成Bluestore OSD硬盘的替换,最小化对集群性能的影响。
    修改于 2025-04-27 09:24:40
    上一页
    CEPH,PG操作
    下一页
    Ceph去掉PG操作步骤
    Built with