变更实例配置

云数据库 Tair(兼容 Redis)支持变更实例的配置,包括扩容或缩容内存规格、变更实例架构,以满足不同的性能和容量需求。

费用说明

按量付费实例,按变更后的规格计费。包年包月实例,根据升配或降配,支付或退还差价。

变配的计费规格和降配退费的问题,请参见变配说明

变配流程

经典实例

提交变配后,实例状态立即变为“变配中”。云数据库 Tair(兼容 Redis)将创建新实例,并自动同步原实例的数据到新实例。数据同步完成后,原实例会在指定切换时间切换至新实例,此时会出现1~2次30秒内的连接闪断,切换完成后,实例状态为“运行中”,变配完成。

image

云原生实例

变配分片规格提交后,实例立即进入“变配中”。云数据库 Tair(兼容 Redis)会先进行资源评估。如果资源充足,将直接变更分片规格,对业务无影响。如果资源不足,将会创建指定规格的新节点,并同步数据到新的节点,在指定切换时间切换到新节点,涉及切换的节点会出现连接闪断。

image

变配影响

经典实例和云原生标准架构实例

  • 实例执行切换时会出现1~2次30秒内的连接闪断

  • 为保障变配后的新实例能快速追平原实例的增量数据,同时规避因DNS缓存引起的数据双写,在变配过程中,通常情况下实例会出现1分钟内的只读状态,而在写入量较大的场景下只读状态的时间可能增加,因此建议在业务低峰期进行变配。

  • 为保障更出色的性能和稳定性,若实例的小版本过低,在变配时,系统会将实例的小版本升级至最新。小版本会向前兼容,无需担心兼容性问题。

  • 如果变更实例的架构(即标准架构、集群架构、读写分离架构之间的变配),还会有以下影响:

云原生集群架构实例

变更分片规格可能发生主备切换,执行切换时,涉及的分片将会出现连接闪断。

变配限制

不同连接类型的变配限制

  • 云原生标准架构和云原生读写分离架构实例变配为集群架构时,仅支持变配为代理模式的集群架构。

  • 云原生直连模式的集群架构实例不能变配为代理模式的集群架构,也不能变配为标准架构或读写分离架构。

  • 经典集群架构实例,开启了直连地址时,不能变配为标准架构或读写分离架构。如需变更架构,请先释放直连地址。

  • 经典集群架构实例,开启了直连地址时,不能同时变配分片数或分片规格。更多信息请参见集群实例变配方案

分布式实例的变配限制

  • 不支持变配子实例的架构,例如将子实例从集群架构变配为标准架构。

  • 变配规格时,要求分布式实例中的所有子实例的规格需保持一致,否则可能导致性能或容量问题。

  • 集群实例变配时,单次仅支持变配分片数或分片规格,更多信息请参见分布式集群实例变配方案

磁盘型实例的变配限制

  • ESSD型实例支持增加存储空间,但不支持减少存储空间,调整最小颗粒度为10 GB。

  • SSD型实例不支持变更实例架构。

变配的功能矩阵

不同的部署方式和架构,变更配置页面(包年包月实例为升级配置或降级配置页面)支持不同的配置变更。

为便于浏览和内容表达,本文的表格约定使用下述注释:

  • ✔️表示在变更配置页面可以直接操作,可通过本文的操作步骤完成变配。

  • ⭕️表示在变更配置页面不能直接操作,需要通过其他功能页面完成变配。具体的操作方式,见表格下方的说明。

  • ❌表示不支持此类变配。

  • ➖表示不涉及。

部署类型\变配业务

变更为集群架构

变更为读写分离架构

变更为标准架构

变更分片规格

变更分片数

变更只读节点数

经典部署

✔️

✔️

✔️

✔️

✔️

✔️

云原生标准架构

✔️

⭕️1

✔️

云原生集群架构

⭕️2

✔️3

✔️

⭕️4

云原生读写分离架构

⭕️5

⭕️6

✔️

⭕️7

说明

1云原生标准架构变更为读写分离架构,需通过读写分离设置开启读写分离,详情请参见开启读写分离功能

2云原生集群架构变更为读写分离架构,实例需要为代理模式,且需先变更为标准架构,再通过读写分离设置开启读写分离。

3云原生集群架构变更为标准架构,实例需要为代理模式。直连模式不支持。

4云原生集群架构变更分片数,需通过增加分片或批量删除来实现,详情请参见调整实例的分片数量

5云原生读写分离架构变更为集群架构,需先关闭读写分离,才能在变更配置页面变更。

6云原生读写分离架构变更为标准架构,需通过读写分离设置关闭读写分离,详情请参见开启读写分离功能

7云原生读写分离架构变更只读节点数,需通过读写分离设置增加或减少只读分片数,详情请参见自定义读写分离副本数

操作步骤

  1. 访问实例列表,在上方选择地域,然后单击目标实例ID。

  2. 选择右上角的扩容/缩容 > 变更分片容量

  3. 变配页面中,选择需要的配置,单击立即购买

    重要

    推荐选择切换时间可维护时间段内进行切换,当到达指定的可维护时间段,实例才会执行切换。在实例执行该任务前,您随时可以修改任务的执行时间。您可以在控制台左侧导航栏的任务中心,找到对应实例的任务,单击右侧的修改切换时间,改为立即执行。

  4. 根据提示完成支付流程。

自动扩容实例配置

云数据库 Tair(兼容 Redis)集成了DAS的自动扩容功能,当内存平均使用率达到阈值后会自动升级实例的规格,帮助您快速弹性适配业务高峰,避免内存溢出的风险,有效保障线上业务稳定性。具体操作,请参见开启自动扩容

说明

自动扩容仅支持社区版云原生实例(标准架构)。

常见问题

什么原因会导致变配失败?

  • 若实例中存在大Key,可能会导致变配失败。

    建议在变配前,排查并删除大Key,再执行变配操作。关于排查大Key的方法请参见离线全量Key分析

  • 为避免数据丢失,降配时存在如下限制:新实例内存规格的80%需大于原实例已使用内存(即新规格内存 * 0.8 > 原实例已使用内存 ),否则将变配失败。例如当前实例为8 GB标准架构内存型,已使用2 GB内存,可降配至4 GB标准架构内存型。

变配后,实例连接地址会变化吗?应用代码是否需要修改?

无论是标准版变更为集群版还是单副本变更为双副本,实例的实例ID、连接地址、数据、白名单配置以及已创建的账号密码配置等信息均不会因为变配而改变

Tair(企业版)不同存储介质如何变配?

Tair(企业版)不同存储介质(内存型、持久内存型、磁盘ESSD型)间不支持相互变配。

能否单独提高实例的CPU性能?

Tair(以及Redis开源版不支持单独升级CPU。您可以通过以下方式提升实例整体的CPU性能:

  • 标准架构实例变更为集群架构或读写分离架构。

  • 读写分离架构实例增加只读节点数。

  • 集群架构实例增加分片数。

具体操作,请参见如何升级实例的CPU规格

实例规格信息,请参见规格查询导航

经典版实例能否直接升级至云原生版实例?

经典版实例无法直接升级至云原生版实例。

如有需要,请单独购买云原生版实例,再进行数据迁移,更多信息请参见实例间的迁移

集群架构实例如何变更为标准架构实例?

  • 经典实例可以通过变更配置,变更集群架构为标准架构。

    但实例若已开通了直连地址,则需要先释放直连地址,再进行变配操作,变配后将无法申请直连地址(标准架构无需使用直连地址)。

  • 云原生代理模式实例支持变更集群架构为标准架构。直连模式实例不支持。

高可用(双副本)实例如何变更为单副本实例?

由于单副本无数据可靠性保证,因此不支持将高可用实例变配为单副本实例。

如有需要,请单独购买高可用实例,再通过DTS将高可用实例的数据迁移到单副本实例,更多信息请参见云数据库Redis间的迁移

变配时,需要业务暂停读写吗?

不需要。但由于可能出现1分钟内的只读状态和1~2次30秒内连接闪断,建议您在业务低峰期变更配置和执行切换。具体变配对业务的影响,请参见变配影响

标准版变配为集群版或集群版增减分片数时,数据会自动迁移到各个分片?

是的。标准版变配为集群版或集群版增减分片数时,后台将自动迁移数据,使数据均衡分布在各个分片。

变配需要多长时间?

变更配置与网络、业务请求量、数据量大小等多种因素有关,因此变配时长无法预估。

您可以在实例信息页面右上角,单击image.png查看任务进度。

image.png

变配会丢失数据吗?

变配不会造成数据丢失。

变配会丢失备份集吗?

变配不会造成备份集丢失。但经典版集群架构实例在减少分片或变配为标准架构时,会导致历史备份集与实例节点的映射关系产生变化。

在该场景下,如何查找历史备份集:您可以通过历史备份时间点、历史备份集ID检索相关的备份集。

如何完成恢复操作:您可以通过下载历史备份集(RDB文件)、解析、导入至新实例中完成备份恢复。

已设置切换时间为可维护时间内执行,为什么提交变配后实例状态为变配中?

提交变配后,实例的状态会立即变为变配中。此时,系统在执行相应的变配前置工作,例如申请资源、同步数据等,不会执行切换,不会影响实例提供服务。

您可以在任务中心页面查看任务状态。任务状态等待预设时间,说明实例仍在等待切换时间。

变配报错“The direct custins can not trans to normal custins”,怎么解决?

经典集群架构实例,且开启了直连地址,变更架构类型为标准版或读写分离版时,会提示“The direct custins can not trans to normal custins”。原因为开启了直连地址的经典集群架构不能变更架构类型。如需变更架构类型,请先释放直连地址。

相关API

API接口

说明

ModifyInstanceSpec

变配实例的规格。