更新时间:2024-02-28 GMT+08:00

备份文件导入方式-OBS桶

场景描述

当前华为云DCS支持将其他云厂商Redis、自建Redis的数据通过DCS控制台迁移到华为云Redis。

您需要先将其他云厂商Redis、自建Redis的数据备份下载到本地,然后将备份数据文件上传到华为云与DCS Redis实例同一租户下相同Region下的OBS桶中,最后在DCS控制台创建迁移任务,DCS从OBS桶中读取数据,将数据迁移到华为云Redis中。

上传OBS桶的文件支持.aof、.rdb、.zip、.tar.gz四种格式,您可以直接上传.aof和.rdb文件,也可以将.aof和.rdb文件压缩成.zip或.tar.gz文件,然后将压缩后的文件上传到OBS桶。

前提条件

  • OBS桶所在区域必须跟Redis目标实例所在区域相同。
  • 上传的数据文件必须为.aof、.rdb、.zip、.tar.gz的格式。
  • 如果是其他云厂商的单机版Redis和主备版Redis,您需要在备份页面创建备份任务,然后下载备份文件。
  • 如果是其他云厂商的集群版Redis,在备份页面创建备份后会有多个备份文件,每个备份文件对应集群中的一个分片,需要下载所有的备份文件,然后逐个上传到OBS桶。在迁移时,需要把所有分片的备份文件选中。

步骤1:准备目标Redis实例

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

    如果没有清空实例数据,当目标实例存在与源Redis实例相同的key时,迁移后,会覆盖目标Redis实例原来的数据。

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

步骤2:创建OBS桶并上传备份文件

  1. 通过OBS Browser+客户端,上传备份数据文件到OBS桶。

    如果上传的备份文件较小,且小于5GB,请执行2,通过OBS控制台上传即可;

    如果上传的备份文件大于5GB,请按照OBS服务提供的超过5GB如何上传操作指导执行。

  2. 通过OBS控制台,上传备份数据文件到OBS桶。

    如果上传的备份文件较小,且小于5GB,请执如下步骤:
    1. 创建OBS桶。

      在创建过程中,以下两个参数请按要求设置,其他详细的创建步骤,请参考《对象存储服务 控制台用户指南》的“创建桶”章节。

      1. 选择“区域”。

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

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

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

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

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

    6. 上传对象。

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

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

      图1 上传对象
    7. 选择“服务端加密”方式。
    8. 单击“上传”。

步骤3:创建迁移任务

  1. 登录分布式缓存服务控制台。
  2. 单击左侧菜单栏的“数据迁移”。页面显示迁移任务列表页面。
  3. 单击右上角的“创建备份导入任务”。
  4. 设置迁移任务名称和描述。
  5. 在“源Redis”区域,“数据来源”选择“OBS桶”,在“OBS桶名”中选择已上传备份文件的OBS桶。
  6. 根据需要选择“源DB”,您可以指定源端备份文件某一个DB中的数据,例如输入5时,则只迁移DB5中的数据;无需指定DB时,请保持置空,即迁移全部DB。
  7. 选择“是否多DB Proxy集群”,只有当源Redis数据为DCS Proxy集群实例,且开启了多DB(Proxy实例multi-db参数值为yes)时选择。
  8. 单击“添加备份文件”,选择需要迁移的备份文件。
  9. 在“目标Redis”区域,选择步骤1:准备目标Redis实例中准备的“目标Redis实例”。
  10. 如果目标Redis是密码访问模式,请输入密码后,单击“测试连接”,检查密码是否正确。免密访问的实例,请直接单击“测试连接”。
  11. 根据需要选择“目标DB”,您可以指定迁移数据到目标Redis的某一个DB中,例如输入5时,则迁移到目标Redis的DB5;不填表示不指定,默认迁移到与源端相同的DB中。

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

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

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