PolarDB叢集架構共三層:資料庫代理Proxy、資料庫核心引擎DB和資料庫分布式儲存Store。您可以根據實際情況單獨升級Proxy或核心引擎,也可以綁定一起升級。
注意事項
版本升級一般不超過30分鐘,升級過程中會重啟資料庫代理Proxy或核心引擎DB,可能會導致資料庫連接閃斷。請您盡量在業務低峰期執行升級操作,並且確保您的應用有自動重連機制。
說明若您已配置CloudMonitor以監測PolarDB叢集,則在升級過程中,您可能會收到關於叢集訪問異常等情況的通知。
升級過程中無法使用PolarDB控制台的部分變更類功能(如升降配置、增刪節點、修改參數、重啟節點),但查詢類功能(如效能監控)不受影響。且版本升級後無法降級。
為避免升級切換期間出現長時間業務閃斷,升級會在切換前系統將檢查主節點狀態。若主節點存在大事務或Redo日誌檢查點積壓較多,且在檢查視窗內多次檢測均未達標,本次升級將被自動取消,叢集版本與運行狀態保持不變,您會收到相應通知。處理方式請參見升級前置檢查未通過的處理。
查看版本資訊
登入PolarDB控制台,在左側導覽列單擊集群列表,選擇叢集所在地區,並單擊目的地組群ID進入叢集詳情頁。
在左側導覽列,選擇。
在小版本升级頁面,版本信息地區,查看資料庫代理Proxy和核心引擎DB的版本資訊。
升級版本
若叢集當前資料庫代理Proxy或核心引擎DB的版本不是最新版本,則可以根據實際需要進行升級操作。
進入目的地組群的菜單,在小版本升级頁面,升级版本地區,您可以根據需要選擇同时升级数据库代理(Proxy)和内核引擎、仅升级内核引擎或仅升级数据库代理(Proxy)。
說明若叢集當前資料庫代理Proxy或核心引擎DB的版本已經是最新版本,則同时升级数据库代理(Proxy)和内核引擎、仅升级内核引擎或仅升级数据库代理(Proxy)選項將置灰不可選。
若選擇仅升级数据库代理(Proxy),將只升級讀寫分離相關功能,例如一致性層級(全域一致性)、事務拆分、主庫是否接受讀等。
單擊立即升级或可维护窗口升级。若選擇在可维护窗口升级,您可以在定时计划任务頁查看該任務的具體資訊或取消該任務,詳情請參見定時計劃任務。
重要同时升级数据库代理(Proxy)和内核引擎期間,主地址和叢集地址均會有30~90秒的串連閃斷,請確保應用具備重連機制。
說明除上述影響時間外,小版本升級期間,其餘時間不影響叢集的正常使用。
仅升级数据库代理(Proxy)期間,叢集地址和自訂地址會有30秒的串連閃斷,主地址的串連不受影響,請確保應用具備重連機制。
仅升级内核引擎期間,資料庫代理Proxy的版本高於2.4.7(包含)的PolarDB叢集可以通過Connection Preserving技術保護95%的資料庫連接不中斷。
查看升級任務:
在叢集詳情頁頭部,單擊右側任務表徵圖按鈕,您可以看到任務進度面板以及升級進度。
返回集群列表,在左側導覽列選擇,您可查看所有叢集的工作清單。
升級前置檢查未通過的處理
升級切換前,系統會對叢集的主節點執行以下兩項檢查。若在檢查視窗內多次檢測均未通過,本次升級會被自動取消,叢集不會發生版本變更,運行狀態與升級前一致,您可在處理完成後重新發起升級。
檢查項一:主節點大事務
系統會統計主節點當前所有活躍未提交事務修改的總行數。
定位大事務:
您可以使用高許可權帳號串連主節點執行以下語句自行確認(查詢該視圖需要
PROCESS許可權,也可在DMS或DAS的會話管理中查看):SELECT SUM(trx_rows_modified) AS sum_trx_rows_modified FROM information_schema.innodb_trx;結果為NULL表示當前無活躍事務。若結果顯示存在修改行數較多的事務,可執行以下語句定位具體事務:
SELECT trx_id, trx_state, trx_started, trx_mysql_thread_id, trx_rows_modified, LEFT(trx_query, 200) AS trx_query FROM information_schema.innodb_trx ORDER BY trx_rows_modified DESC LIMIT 10;
處理方式:
(推薦,對業務無影響)等待該事務正常提交後重試升級。
確認事務可以放棄時,使用
KILL命令終止上述trx_mysql_thread_id對應的會話。請勿使用
KILL QUERY,它只會終止當前語句,事務仍然開啟且不復原,檢查依舊無法通過。執行
KILL後事務會進入復原(trx_state為ROLLING BACK),此期間該事務仍會出現在information_schema.innodb_trx中且修改行數逐步減少,請等待其從查詢結果中消失後再重新發起升級。
長期維護建議:
將大批量的 INSERT ... SELECT、UPDATE、DELETE、資料匯入與歸檔任務拆分為小批次提交,並與升級視窗錯峰。
檢查項二:Redo日誌檢查點積壓
系統會檢查主節點已寫入的Redo位點與檢查點位點的差值。該差值反映檢查點推進落後於寫入的程度,差值過大時切換需要更長時間追平,會延長業務不可用時間。
查詢位點:
您可以使用高許可權帳號執行以下語句查看:
SHOW STATUS LIKE '%lsn%';其中 Innodb_lsn 與 Innodb_log_checkpoint_lsn 的差值即為當前積壓量(單位:位元組)。
處理方式:
暫停大批量資料匯入、歸檔、DDL 等重寫入操作,降低寫入壓力。
間隔一段時間重複執行上述語句,觀察差值是否持續下降,待其回落後重新發起升級。
重新發起升級前的確認項
主節點活躍未提交事務修改總行數已滿足升級前置檢查要求。
information_schema.innodb_trx中不存在處於ROLLING BACK狀態的事務。Innodb_lsn與Innodb_log_checkpoint_lsn的差值處於平穩或下降趨勢。已避開批量任務視窗,處於業務低峰期。
相關API
API | 描述 |
查看PolarDB叢集的核心版本資訊。 | |
升級PolarDB叢集的核心版本。 |