文档首页/ 分布式缓存服务 DCS/ 用户指南/ 迁移实例数据/ DCS实例间迁移/ 使用备份文件离线迁移DCS Redis实例
更新时间:2024-10-30 GMT+08:00

使用备份文件离线迁移DCS Redis实例

DCS支持通过备份文件导入的方式离线迁移DCS实例间的数据。

  • 如果您需要迁移的源Redis与目标Redis为DCS相同账号下相同Region的实例,且源Redis实例非单机实例时,离线迁移请参考通过Redis实例离线迁移
  • 如果您需要迁移的源Redis与目标Redis为DCS不同账号或不同Region的实例,或源Redis实例为单机实例时,离线迁移请参考通过OBS桶离线迁移

前提条件

  • 源Redis实例已执行数据备份并备份成功。
  • 已准备目标Redis实例。如果您还没有目标Redis实例,请先创建Redis,参考购买Redis实例

    目前Redis高版本支持兼容低版本,因此,同版本或低版本可以迁移到高版本Redis,目标端创建的实例版本不要低于源端Redis版本。

  • 请确保目标Redis有足够的存储空间,迁移实例前建议清空目标Redis中的数据,清空实例数据的操作请参考清空Redis实例数据。如果没有清空实例数据,数据迁移后,目标Redis与源Redis实例重复的数据会被覆盖,源Redis没有、目标Redis有的数据会保留。

通过Redis实例离线迁移

  1. 登录分布式缓存服务管理控制台
  2. 在管理控制台左上角单击,选择源Redis和目标Redis所在的区域。
  3. 单击左侧菜单栏的“数据迁移”。页面显示迁移任务列表页面。
  4. 单击右上角的“创建备份导入任务”,进入创建备份导入任务页面。
  5. 设置迁移任务名称和描述。

    任务名称请以字母开头,长度不小于4位且不超过64位。任务名称只能包含字母、数字、中划线、下划线。

  6. 源Redis“数据来源”选择“Redis实例”。

    图1 选择数据来源(Redis实例)

  7. 在“源Redis实例”中选择需要迁移的源端实例。
  8. 根据需要选择“源DB”,您可以指定源Redis备份文件某一个DB中的数据,例如输入5时,则只迁移DB5中的数据;无需指定DB时,请保持置空,即迁移全部DB。
  9. 选择“是否多DB Proxy集群”,只有当源Redis数据为DCS Proxy集群实例,且开启了多DB(Proxy实例multi-db参数值为yes)时选择。
  10. 在“备份记录”中选择需要迁移的备份文件。
  11. “目标Redis实例”请选择前提条件中准备的目标Redis。
  12. 如果目标Redis是密码访问模式,请输入密码后,单击“测试连接”,检查密码是否正确。免密访问的实例,请直接单击“测试连接”。
  13. 根据需要选择“目标DB”,您可以指定迁移数据到目标Redis的某一个DB中,例如输入5时,则迁移到目标Redis的DB5;不填表示不指定,默认迁移到与源端相同的DB中。

    • 当源端为多DB,目标端为单DB的DCS实例时(单DB的实例只有DB0),需要源端的所有数据都在DB0,或者指定仅迁移源端某一DB中的数据并将目标端DB指定为0,否则会迁移失败。
    • DCS Redis的DB数请参见Redis实例是否支持多DB方式?

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

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

通过OBS桶离线迁移

通过OBS桶离线迁移,您需要先将源Redis的数据备份下载到本地,然后将备份文件上传到与DCS目标Redis同一账号相同区域下的OBS桶中,再创建备份导入迁移任务,从OBS桶中读取数据并将数据迁移到目标Redis中。

  • 上传OBS桶的备份文件支持.aof、.rdb、.zip、.tar.gz四种格式,您可以直接上传.aof和.rdb文件,也可以将.aof和.rdb文件压缩成.zip或.tar.gz文件,然后将压缩后的文件上传到OBS桶。
  • 如果源端实例是集群Redis,每个备份文件对应集群中的一个分片,需要下载所有的备份文件,然后逐个上传到OBS桶。在迁移时,需要把所有分片的备份文件选中。
  1. 目标Redis实例所在的账号和区域下创建OBS桶。如果已有符合条件的OBS桶,无需重新创建。

    在创建过程中,以下两个参数请按要求设置,其他详细的创建步骤,请参考创建桶章节。
    • 选择“区域”。

      OBS桶所在区域必须跟Redis目标实例所在区域相同。

    • 设置“默认存储类别”,存储类别支持“标准存储”和“低频访问存储”。

      请不要选择“归档存储”,否则会导致备份文件迁移失败。

  2. 上传备份文件到OBS桶。

    1. 在OBS管理控制台的桶列表中,单击创建的桶名称,进入“概览”页面。
    2. 在左侧导航栏,单击“对象”。
    3. 在“对象”页签下,单击“上传对象”,系统弹出“上传对象”窗口。
    4. 指定对象的存储类别。

      请不要选择“归档存储”,否则会导致备份文件迁移失败。

    5. 上传对象。

      您可以拖拽本地文件或文件夹至“上传对象”区域框内添加待上传的文件,也可以通过单击“上传对象”区域框内的“添加文件”,选择本地文件添加。

      单次最多支持100个文件同时上传,总大小不超过5GB。

      图2 上传对象
    6. 选择服务端加密方式,支持选择“SSE-KMS”、“SSE-OBS”或“不开启加密”,详情请参见使用服务端加密方式上传对象
    7. 单击“上传”。

  3. 单击控制台左上角服务列表,选择“应用中间件 > 分布式缓存服务 Redis版”,进入分布式缓存服务。
  4. 单击左侧菜单栏的“数据迁移”进入数据迁移页面。
  5. 单击右上角的“创建备份导入任务”。
  6. 设置迁移任务名称和描述。

    任务名称请以字母开头,长度不小于4位且不超过64位。任务名称只能包含字母、数字、中划线、下划线。

  7. 在“源Redis”区域,“数据来源”选择“OBS桶”,在“OBS桶名”中选择已上传备份文件的OBS桶。

    图3 选择数据来源(OBS桶)

  8. 根据需要选择“源DB”,您可以指定源端备份文件某一个DB中的数据,例如输入5时,则只迁移DB5中的数据;无需指定DB时,请保持置空,即迁移全部DB。
  9. 选择“是否多DB Proxy集群”,只有当源Redis数据为DCS Proxy集群实例,且开启了多DB(Proxy实例multi-db参数值为yes)时选择。
  10. 单击“添加备份文件”,选择需要迁移的备份文件。
  11. 在“目标Redis”区域,选择前提条件中准备的“目标Redis实例”。
  12. 如果目标Redis是密码访问模式,请输入密码后,单击“测试连接”,检查密码是否正确。免密访问的实例,请直接单击“测试连接”。
  13. 根据需要选择“目标DB”,您可以指定迁移数据到目标Redis的某一个DB中,例如输入5时,则迁移到目标Redis的DB5;不填表示不指定,默认迁移到与源端相同的DB中。

    • 当源端为多DB,目标端为单DB的DCS实例时(单DB的实例只有DB0),需要源端的所有数据都在DB0,或者指定仅迁移源端某一DB中的数据并将目标端DB指定为0,否则会迁移失败。
    • DCS Redis的DB数请参见Redis实例是否支持多DB方式?

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

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