3.4. 准备实时迁移过程


您可以在同一 Red Hat Ceph Storage 集群中为 RBD 镜像准备默认的实时迁移过程。rbd migration prepare 命令接受与 rbd create 命令相同的所有布局选项。rbd create 命令允许更改不可变镜像的磁盘上的布局。如果您只想更改磁盘布局并希望保留原始镜像名称,请跳过 migration_target 参数。在准备实时迁移之前,所有使用源镜像的客户端都必须停止。如果准备步骤发现任何在读/写模式下打开的镜像的客户端,则准备步骤将失败。在准备步骤完成后,您可以使用新目标镜像重启客户端。

注意

您不能使用源镜像重启客户端,因为它会导致失败。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 两个块设备池。
  • 一个块设备镜像。
注意

克隆的镜像在导入过程中隐式扁平化(使用 --import-only 参数),这些镜像在迁移到另一个 Ceph 集群时从源集群中的任何父链中分离。

流程

  1. 可选: 如果要将镜像从一个 Ceph 集群迁移到另一个 Ceph 集群,请将两个集群的 ceph.confceph.client.admin.keyring 复制到一个通用节点。这样可确保客户端节点可访问两个集群进行迁移。

    示例

    • 将 cluster c1 的 ceph.confceph.client.admin.keyring 复制到一个通用节点:

      [root@rbd1-client /]# scp /etc/ceph/ceph.conf root@10.0.67.67:/etc/ceph/c1.conf
      root@10.0.67.67's password:
      ceph.conf
        100%  263     1.2MB/s   00:00
      
      [root@rbd1-client /]# scp /etc/ceph/ceph.client.admin.keyring  root@10.0.67.67:/etc/ceph/c1.keyring
      root@10.0.67.67's password:
      ceph.client.admin.keyring
    • ceph.confceph.client.admin.keyring 的集群 c2 复制到一个通用节点:

      [root@rbd2-client]# scp /etc/ceph/ceph.conf root@10.0.67.67:/etc/ceph/c2.conf
      ceph.conf
        100%  261   864.5KB/s   00:00
      
      [root@rbd2-client]# scp /etc/ceph/ceph.client.admin.keyring root@10.0.67.67:/etc/ceph/c2.keyring
      root@10.0.67.67's password:
      ceph.client.admin.keyring
  2. 在存储集群中准备实时迁移:

    语法

    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 是重命名的源镜像。

  3. 您可以使用以下命令检查实时迁移过程的当前状态:

    语法

    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

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.