2.9. 将块设备镜像移动到垃圾箱中
RADOS 块设备 (RBD) 镜像可以使用 rbd trash 命令移到回收站中。此命令提供的选项比 rbd rm 命令更多。
镜像移到回收站后,可以稍后将其从回收站中删除。这有助于避免意外删除。
执行以下操作将镜像移到回收站中:
rbd trash move {image-spec}
[root@rbd-client ~]# rbd trash move {image-spec}
镜像位于回收站中后,会为它分配一个唯一镜像 ID。如果您需要使用任何垃圾选项,则需要此镜像 ID 来指定镜像。执行 rbd trash list,以列出回收站中镜像的 ID 列表。此命令还会返回镜像的预删除名称。
此外,还有一个可选的 --image-id 参数,可用于 rbd info 和 rbd snap 命令。将 --image-id 与 rbd info 命令搭配使用,查看垃圾箱中的镜像属性,并使用 rbd snap 从回收站中删除镜像的快照。
从垃圾箱中删除镜像
要从回收站中删除镜像,请执行以下操作:
rbd trash remove [{pool-name}/] {image-id}
[root@rbd-client ~]# rbd trash remove [{pool-name}/] {image-id}
从回收站中删除镜像后,它将无法被恢复。
delay Trash Removal
使用 --delay 选项设置镜像从回收站中删除前的时间。执行以下命令,但将 {time} 替换为在镜像删除前要等待的秒数(默认为 0):
rbd trash move [--delay {time}] {image-spec}
[root@rbd-client ~]# rbd trash move [--delay {time}] {image-spec}
启用 --delay 选项后,除非强制,否则无法从指定时间段中的回收站中删除镜像。
从垃圾箱中恢复镜像
只要镜像尚未从回收站中删除,就可以使用 rbd trash restore 命令恢复镜像。
执行 rbd trash restore 命令以恢复镜像:
rbd trash restore [{pool-name}/] {image-id}
[root@rbd-client ~]# rbd trash restore [{pool-name}/] {image-id}