3.2. 快照基础
以下流程演示了如何在命令行中使用 rbd
命令创建、列出和删除快照。
3.2.1. 创建快照
要使用 rbd
创建快照,请指定 snap create
选项、池名称和镜像名称:
[root@rbd-client ~]# rbd --pool {pool-name} snap create --snap {snap-name} {image-name} [root@rbd-client ~]# rbd snap create {pool-name}/{image-name}@{snap-name}
例如:
[root@rbd-client ~]# rbd --pool rbd snap create --snap snapname foo [root@rbd-client ~]# rbd snap create rbd/foo@snapname
3.2.2. 列出快照
要列出镜像的快照,请指定池名称和镜像名称:
[root@rbd-client ~]# rbd --pool {pool-name} snap ls {image-name} [root@rbd-client ~]# rbd snap ls {pool-name}/{image-name}
例如:
[root@rbd-client ~]# rbd --pool rbd snap ls foo [root@rbd-client ~]# rbd snap ls rbd/foo
3.2.3. 回滚快照
要使用 rbd
回滚到快照,请指定 snap rollback
选项、池名称、镜像名称和 snap 名称:
rbd --pool {pool-name} snap rollback --snap {snap-name} {image-name} rbd snap rollback {pool-name}/{image-name}@{snap-name}
例如:
rbd --pool rbd snap rollback --snap snapname foo rbd snap rollback rbd/foo@snapname
将镜像回滚到快照意味着使用快照中的数据覆盖镜像的当前版本。执行回滚所需的时间会随着镜像大小的增加而增加。从快照克隆快于将镜像回滚到照要,这是返回到预先存在状态的首选方法。
3.2.4. 删除快照
要使用 rbd
删除快照,请指定 snap rm
选项、池名称、镜像名称和快照名称:
[root@rbd-client ~]# rbd --pool <pool-name> snap rm --snap <snap-name> <image-name> [root@rbd-client ~]# rbd snap rm <pool-name-/<image-name>@<snap-name>
例如:
[root@rbd-client ~]# rbd --pool rbd snap rm --snap snapname foo [root@rbd-client ~]# rbd snap rm rbd/foo@snapname
如果镜像具有任何克隆,克隆的镜像会保留对父镜像快照的引用。要删除父镜像快照,您必须首先扁平化子镜像。详情请参阅 扁平化克隆的镜像。
Ceph OSD 守护进程异步删除数据,因此删除快照不会立即释放磁盘空间。
3.2.5. 清除快照
要使用 rbd
删除镜像的所有快照,请指定 snap purge
选项和镜像名称:
[root@rbd-client ~]# rbd --pool {pool-name} snap purge {image-name} [root@rbd-client ~]# rbd snap purge {pool-name}/{image-name}
例如:
[root@rbd-client ~]# rbd --pool rbd snap purge foo [root@rbd-client ~]# rbd snap purge rbd/foo
3.2.6. 重命名快照
重新命名快照:
[root@rbd-client ~]# rbd snap rename <pool-name>/<image-name>@<original-snapshot-name> <pool-name>/<image-name>@<new-snapshot-name>
示例
将 data
池中 dataset
镜像的 snap1
快照重命名为 snap2
:
[root@rbd-client ~]# rbd snap rename data/dataset@snap1 data/dataset@snap2
执行 rbd help snap rename
命令,以显示重命名快照的更多详细信息。