技術實踐丨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)升級的大致流程和基本原理,及效能目標。如果現網變更中遇到升級相關問題,還需聯絡相關技術支援。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4479/viewspace-2796367/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- GaussDB(DWS)運維利刃:TopSQL工具解析運維SQL
- GaussDB(DWS)應用實踐丨負載管理與作業排隊處理方法負載
- 技術應用丨DWS 空間釋放(vacuum full) 最佳實踐
- GaussDB(DWS)中共享訊息佇列實現的三大功能佇列
- GaussDB技術解讀系列:運維自動駕駛探索運維自動駕駛
- 資料庫異常難定位?GaussDB(DWS)運維神器TopSQL來解決資料庫運維SQL
- 技術沙龍|京東雲DevOps自動化運維技術實踐dev運維
- 最佳實踐:解讀GaussDB(DWS) 統計資訊自動收集方案
- 乾貨分享:容器 PaaS 新技術架構下的運維實踐架構運維
- 從工程師到技術leader思維升級工程師
- GaussDB(DWS)基於Flink的實時數倉構建
- 技術解讀丨多模資料湖:助力AI技術,推動內容管理平臺智慧化升級AI
- 運維初級實踐——Linux系統命令教程運維Linux
- 深度解讀GaussDB邏輯解碼技術原理
- GaussDB技術解讀系列:資料庫遷移創新實踐資料庫
- GaussDB 1.0.1升級到1.0.2及1.0.2相關新功能說明
- 分散式資料庫企業級功能技術解密與最佳實踐分散式資料庫解密
- 詳解GaussDB(DWS)中的行執行引擎
- 沙龍報名 | 京東雲DevOps——自動化運維技術實踐dev運維
- 微店的Flutter混合棧管理技術實踐Flutter
- 遠端IT運維的升級,“團隊協作”運維
- Oracle DUL的工作原理和技術實現Oracle
- 運維和IT技術需知的DDOS攻擊防禦整理運維
- Android端程式碼染色原理及技術實踐Android
- 智慧運維:基於 BIM 技術的視覺化管理系統運維視覺化
- Harbor實現容器映象倉庫的管理和運維運維
- Linux運維可以自學嗎?Linux運維技術Linux運維
- 技術實踐丨React Native 專案 Web 端同構React NativeWeb
- Flink CDC MongoDB Connector 的實現原理和使用實踐MongoDB
- 百分點認知智慧實驗室:智慧校對的技術原理和實踐
- 怎樣才算合格的運維工程師?linux運維技術運維工程師Linux
- 升級Webpack5實踐Web
- 網站運維技術與實踐之伺服器監測常用命令網站運維伺服器
- 文字輿情挖掘的技術探索和實踐
- RabbitMQ叢集運維實踐MQ運維
- 滴滴導航若干關鍵功能的技術突破與實踐
- GaussDB(DWS)網路流控與管控效果
- 技術人員升級打怪的方法論