5.11. 克隆块设备快照
克隆块设备快照可以在不复制数据的情况下创建现有块设备快照的可写入副本。
您可以根据要求克隆单个块设备快照或组块设备快照。
5.11.1. 克隆单个块设备快照
克隆块设备快照,以在同一个池或其他池中创建快照的读取或写入子镜像。一种用例是将只读镜像和快照维护为一个池中的模板,然后在另一个池中维护可写克隆。
克隆 v2 不需要保护快照。
先决条件
在开始前,请确保您有以下先决条件:
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 节点的根级别访问权限。
流程
要克隆快照,您需要指定父池、快照、子池和镜像名称:
语法
rbd clone --pool POOL_NAME --image PARENT_IMAGE --snap SNAP_NAME --dest-pool POOL_NAME --dest CHILD_IMAGE_NAME rbd clone POOL_NAME/PARENT_IMAGE@SNAP_NAME POOL_NAME/CHILD_IMAGE_NAME
示例
[root@rbd-client ~]# rbd clone --pool pool1 --image image1 --snap snap1 --dest-pool pool1 --dest childimage1 [root@rbd-client ~]# rbd clone pool1/image1@snap1 pool1/childimage1
5.11.2. 克隆块设备组快照
您可以通过 rbd clone
命令的 latest-snap -id 选项,从使用
命令创建的组快照克隆新组。
rbd group snap
create
先决条件
在开始前,请确保您有以下先决条件:
- 正在运行的 Red Hat Storage Ceph 集群。
- 节点的根级别访问权限。
- 组快照。
仅支持通过克隆 v2- -rbd-default-clone-format 2 从组快照克隆
。
示例
[root@rbd-client]# ] rbd clone --snap-id 4 pool1/image1 pool1/i1clone1 --rbd-default-clone-format 2
流程
获取组快照的 snap ID。
语法
rbd snap ls --all POOL_NAME/PARENT_IMAGE_NAME
以下示例具有组快照,表示
SNAPID
列为4
,NAMESPACE
为组
。示例
[root@rbd-client] # rbd snap ls --all pool1/image1 SNAPID NAME SIZE PROTECTED TIMESTAMP NAMESPACE 3 snap1 10 GiB yes Thu Jul 25 06:21:33 2024 user 4 .group.2_39d 10 GiB Wed Jul 31 02:28:49 2024 group (pool1/group1@p1g1snap1)
使用--
snap-id
选项,创建组快照的克隆。语法
rbd clone --snap-id SNAP_ID POOL_NAME/IMAGE_NAME POOL_NAME/CLONE_IMAGE_NAME --rbd-default-clone-format 2
示例
[root@rbd-client]# rbd clone --snap-id 4 pool1/image1 pool2/clone2 --rbd-default-clone-format 2
验证步骤
使用
rbd ls
命令验证组快照的克隆镜像是否已成功创建。示例
[root@rbd-client]# rbd ls -p pool2 clone2