提升迁移作业

对于持续迁移,您可以在准备好将应用切换到目标数据库时启动升级过程。提升迁移作业会将目标实例与来源实例断开连接,并将其转换为独立的独立主数据库实例,以便您恢复自动备份、配置时间点恢复 (PITR) 并创建读取副本。

您可以提升迁移作业,也可以从迁移作业中提升所选数据库。

  1. 停止针对源数据库的所有写入操作、运行中的脚本和客户端连接。 系统自此进入停机时间。
  2. 请等待 复制延迟指标达到或接近零。这表示迁移作业已处理所有待处理的更改。

    即使复制延迟时间不为零,您也可以提升迁移。这可以减少数据库停机时间,但可能会影响目标位置中数据的准确性。

  3. 执行提升操作:

    控制台

    1. 在 Google Cloud 控制台中,前往迁移作业页面。

      前往“迁移作业”

    2. 在作业标签页上,点击要提升的迁移作业的显示名称。

      系统会打开迁移作业详情页面。

    3. 执行以下任一提升操作:
      • 如果您想提升迁移作业中包含的所有数据库,请在迁移作业的工具栏中点击提升。

        系统会显示“提升迁移作业”对话框。

      • 如果您只想提升特定数据库,请使用数据库名称旁边的复选框选择这些数据库,然后在数据库标签页上点击提升。

        系统会显示一个对话框,其中包含您要提升的数据库数量。

    4. 在对话框中,确保没有显示任何错误,然后点击提升。

    gcloud

    在使用下面的命令数据之前,请先进行以下替换:

    • 将 MIGRATION_JOB_ID 替换为您的迁移作业标识符。

      如果您不知道标识符,可以使用 gcloud database-migration migration-jobs list 命令列出给定区域中的所有迁移作业并查看其标识符。

    • 将 REGION 替换为保存连接配置文件的区域的标识符。

    执行以下命令:

    Linux、macOS 或 Cloud Shell

    gcloud database-migration migration-jobs \
    promote MIGRATION_JOB_ID \
      --region=REGION

    Windows (PowerShell)

    gcloud database-migration migration-jobs `
    promote MIGRATION_JOB_ID `
      --region=REGION

    Windows (cmd.exe)

    gcloud database-migration migration-jobs ^
    promote MIGRATION_JOB_ID ^
      --region=REGION

    结果

    该操作以异步方式执行。 因此,此命令会返回一个表示长时间运行的操作的 操作实体:

    done: false
    metadata:
      '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata
      apiVersion: v1
      createTime: '2024-02-20T12:20:24.493106418Z'
      requestedCancellation: false
      target: MIGRATION_JOB_ID
      verb: start
    name: OPERATION_ID
    

    如需查看操作是否成功,您可以查询返回的操作对象,或检查迁移作业的状态:

  4. 您选择的目标实例或数据库会升级。 目标实例与源实例断开连接,成为独立的独立主实例,并准备好接收完整的应用流量。迁移作业状态会更改为 Completed。
  5. (可选)对于使用 pg_cron 扩展程序的来源:Database Migration Service 不会迁移 pg_cron 扩展程序(或与该扩展程序关联的任何 cron 设置),但 Cloud SQL for PostgreSQL 目标支持该扩展程序。如果您在源数据库中使用 pg_cron 扩展程序,则可以在目标实例上重新安装该扩展程序。
  6. 现在,您可以将应用连接到 Cloud SQL 实例,并删除迁移作业。