RBD 常用命令速查表

好,那我直接把 A 同学要交付的《RBD 常用命令速查表》完整写出来

这份文档我按**"实验课 / 技术文档"标准来写**,做到:

  • ✅ 可直接交作业
  • ✅ 适合新手快速查
  • ✅ 也经得起老师/助教检查
  • ✅ 后续方便 B 同学按表实操交叉测试

你可以原样使用,或者稍微改个封面就能交。


📘 RBD 常用命令速查表

(Ceph RBD Image Management Cheat Sheet)


1. 文档说明

本文档用于快速查阅 Ceph RBD 镜像管理常用命令,覆盖镜像创建、查看、快照、克隆、映射与删除等操作,适用于实验教学及日常运维场景。

默认示例使用 pool 名为 rbd,镜像名为 test-img


2. RBD 镜像基础操作

2.1 创建镜像(create)

bash 复制代码
rbd create <pool>/<image> --size <size>

示例:

bash 复制代码
rbd create rbd/test-img --size 5G

常用参数说明:

参数 说明
--size 镜像逻辑大小(必须指定)
--image-feature layering 启用快照/克隆功能(推荐)

⚠ 注意:

  • 默认创建的是 format 2 镜像
  • 没有 layering 将无法创建快照和 clone

2.2 查看镜像列表(ls)

bash 复制代码
rbd ls <pool>

示例:

bash 复制代码
rbd ls rbd

2.3 查看镜像详细信息(info)

bash 复制代码
rbd info <pool>/<image>

示例:

bash 复制代码
rbd info rbd/test-img

重点关注字段:

  • size
  • features
  • format
  • parent(是否是克隆镜像)

3. RBD 快照管理命令

3.1 创建快照(snap create)

bash 复制代码
rbd snap create <pool>/<image>@<snap-name>

示例:

bash 复制代码
rbd snap create rbd/test-img@snap1

说明:

  • 快照创建是瞬时操作
  • 不会复制全部数据(写时复制 COW)

3.2 查看快照列表(snap ls)

bash 复制代码
rbd snap ls <pool>/<image>

示例:

bash 复制代码
rbd snap ls rbd/test-img

3.3 回滚快照(snap rollback)

bash 复制代码
rbd snap rollback <pool>/<image>@<snap-name>

示例:

bash 复制代码
rbd snap rollback rbd/test-img@snap1

⚠ 注意:

  • 会覆盖当前镜像内容
  • 属于破坏性操作
  • 实际生产中需谨慎

3.4 删除快照(snap rm)

bash 复制代码
rbd snap rm <pool>/<image>@<snap-name>

示例:

bash 复制代码
rbd snap rm rbd/test-img@snap1

⚠ 常见错误:

  • 快照被保护(protected),需要先取消保护

3.5 批量删除快照(snap purge)

bash 复制代码
rbd snap purge <pool>/<image>

示例:

bash 复制代码
rbd snap purge rbd/test-img

4. RBD 克隆操作(Clone)

4.1 保护快照(snap protect)

bash 复制代码
rbd snap protect <pool>/<image>@<snap-name>

示例:

bash 复制代码
rbd snap protect rbd/test-img@snap1

说明:

  • 只有被保护的快照才能用于 clone
  • 被保护的快照不能直接删除

4.2 克隆镜像(clone)

bash 复制代码
rbd clone <pool>/<image>@<snap> <pool>/<new-image>

示例:

bash 复制代码
rbd clone rbd/test-img@snap1 rbd/clone-img

说明:

  • 克隆镜像最初依赖父快照
  • 占用空间极小

4.3 扁平化克隆镜像(flatten)

bash 复制代码
rbd flatten <pool>/<image>

示例:

bash 复制代码
rbd flatten rbd/clone-img

说明:

  • 解除对父快照的依赖
  • 扁平化后才能安全删除父镜像

5. RBD 客户端映射命令(内核方式)

5.1 映射镜像(map)

bash 复制代码
rbd map <pool>/<image>

示例:

bash 复制代码
rbd map rbd/test-img

返回结果示例:

复制代码
/dev/rbd0

5.2 解除映射(unmap)

bash 复制代码
rbd unmap <device>

示例:

bash 复制代码
rbd unmap /dev/rbd0

⚠ 注意:

  • 使用前需先 umount
  • 否则可能失败

6. RBD 镜像删除

6.1 删除镜像(rm)

bash 复制代码
rbd rm <pool>/<image>

示例:

bash 复制代码
rbd rm rbd/test-img

删除前必须满足:

  • 镜像未被 map
  • 镜像无快照
  • 镜像未被 clone 依赖

7. 常见错误速查表

错误提示 原因 解决方式
image has snapshots 镜像存在快照 删除快照
snapshot is protected 快照被保护 snap unprotect
image is busy 镜像已 map 先 unmap
has children 存在克隆 flatten 或删除克隆

8. 使用建议(实验环境)

  • 实验前统一使用:

    bash 复制代码
    rbd ls
    rbd info

    确认环境干净

  • 所有 destructive 操作(rollback / rm)需先说明目的

  • 快照命名建议包含时间或阶段信息


9. 小结

本速查表覆盖了 RBD 镜像管理的核心命令,适用于:

  • 实验教学
  • 快速查阅
  • 与《RBD 客户端挂载操作指南》配合使用

如果你愿意,下一步我可以:

  • 按同一风格帮你把 B 同学的文档也写出来
  • ✅ 帮你设计一份 交叉测试反馈模板
  • ✅ 或把 A + B 的文档合并成一份 完整实验手册

你下一步想继续哪个?

相关推荐
程序员小董2 天前
ceph ceph-kvstore-tool compact 使用的一些坑
ceph
ShiLiu_mtx2 天前
Ceph - 1
ceph
珂玥c2 天前
Rook部署——k8s集群中使用ceph
运维·ceph·kubernetes
wniuniu_3 天前
rbd的操作
ceph
ProgrammAffen5 天前
RGW层读取create-multipart信息:get_multipart_info()
c++·ceph
wniuniu_6 天前
ceph部署完整版
ceph
wniuniu_6 天前
ceph基础知识
ceph·wpf
wniuniu_6 天前
创建第一个 Ceph 的 RBD 镜像并挂载到客户端
ceph
wniuniu_7 天前
ceph搭建多机集群
ceph