技術實踐丨GaussDB(DWS)運維管理功能“升級”的原理和使用


摘要:本文將詳細介紹GaussDB(DWS)重要運維管理功能“升級”的原理和使用。

運維管理模塊是任何軟件產品最基礎和重要的一部分。是軟件產品的門戶,也是用戶接觸和使用軟件產品的和前提和基礎。如安裝部署能讓用戶快速上手使用,升級能讓產品平滑更新,擴容能讓產品擴充能力,故障修復能讓產品快速恢復,監控告警能讓產品提前預知或及時排除故障。其在可用性,易用性,可靠性,可維護性、在線運維方面都有較高的要求。本文將詳細介紹GaussDB(DWS)重要運維管理功能“升級”的原理和使用。

前言

不斷更新和演進是軟件的一個重要行為,升級是軟件更新的重要保證。伴隨着新特性不斷推出和歷史問題修復,軟件升級和打補丁顯得格外重要。升級和打補丁需要滿足如下要求:

  • 軟件版本的無縫、平滑過渡。
  • 業務中斷時間盡量少,以至於在線。
  • 用戶體驗前向兼容。

而數據庫升級比其他軟件升級更為復雜,不光是軟件本身的更新,還要支持其管理的數據的升級。數據庫升級需要考慮如下因素:

  • 軟件升級,即軟件本身的更新。
  • 元數據升級,即軟件管理數據的方式的更新。
  • 業務數據升級,即軟件管理的數據的升級。

隨着數據庫版本的快速演進,升級愈顯重要,其可靠性、性能、業務中斷、易用性急需改善。

升級演進

GaussDB(DWS)升級經過多個版本的演進,其性能,可靠性逐步提升。並提供了不同場景的各種升級方式。如下是演進過程:

大版本全量升級:新版本重建數據庫,元數據導入導出,業務數據全量mv方式。依賴於數據庫對象個數和業務數據量大小、業務數據表文件數。已在V1R8停用。

就地升級:原地替換二進制,修改系統表方式。依賴於系統表的邏輯大小(數據對象個數)和物理大小(系統表臟頁)及數據庫個數。

小版本離線升級:停機,替換二進制,啟動集群。業務中斷時間是一次集群的重啟時間。

小版本滾動升級:保留老二進制文件,新目錄安裝新二進制,按照組件(om_monitor,cm_agent,ETCD,CN,dummy DN,standby DN/GTM/CM,master DN/GTM/CM)滾動切換到新二進制,然后主備切換。整個升級過程中涉及兩次switchover,業務中斷時間依賴於在線switchover和CN retry能力。

小版本閃斷升級:基於小版本滾動升級基礎,保留老二進制文件,新目錄安裝新二進制,先切換管理組件(om_monitor、cm_agent、ETCD、cm_server),再一次性切換業務組件(GTM、CN、DN),只閃斷一次業務。目前DWS已使用。

就地升級原理介紹

目前8.0主要使用的升級方式是就地升級。其已經支撐現網線下和公有雲多套集群成功升級到新版本。

1、公有雲升級流程

DWS服務升級主要分2部分,管控面升級和租戶面升級:

各個region的管控面升級回滾主要通過CDK平台完成,升級后組件自行功能驗證。

升級實例的信息:

租戶面升級在ServiceCM平台由SRE操作,操作可分為DWS Guest升級和數據庫內核升級:

主要流程如下所示:

2、線下updatetool升級

通過登錄UpdateService操作界面,創建升級工程,進行一鍵式升級。

3、數據庫內核升級流程

數據庫內核升級是通過替換二進制+更新元數據的方式進行升級。

包括初始階段,准入檢查,環境准備,停機,備份,升級,update catalog,提交8個階段。

升級性能目標

升級問題定位

升級過程日志概覽見下表:

UpdateService的日志分為審計日志和調試日志,位置見下表:

結語

在數據倉庫產品使用過程中,升級和打補丁是使用頻率較高的功能。本文中僅僅介紹了GaussDB(DWS)升級的大致流程和基本原理,及性能目標。如果現網變更中遇到升級相關問題,還需聯系相關技術支持。

 

 

點擊關注,第一時間了解華為雲新鮮技術~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM