云數據庫 Tair(兼容 Redis)支持變更實例的配置,包括擴容或縮容內存規格、變更實例架構,以滿足不同的性能和容量需求。
費用說明
按量付費實例,按變更后的規格計費。包年包月實例,根據升配或降配,支付或退還差價。
變配的計費規格和降配退費的問題,請參見變配說明。
變配流程
提交變配后,實例狀態立即變為“變配中”。云數據庫 Tair(兼容 Redis)將創建新實例,并自動同步原實例的數據到新實例。數據同步完成后,原實例會在指定切換時間切換至新實例,此時會出現1~2次30秒內的連接閃斷,切換完成后,實例狀態為“運行中”,變配完成。
變配分片規格提交后,實例立即進入“變配中”。云數據庫 Tair(兼容 Redis)會先進行資源評估。如果資源充足,將直接變更分片規格,對業務無影響。如果資源不足,將會創建指定規格的新節點,并同步數據到新的節點,在指定切換時間切換到新節點,涉及切換的節點會出現連接閃斷。
變配影響
經典實例和云原生標準架構實例
實例執行切換時會出現1~2次30秒內的連接閃斷。
為保障變配后的新實例能快速追平原實例的增量數據,同時規避因DNS緩存引起的數據雙寫,在變配過程中,通常情況下實例會出現1分鐘內的只讀狀態,而在寫入量較大的場景下只讀狀態的時間可能增加,因此建議在業務低峰期進行變配。
為保障更出色的性能和穩定性,若實例的小版本過低,在變配時,系統會將實例的小版本升級至最新。小版本會向前兼容,無需擔心兼容性問題。
如果變更實例的架構(即標準架構、集群架構、讀寫分離架構之間的變配),還會有以下影響:
數據閃回功能將關閉,如需繼續使用請重新配置,更多信息請參見通過數據閃回按時間點恢復數據。
由于集群架構對Lua腳本的使用存在一定的限制,當實例變配至集群架構時,Lua腳本可能因腳本內容不符合限制而發生丟失,請務必提前備份,更多信息,請參見集群架構與讀寫分離架構實例的命令限制。
由于集群架構和讀寫分離架構不支持部分命令,在實例變配至集群架構或讀寫分離架構前,請評估命令限制對業務的影響,更多信息,請參見集群架構與讀寫分離架構實例的命令限制。
云原生集群架構實例
變更分片規格可能發生主備切換,執行切換時,涉及的分片將會出現連接閃斷。
變配限制
云原生標準架構和云原生讀寫分離架構實例變配為集群架構時,僅支持變配為代理模式的集群架構。
云原生直連模式的集群架構實例不能變配為代理模式的集群架構,也不能變配為標準架構或讀寫分離架構。
經典集群架構實例,開啟了直連地址時,不能變配為標準架構或讀寫分離架構。如需變更架構,請先釋放直連地址。
經典集群架構實例,開啟了直連地址時,不能同時變配分片數或分片規格。更多信息請參見集群實例變配方案。
不支持變配子實例的架構,例如將子實例從集群架構變配為標準架構。
變配規格時,要求分布式實例中的所有子實例的規格需保持一致,否則可能導致性能或容量問題。
集群實例變配時,單次僅支持變配分片數或分片規格,更多信息請參見分布式集群實例變配方案。
ESSD型實例支持增加存儲空間,但不支持減少存儲空間,調整最小顆粒度為10 GB。
SSD型實例不支持變更實例架構。
變配的功能矩陣
不同的部署方式和架構,變更配置頁面(包年包月實例為升級配置或降級配置頁面)支持不同的配置變更。
為便于瀏覽和內容表達,本文的表格約定使用下述注釋:
??表示在變更配置頁面可以直接操作,可通過本文的操作步驟完成變配。
??表示在變更配置頁面不能直接操作,需要通過其他功能頁面完成變配。具體的操作方式,見表格下方的說明。
?表示不支持此類變配。
?表示不涉及。
部署類型\變配業務 | 變更為集群架構 | 變更為讀寫分離架構(或開啟讀寫分離) | 變更為標準架構 | 變更分片規格 | 變更分片數 | 變更只讀節點數 |
經典部署 | ?? | ?? | ?? | ?? | ?? | ?? |
云原生標準架構(非集群) | ?? | ??1 | ? | ?? | ? | ? |
云原生集群架構 | ? | ??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將高可用實例的數據遷移到單副本實例,更多信息請參見云數據庫Tair(兼容Redis)間的遷移。
變配時,需要業務暫停讀寫嗎?
不需要。但由于可能出現1分鐘內的只讀狀態和1~2次30秒內連接閃斷,建議您在業務低峰期變更配置和執行切換。具體變配對業務的影響,請參見變配影響。
標準版變配為集群版或集群版增減分片數時,數據會自動遷移到各個分片?
是的。標準版變配為集群版或集群版增減分片數時,后臺將自動遷移數據,使數據均衡分布在各個分片。
變配需要多長時間?
變更配置與網絡、業務請求量、數據量大小等多種因素有關,因此變配時長無法預估。
您可以在實例信息頁面右上角,單擊查看任務進度。
變配會丟失數據嗎?
變配不會造成數據丟失。
變配會丟失備份集嗎?
變配不會造成備份集丟失。但經典版集群架構實例在減少分片或變配為標準架構時,會導致歷史備份集與實例節點的映射關系產生變化。
在該場景下,如何查找歷史備份集:您可以通過歷史備份時間點、歷史備份集ID檢索相關的備份集。
如何完成恢復操作:您可以通過下載歷史備份集(RDB文件)、解析、導入至新實例中完成備份恢復。
已設置切換時間為可維護時間內執行,為什么提交變配后實例狀態為變配中?
提交變配后,實例的狀態會立即變為變配中。此時,系統在執行相應的變配前置工作,例如申請資源、同步數據等,不會執行切換,不會影響實例提供服務。
您可以在任務中心頁面查看任務狀態。任務狀態為等待預設時間,說明實例仍在等待切換時間。
變配報錯“The direct custins can not trans to normal custins”,怎么解決?
經典集群架構實例,且開啟了直連地址,變更架構類型為標準版或讀寫分離版時,會提示“The direct custins can not trans to normal custins”。原因為開啟了直連地址的經典集群架構不能變更架構類型。如需變更架構類型,請先釋放直連地址。
相關API
API接口 | 說明 |
變配實例的規格。 |