目 录CONTENT

文章目录

Ceph OSD 命令详解

Administrator
2026-03-15 / 0 评论 / 0 点赞 / 4 阅读 / 0 字
温馨提示:
部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

Ceph OSD 命令详解

OSD(Object Storage Daemon)是 Ceph 存储集群的核心组件,负责存储数据、处理数据复制、恢复、再平衡等操作。掌握 OSD 相关命令对于管理和维护 Ceph 集群至关重要。

OSD 基础命令

1. 查看 OSD 状态

# 查看 OSD 状态概览
ceph osd stat

# 查看 OSD 树状结构
ceph osd tree

# 查看 OSD 详细信息
ceph osd dump

# 查看 OSD 性能统计
ceph osd perf

2. OSD 状态管理

# 将 OSD 标记为 out(从集群中移出)
ceph osd out <osd_id>

# 将 OSD 标记为 in(加入集群)
ceph osd in <osd_id>

# 将 OSD 标记为 down(标记为宕机)
ceph osd down <osd_id>

# 将 OSD 标记为 lost(标记为丢失)
ceph osd lost <osd_id>

3. OSD 权重和 Crush Map

# 调整 OSD 权重
ceph osd crush reweight <osd_name> <weight>

# 查看 Crush Map
ceph osd crush dump

# 查看 Crush 树
ceph osd crush tree

OSD 管理命令

1. 创建和删除 OSD

在 cephadm 环境中,通常使用 orch 命令来管理 OSD:

# 使用 orch 命令添加 OSD
ceph orch daemon add osd <host>:<device>

# 删除 OSD
ceph orch osd rm <osd_id>

# 查看 OSD 删除状态
ceph orch osd rm status

常用 OSD 管理场景

场景 1:替换故障磁盘

当某个 OSD 对应的磁盘发生故障时,需要替换磁盘:

# 1. 将故障 OSD 标记为 out
ceph osd out osd.<osd_id>

# 2. 等待数据迁移完成(可通过 ceph -s 观察)
ceph -s

# 3. 从集群中移除 OSD
ceph orch osd rm <osd_id>

# 4. 确认 OSD 已被移除
ceph osd tree

# 5. 物理更换磁盘

# 6. 添加新磁盘为 OSD
ceph orch daemon add osd <host>:<new_device>

场景 2:临时维护 OSD

当需要临时关闭某个 OSD 进行维护时:

# 1. 将 OSD 标记为 out(数据会被迁移到其他 OSD)
ceph osd out osd.<osd_id>

# 2. 等待数据迁移完成
ceph -s

# 3. 执行维护操作...

# 4. 维护完成后重新加入集群
ceph osd in osd.<osd_id>

场景 3:调整 OSD 权重

当需要调整某个 OSD 的权重(影响数据分布)时:

# 1. 查看当前权重
ceph osd tree

# 2. 调整权重(例如调整为 0.8)
ceph osd crush reweight osd.<osd_id> 0.8

OSD 相关配置参数

参数名含义默认值建议值
osd_memory_targetOSD 内存限制4GB根据节点内存调整
osd_max_backfills最大回填数12-4(视网络带宽)
osd_recovery_max_active最大恢复并发数32-4(视磁盘性能)
osd_op_threadsOSD 操作线程数24-8(视 CPU 核心数)

注意事项

  1. 数据安全:在删除 OSD 前,务必确保数据已完全迁移
  2. 集群状态:执行任何 OSD 操作前,先检查集群健康状态 (ceph -s)
  3. 备份配置:重要操作前备份相关配置
  4. 权限要求:大部分命令需要管理员权限执行

总结

OSD 是 Ceph 集群中最重要的组件之一,掌握这些命令有助于更好地管理和维护存储集群。在实际操作中,应根据具体情况选择合适的命令,并严格按照操作流程执行,确保数据安全和集群稳定。

参考文档

  1. Ceph 官方文档 - OSD
  2. Ceph 官方文档 - 替换 OSD
0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区