更新时间:2024-11-26 GMT+08:00

变更规格

DCS管理控制台支持变更Redis缓存实例规格,即扩容/缩容,您可以根据实际需要,选择合适的实例规格。

  • 执行实例规格变更操作,建议在业务低峰期进行。业务高峰期(如实例在内存利用率、CPU利用率达到90%以上或写入流量过大)变更规格可能会失败,若变更失败,请在业务低峰期再次尝试变更。
  • 当前除Redis 3.0单机和主备实例外,其他实例类型不支持跨实例类型的变更。
  • 如果实例创建时间非常早,由于实例版本没有升级而无法兼容规格变更(扩容/缩容)功能,请联系技术支持将缓存实例升级到最新版本,升级后就可以支持规格变更(扩容/缩容)功能。
  • 变更规格过程中会有秒级业务中断,需要业务连接Redis的模块支持连接中断后重连。
  • 实例变更规格,不会影响实例的连接地址、访问密码、数据、及安全组/白名单配置等信息。

实例类型变更前须知

  • 支持实例类型变更明细如下:
    • Redis 3.0单机实例支持变更为主备实例,Redis 4.0/Redis 5.0单机实例不支持变更。
    • Redis 3.0主备实例支持变更为Proxy集群实例,Redis 4.0/Redis 5.0/Redis 6.0主备实例暂不支持变更。

      如果Redis 3.0主备实例数据存储在多DB上,或数据存储在非DB0上,不支持变更为Proxy集群;数据必须是只存储在DB0上的主备实例才支持变更为Proxy集群。

    • 集群实例,不支持实例类型变更。
  • 实例类型变更影响:
    • Redis 3.0单机实例类型变更为Redis 3.0主备实例。

      连接会有秒级中断,大约1分钟左右的只读。

    • Redis 3.0主备实例类型变更为Redis 3.0 Proxy实例。

      连接会中断,5~30分钟只读。

实例规格大小变更前须知

  • 支持扩容和缩容明细如下:
    表1 DCS实例规格变更说明

    缓存类型

    单机实例

    主备实例

    Cluster集群实例

    Proxy集群实例

    Redis 3.0

    支持扩容和缩容

    支持扩容和缩容

    不涉及

    支持扩容

    Redis 4.0/5.0

    支持扩容和缩容

    支持扩容、缩容和副本数变更

    支持扩容、缩容和副本数变更

    支持扩容和缩容

    Redis 6.0

    支持扩容和缩容

    支持扩容和缩容

    支持扩容、缩容和副本数变更

    不涉及

    Redis 3.0实例在预留内存不足的情况下,内存用满可能会导致扩容失败。

    副本数变更和容量变更不支持同时进行,需分开两次执行变更。

  • 实例规格大小变更影响如下:
    • 单机和主备实例规格大小变更
      • Redis 4.0及以上版本实例变更期间,连接会有秒级中断,大约1分钟的只读。
      • Redis 3.0实例变更期间,连接会中断,5~30分钟只读。
      • 如果是扩容,只扩大实例的内存,不会提升CPU处理能力。
      • 如果是单机实例规格变更,由于单机实例不支持持久化,没有数据可靠性,变更实例可能会丢失数据。在实例变更后,需要确认数据完整性以及是否需要再次填充数据。
      • 主备实例的备份记录,缩容后不能使用。
    • 集群实例规格大小变更
      • 规格变更分片数未减少时,连接不中断,但会占用CPU,导致性能有20%以内的下降,扩容数据迁移期间,访问时延会增大。
      • 集群实例扩容会新增加数据节点,数据自动负载均衡到新的数据节点。
      • 规格变更分片数减少时,会删除节点,请确保应用中没有直接引用这些删除的节点。删除节点会导致连接闪断。
      • 规格变更后实例每个节点的已用内存必须小于节点最大内存的70%,否则将不允许变更。
      • 实例规格变更期间,如果有大批量数据写入导致节点内存写满,将会导致变更失败,建议在业务低峰期进行。
      • 实例规格变更期间,会进行数据迁移,访问正在迁移的key时,时延会增大。Cluster集群请确保客户端能正常处理MOVED和ASK命令,否则会导致请求失败。
      • 变更规格前的备份记录不能恢复。
  • Redis 实例副本数变更须知:

    删除副本会导致连接中断,需确保您的客户端应用具备重连机制和处理异常的能力,否则在删除副本后需要重启客户端应用。

操作步骤

  1. 登录分布式缓存服务管理控制台。
  2. 在管理控制台左上角单击,选择区域和项目。
  3. 单击左侧菜单栏的“缓存管理”。进入缓存管理页面。
  1. 在需要规格变更的实例右侧,单击“操作”栏下的“更多 > 变更规格”,进入到分布式缓存服务变更规格页面。
  2. 在变更实例规格页面中,选择您需要变更的目标规格。

    Redis 4.0及以上版本的主备和Cluster集群实例支持选择“容量变更”或“副本数变更”。

  3. 选择变更时间为“立即变更”或“可维护时间窗内进行变更”。

    “可维护时间窗内进行变更”适用于如下变更规格时存在客户端连接中断的场景

    表2 变更规格时存在客户端连接中断的场景

    变更规格任务

    客户端连接中断的场景

    单机或主备实例扩容

    从8G以下扩容到8G或8G以上时

    Proxy或Cluster集群实例缩容

    分片数减少时

    删除副本

    主备/Cluster集群实例删除副本

    • 不涉及客户端连接中断的场景,选择在可维护时间窗内变更,也会立即变更。
    • 提交变更规格后,不支持取消变更,可以修改“维护时间窗”时间推迟变更(变更过程中,维护时间窗可修改次数不超过3次)。
    • Redis 3.0变更实例时,仅支持“立即变更”。
    • 在“维护时间窗”内变更的实例,变更的起始时间点是在维护时间窗时段内的随机时间,不是维护时间窗的起始时间。
    • 集群实例缩容需要迁移的数据量过大时,缩容完成的时间可能会超出可维护时间窗。

  4. 单击“下一步”,在弹窗中了解变更须知后,单击“确认变更”。
  5. 单击“提交”,开始变更DCS缓存实例。

    在界面上您可以选择跳转到后台任务列表,查看变更任务的状态,具体可参考查看实例后台任务

    DCS单机和主备缓存实例规格变更大约需要5到30分钟,集群实例规格变更所需时间稍长。实例规格变更成功后,实例状态切换为“运行中”。
    • 当单机实例规格变更失败时,实例对用户暂不可用,实例规格仍然为变更前的规格,部分管理操作(如参数配置、规格变更等)暂不支持,待后台完成变更处理后,实例将自动恢复正常,实例规格将更新为变更后的规格。
    • 当主备和集群实例规格变更失败时,实例对用户仍然可用,实例规格仍然为变更前的规格,部分管理操作(如参数配置、备份恢复、规格变更等)暂不支持,请按照变更前的规格使用,避免因数据超过规格而被丢失。
    • 当规格变更成功时,您可以按照新的规格使用DCS缓存实例。
    • 当页面出现“DCS.4104 实例内部异常正在恢复,请稍后重试”的错误码时,表示实例内部异常,需要等待实例恢复,请联系运维人员处理。