好,那我直接把 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. 使用建议(实验环境)
-
实验前统一使用:
bashrbd ls rbd info确认环境干净
-
所有 destructive 操作(rollback / rm)需先说明目的
-
快照命名建议包含时间或阶段信息
9. 小结
本速查表覆盖了 RBD 镜像管理的核心命令,适用于:
- 实验教学
- 快速查阅
- 与《RBD 客户端挂载操作指南》配合使用
如果你愿意,下一步我可以:
- ✅ 按同一风格帮你把 B 同学的文档也写出来
- ✅ 帮你设计一份 交叉测试反馈模板
- ✅ 或把 A + B 的文档合并成一份 完整实验手册
你下一步想继续哪个?