更新时间:2022-08-06 GMT+08:00

在线迁移方式

场景描述

在满足源Redis和目标Redis的网络相通、源Redis未禁用SYNC和PSYNC命令这两个前提下,使用在线迁移的方式,将源Redis中的数据全量迁移或增量迁移到目标Redis中。

前提条件

  • 在迁移之前,请先阅读使用DCS迁移介绍,了解当前DCS支持的在线迁移能力,选择适当的目标实例。
  • 如果是单机/主备实例迁移到集群实例,由于目标Redis集群实例只有一个DB,请先确保源Redis实例DB0以外的DB是否有数据,如果有,建议先将数据使用开源Rump工具迁移到DB0,否则会出现迁移失败,具体迁移操作请参考使用Rump在线迁移

获取源Redis的信息

  • 当源端为云服务Redis时,需获取准备迁移的源Redis实例的名称。
  • 当源端为自建Redis时,需获取准备迁移的源Redis实例的IP和端口,或者域名和端口。

准备目标Redis实例

  • 如果您还没有目标Redis,请先创建,创建操作,请参考创建Redis实例
  • 如果您已有目标Redis,则不需要重复创建,但在迁移之前,您需要清空实例数据。清空操作,请参考清空Redis实例数据

在线迁移任务与源Redis、目标Redis间网络要求

  • 配置在线迁移任务时,如果选择的源Redis或目标Redis为“云服务Redis”,则界面上要求所选云服务Redis必须与迁移任务处于相同的VPC,否则可能导致迁移任务无法连接所选云服务Redis实例。
  • 特殊场景下,如果提前打通了迁移任务与所选云服务Redis实例间跨VPC访问,则可不用满足所选云服务Redis与迁移任务处于相同VPC的约束。

在创建在线迁移任务时,与源Redis、目标Redis间网络要求可参考表1

表1 在线迁移任务与源Redis、目标Redis间网络要求

源Redis类型

目标Redis类型

创建在线迁移任务网络要求

云服务Redis

云服务Redis

创建在线迁移任务时,要求在线迁移任务与源Redis和目标Redis在同一个VPC,如果在线迁移任务与源Redis或目标Redis不在同一个VPC,则需要打通迁移任务与源Redis或目标Redis间的跨网络访问。如需打通跨网络访问,请参考《虚拟私有云用户指南》的“对等连接”章节,查看和创建对等连接。

云服务Redis

自建Redis

创建在线迁移任务时,要求在线迁移任务与源Redis在同一个VPC,然后再单独打通迁移任务与目标端自建Redis间的跨网络访问。

如需打通跨网络访问,请参考《虚拟私有云用户指南》的“对等连接”章节,查看和创建对等连接

自建Redis

云服务Redis

创建在线迁移任务时,要求在线迁移任务与目标Redis在同一个VPC,然后再单独打通迁移任务与源端自建Redis间的跨网络访问。

如需打通跨网络访问,请参考《虚拟私有云用户指南》的“对等连接”章节,查看和创建对等连接

自建Redis

自建Redis

创建在线迁移任务后,需要分别打通迁移任务与源端自建Redis、目标端自建Redis间的跨网络访问。

如需打通跨网络访问,请参考《虚拟私有云用户指南》的“对等连接”章节,查看和创建对等连接

创建在线迁移任务

  1. 登录分布式缓存服务管理控制台。
  2. 在管理控制台左上角单击,选择区域和项目。
  3. 单击左侧菜单栏的“数据迁移”。页面显示迁移任务列表页面。
  4. 单击右上角的“创建在线迁移任务”。进入创建在线迁移任务页面。
  5. 设置迁移任务名称和描述。
  6. 配置虚拟私有云及安全组。
  7. 单击“立即创建”。
  8. 单击“提交”,创建在线迁移任务成功。

配置在线迁移任务

  1. 创建完在线迁移任务之后,在“在线迁移”的列表,单击“配置”,配置在线迁移的源Redis、目标Redis等信息。
  2. 选择迁移方法。

    从其他云Redis到DCS Redis的数据迁移,支持全量迁移+增量迁移,全量迁移及增量迁移的功能及限制如表2所示。

    表2 在线迁移方法说明

    迁移类型

    描述

    全量迁移

    该模式为Redis的一次性迁移,适用于可中断业务的迁移场景。全量迁移过程中,如果源Redis有数据更新,这部分更新数据不会被迁移到目标Redis。

    全量迁移+增量迁移

    该模式为Redis的持续性迁移,适用于对业务中断敏感的迁移场景。增量迁移阶段通过解析日志等技术, 持续保持源Redis和目标端Redis的数据一致。

    增量迁移,迁移任务会在迁移开始后,一直保持迁移中状态,不会自动停止。需要您在合适时间,在“操作”列单击“停止”,手动停止迁移。停止后,源端数据不会造成丢失,只是目标端不再写入数据。增量迁移在传输链路网络稳定情况下是秒级时延,具体的时延情况依赖于网络链路的传输质量。

  3. 分别选择源Redis和目标Redis。

    1. “源Redis”,支持“云服务Redis”和“自建Redis”,需要根据迁移场景选择数据来源。
      • 云服务Redis:DCS Redis实例,需要选择与迁移任务处于相同VPC的DCS Redis服务。
      • 自建Redis:其他云厂商、本地数据中心自行搭建的Redis,需要输入Redis的连接地址。
    2. 如果是密码访问模式实例,在输入连接实例密码后,您可以单击密码右侧的“测试连接”,检查实例密码是否正确、网络是否连通。

  4. 在“目标Redis实例”中,选择准备目标Redis实例中创建的目标实例。

    如果是密码访问模式实例,在输入连接实例密码后,您可以单击密码右侧的“测试连接”,检查实例密码是否符合要求。

    当源Redis和目标Redis属于DCS不同Region,则打通网路后,目标Redis实例无论是自建Redis或DCS Redis实例,在“目标Redis实例”区域,只能选中自建Redis,输入实例相关信息。

  5. 单击“立即创建”。
  6. 确认迁移信息,然后单击“提交”,开始创建迁移任务。

    可返回迁移任务列表中,观察对应的迁移任务的状态,迁移成功后,任务状态显示“成功”。

    如果是增量迁移,迁移任务会在迁移开始后,一直保持迁移中状态,直到您在“操作”列单击“停止”,手动停止迁移。