告别混乱!用Unity Timeline的Control Track和轨道组(Track Group)高效管理过场动画资源
2026/5/25 20:50:04
好的,我将把关于RBD 克隆和快照删除/回收机制的两个教程合并,创建一个带有详细命令、操作步骤和底层原理的综合指南。
| 动作 | 命令示例 | 原理/解释 |
|---|---|---|
| 创建快照 | rbd snap create poolname/base_vm@initial_state | 瞬时操作:该操作仅记录当前镜像数据块的 RADOS 对象 ID 集合,并将快照设置为指向这个只读集合的指针。不会复制任何数据,因此速度极快。 |
| 确认快照 | rbd snap ls poolname/base_vm | 验证快照元数据已成功创建。 |
rbd snap protect poolname/base_vm@initial_state原理:
rbd clone poolname/base_vm@initial_state target_pool/vm01_disk原理:
vm01_disk的元数据,其中包含一个明确指向父快照的指针。vm01_disk数据时,如果该块尚未被修改,RBD 驱动会透明地沿着指针从父快照读取共享数据。| — | — | — |
|删除克隆|rbd rm target_pool/vm01_disk|直接消除依赖:一旦克隆镜像被删除,它对父快照的依赖关系即刻消失。该克隆所独有的数据块会被标记为可回收。 |
| — | — | — |
|扁平化|rbd flatten target_pool/vm01_disk|消除共享,数据独立:这是强制数据复制的操作。系统会将父快照中所有被vm01_disk共享的数据块复制到vm01_disk自身的存储空间中。 |
|空间变化| 无专门命令,需观察rbd du| 克隆镜像的物理占用空间会显著增加,因为共享数据现在变为独占数据。操作完成后,vm01_disk成为一个独立镜像,不再依赖父快照。 |
| 动作 | 命令示例 | 原理/解释 |
|---|---|---|
| 取消保护 | rbd snap unprotect poolname/base_vm@initial_state | 依赖计数为零后,取消保护。如果仍有依赖,该操作会失败。 |
| 删除快照 | rbd snap rm poolname/base_vm@initial_state | 触发垃圾回收:快照被删除后,该快照所独有的、并且不再被链条中任何其他快照或镜像引用的数据块,会被 Ceph 的RADOS 垃圾回收机制标记并异步删除。 |
| 查看回收 | 需等待 OSD 运行 | OSDs 会在后台释放对应的 RADOS 对象。从命令执行到存储池容量统计(ceph df)下降会存在一定延迟,尤其是在集群负载较高时。 |