IDC

使用在线迁移自建Redis_分布式缓存服务 DCS_数据迁移指南_自建Re

作者:admin 2021-10-16 我要评论

场景描述 在满足源Redis和目标Redis的网络相通、源Redis已放通SYNC和PSYNC命令这两个前提下,使用在线迁移的方式,将源Redis中的数据全量迁移或增量迁移到目标Re...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

场景描述

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

  • 如果源Redis禁用了SYNC和PSYNC命令,请务必放通后再执行在线迁移,否则迁移失败。
  • 在线迁移不支持公网方式直接迁移。

对业务影响

在线迁移,相当于增加一个从节点并且会做一次全量同步,所以,建议在业务低峰期迁移。

前提条件

  • 在迁移之前,请先阅读迁移方案概览,选择正确的迁移方案,了解当前DCS支持的在线迁移能力,选择适当的目标实例。
  • 如果是单机/主备实例迁移到集群实例,由于目标Redis集群实例只有一个DB,请先确保源Redis实例DB0以外的DB是否有数据,如果有,请先将数据转存到DB0,否则会出现迁移失败。

步骤1:获取源Redis的IP(域名)和端口

获取准备迁移的源Redis实例的IP和端口,或者域名和端口。

步骤2:准备目标Redis实例

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

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

步骤:3:检查网络

  1. 检查源Redis、目标Redis、迁移任务资源所在VPC是否在同一个VPC内。

    如果是,则执行步骤5:配置在线迁移任务;如果不是,执行2

  2. 检查源Redis的VPC、目标Redis的VPC、迁移任务资源所在VPC的网络是否打通,确保迁移任务的虚拟机资源能访问源Redis和目标Redis。

    如果已打通,则执行1;如果没打通,请参考VPC对等连接说明,查看和创建对等连接。

步骤4:创建在线迁移任务

  1. 登录分布式缓存服务控制台。
  2. 单击左侧菜单栏的“数据迁移”。页面显示迁移任务列表页面。
  3. 单击右上角的“创建在线迁移任务”。
  4. 设置迁移任务名称和描述。
  5. 配置在线迁移任务虚拟机资源的VPC、子网和安全组。

    创建在线迁移任务时,需要选择迁移虚拟机资源的VPC和安全组,并确保迁移资源能访问源Redis和目标Redis实例。

步骤5:配置在线迁移任务

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

    支持全量迁移+增量迁移,全量迁移及增量迁移的功能及限制如表1所示。

    表1 在线迁移方法说明

    迁移类型

    描述

    全量迁移

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

    全量迁移+增量迁移

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

    增量迁移,迁移任务会在迁移开始后,一直保持迁移中状态,不会自动停止。需要您在合适时间,在“操作”列单击“停止”,手动停止迁移。停止后,源端数据不会造成丢失,只是目标端不再写入数据。

    图1 选择迁移方法

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

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

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

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

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

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

    如果是增量迁移,会一直保持迁移中状态,需要手动停止迁移。

    如果出现迁移失败,可以单击迁移任务名称,进入迁移任务详情页面,查看“迁移日志”。

迁移后验证

迁移完成后,请使用Redis-cli连接源Redis和目标Redis,确认数据的完整性。

  1. 连接源Redis和目标Redis。
  2. 输入info keyspace,查看keys参数和expires参数的值。

  3. 对比源Redis和目标Redis的keys参数减去expires参数的值。

    如果差值一致,则表示数据完整,迁移正常。

注意:如果是全量迁移,迁移过程中源Redis更新的数据不会迁移到目标实例。

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
腾讯云代理商
精彩导读
海外云服务器
热门资讯
腾讯云代理商