3.4. 准备实时迁移过程
您可以在同一 Red Hat Ceph Storage 集群中为 RBD 镜像准备默认的实时迁移过程。rbd migration prepare
命令接受与 rbd create
命令相同的所有布局选项。rbd create
命令允许更改不可变镜像的磁盘上的布局。如果您只想更改磁盘布局并希望保留原始镜像名称,请跳过 migration_target
参数。在准备实时迁移之前,所有使用源镜像的客户端都必须停止。如果准备步骤发现任何在读/写模式下打开的镜像的客户端,则准备
步骤将失败。在准备
步骤完成后,您可以使用新目标镜像重启客户端。
注意
您不能使用源镜像重启客户端,因为它会导致失败。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 两个块设备池。
- 一个块设备镜像。
流程
在存储集群中准备实时迁移:
语法
rbd migration prepare SOURCE_POOL_NAME/SOURCE_IMAGE_NAME TARGET_POOL_NAME/SOURCE_IMAGE_NAME
示例
[ceph: root@rbd-client /]# rbd migration prepare sourcepool1/sourceimage1 targetpool1/sourceimage1
或者
如果要重命名源镜像:
语法
rbd migration prepare SOURCE_POOL_NAME/SOURCE_IMAGE_NAME TARGET_POOL_NAME/NEW_SOURCE_IMAGE_NAME
示例
[ceph: root@rbd-client /]# rbd migration prepare sourcepool1/sourceimage1 targetpool1/newsourceimage1
在示例中,
newsourceimage1
是重命名的源镜像。您可以使用以下命令检查实时迁移过程的当前状态:
语法
rbd status TARGET_POOL_NAME/SOURCE_IMAGE_NAME
示例
[ceph: root@rbd-client /]# rbd status targetpool1/sourceimage1 Watchers: none Migration: source: sourcepool1/sourceimage1 (adb429cb769a) destination: targetpool2/testimage1 (add299966c63) state: prepared
重要在迁移过程中,源镜像被移到 RBD 回收站中,以防止使用错误。
示例
[ceph: root@rbd-client /]# rbd info sourceimage1 rbd: error opening image sourceimage1: (2) No such file or directory
示例
[ceph: root@rbd-client /]# rbd trash ls --all sourcepool1 adb429cb769a sourceimage1