文档首页> 分布式缓存服务 DCS> 常见问题> 扩容缩容与实例升级> Redis 3.0单机/主备实例升级高版本操作指导
更新时间:2023-12-27 GMT+08:00

Redis 3.0单机/主备实例升级高版本操作指导

背景说明

Redis开源社区自2019年5月19日发布Redis 3.0最后一个小版本后,一直未对Redis 3.0进行更新。华为云DCS也于2021年3月发布了停售DCS Redis 3.0的公告。

鉴于Redis 3.0版本较老,开源社区已不再对其进行更新,并且DCS提供的高版本Redis 4.0/5.0/6.0兼容Redis 3.0,建议客户尽快将Redis 3.0升级到高版本。

本章节介绍如何通过数据迁移的方式升级Redis 3.0单机/主备实例,方便用户完成升级。
  1. 本操作指导仅针对Redis 3.0单机/主备实例升级到Redis 4.0/5.0/6.0高版本单机/主备实例。
  2. DCS Redis 3.0实例支持公网访问,Redis 4.0/5.0/6.0暂不支持,如果用户业务依赖公网访问,则不能升级。
  3. 通过数据迁移的方式升级Redis版本,对客户业务可能有以下影响:
    • 通过“全量 + 增量”方式将Redis3.0实例升级到高版本时,在数据进行增量迁移阶段,如果目标端与源端的缓存键总数一致,或偏移量较小,需要业务侧停止数据写入。
    • 数据同步完成后,需要对访问Redis的域名或IP地址、Redis密码(如果升级后实例与原实例密码不一致)做切换,切换时需要停止业务。
    • 切换实例连接地址及密码后,需要用户验证业务是否正常,观察实例升级后的关键性能监控指标是否正常。
  4. 建议在业务低峰期进行实例升级操作。

前提条件

  • 创建与Redis 3.0相同VPC,相同实例类型、且规格不小于原实例规格的高版本Redis实例,建议实例密码保持一致。

    例如,用户需要将Redis 3.0 16GB主备实例升级到Redis 5.0版本,则需要提前创建一个不小于16GB的Redis 5.0主备实例。

  • 手动备份Redis 3.0源实例数据。

实例数据迁移

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

    迁移任务需要与源Redis和目标Redis实例网络互通,请选择与Redis实例相同的VPC。

    迁移任务创建后,会占用一个租户侧IP,即控制台上迁移任务对应的“迁移机IP”,如果目标Redis配置了白名单,需要放通迁移机IP。

  6. 在线迁移任务创建完成后,单击在线迁移任务右侧“操作”列的“配置”,配置在线迁移的源Redis、目标Redis等信息。
  7. 选择迁移方法。

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

    表1 在线迁移方法说明

    迁移方法

    描述

    全量迁移

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

    全量迁移+增量迁移

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

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

    图1 选择迁移方法

  8. 当迁移方法选择“全量迁移+增量迁移”时,支持选择是否启用“带宽限制”。

    启用带宽限制功能,当数据同步速度达到带宽限制时,将限制同步速度的继续增长。

  9. 选择是否“自动重连”。如开启自动重连模式,迁移过程中在遇到网络等异常情况时,会无限自动重连。

    自动重连模式在无法进行增量同步时,会触发全量同步,增加带宽占用,请谨慎选择。

  10. 选择“源Redis实例”,此处请选择需要升级的Redis 3.0实例。

    如果Redis 3.0实例为密码访问模式,请在“源Redis实例密码”处输入实例密码后,单击密码右侧的“测试连接”,检查实例密码是否正确、网络是否连通。

  11. 选择“目标Redis实例”,此处请选择新建的高版本Redis实例。

    如果目标实例为密码访问模式,请在“目标Redis实例密码”处输入实例密码后,单击密码右侧的“测试连接”,检查实例密码是否正确、网络是否连通。

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

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

    • 如果是增量迁移,会一直保持迁移中的状态。
    • 如需手动停止迁移,请选中需要停止的迁移任务,单击“停止”。
    • 数据迁移后,目标端与源端重复的Key会被覆盖。

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

迁移后验证

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

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

  3. 对比源Redis和目标Redis的keys参数分别减去expires参数的差值。如果差值一致,则表示数据完整,迁移正常。

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

业务访问Redis地址切换及业务功能验证

  1. 将业务访问的源Redis 3.0实例域名连接地址或IP地址,切换为高版本实例的域名连接地址或IP地址。

    图2 获取实例连接地址

  2. 如果升级后新实例密码与原实例密码不一致,需要将客户端配置连接Redis的密码修改新实例的密码。
  3. 验证业务功能是否正常。例如,检查客户端访问Redis是否有报错。
  4. 观察关键性能监控指标是否异常。例如,活跃客户端连接数、每秒并发操作数、CPU使用率、内存使用率等监控参数。

扩容缩容与实例升级 所有常见问题

more