摘要:本文詳細梳理分析了DWS服務面臨軟硬體故障場景和對應的修復原理,希望借此能夠讓你對DWS的集群故障修復有個全面深入的了解,
本文分享自華為云社區《GaussDB(DWS)故障修復系統性介紹》,作者: 聞鮮生,
DWS是一個分布式架構的MPP集群,物理部署上涉及數百數千臺主機和對應的磁盤,以及這些主機所在的大規模分布式高速組網環境,在邏輯上,MPPDB包括CM、GTM、CN、DN各種實體組件的配合作業,因此DWS的故障場景較多,不過我們提供了針對各種故障場景的系統性修復方案,通過此文可以了解DWS服務面臨的故障場景和對應的修復方案,
硬體故障場景
1、可修復故障:主要是指硬體故障后可以修復,并且不會造成資料損壞或者丟失,比如記憶體條故障更換,raid組內磁盤故障更換,主機斷電重啟等,這種故障場景下,等待硬體故障恢復后,上面的資料庫實體會自動啟動并恢復,
2、磁盤故障:包括磁盤故障和raid組故障,可能導致CN,DN資料損壞或者丟失,這種故障場景下,等待硬體故障修復后,需要對上面的CN實體做元資料修復,DN實體做資料修復,CM,GTM實體做配置修復,
3、主機故障:包括系統盤損壞,其他硬體故障導致的主機無法啟動等,會導致該主機上部署的軟體和資料丟失,這種故障場景下,則需要更換主機,使用新主機替換故障主機,需要在新主機上重裝資料庫軟體,重建上面的資料庫實體,
軟體故障場景
DWS邏輯上包括OM,CM,GTM,CN,DN六種型別的實體組件,每類組件提供的功能不動,配置的數量也不同,但是共同配合,支撐DWS的運維和業務功能,如下是DWS服務的一種簡單部署拓撲圖(其中OM屬于靜態工具因此不再列出,為了拓撲簡潔性DN從備也未列出):
其中硬體故障最終體現到DWS資料庫實體故障上,DWS集群修復也是通過修復每類故障實體來進行的,每類實體的修復條件和修復思路如下:
- 集群管理組件(CM)
- cm_server:主備模式,主備至少有一個正常的才能修復,主要修復配置,以對端為模板重建故障實體,
- cm_agent:每個節點都部署一個cm_agent,原則上只要有一個正常的cm_agent就能修復,主要修復配置,以正常的cm_agent為模板重建故障實體,
- 全域事務管理(GTM):主備模式,主備至少有一個正常的才能修復,主要修復配置和少量資料(xid,序列等),以對端為模板重建故障實體,
- 協調節點(CN):多主多活模式,每個節點可部署一個CN實體,整個DWS集群最多部署20個CN實體,只要有一個正常的CN就能修復,主要修復配置和元資料,以正常的CN為模板重建故障實體,
- 資料節點(DN):多切片模式,最多支持2048個資料切片,每個資料切片又包括主機,備機,從備三副本,每個DN切片主備從只能故障一個,主機或備機故障以對端實體為模板修復故障實體配置和資料,從備故障以主機實體為模板修復故障實體的配置,
故障修復場景
結合硬體故障場景和軟體故障場景,DWS支持的故障修復主要包括:DN主備build,實體修復,節點修復(溫備)
DN主備build
DN主備副本通過WAL實時同步資料,由CM來自動完成DN主備實體的狀態監控、主備沖裁、主備切換及主備build,如果主DN所在機器發生故障,CM自動完成DN主備切換(備機升主,主機降備),如果故障恢復后,CM會自動做DN主備資料同步(build)來重建故障備機,該場景主要包括機器宕機重啟,更換記憶體條等,是最常見的故障場景也是最簡單的故障場景,DWS已經支持自動化處理,
實體修復
實體修復主要指相對于“DN主備build”更復雜的故障場景,該故障場景主要是指某個機器(或多臺機器)發生實體級別故障,實體范圍包括CM、GTM、CN、DN等實體,故障范圍主要包括實體的配置或者資料發生損壞或者丟失,但是故障機器的OS系統和DWS資料庫軟體還是正常的,該故障場景主要包括機器資料盤,raid組損壞,更換磁盤等,
典型的故障場景和修復示意圖如下:
該故障場景DWS已經不能做自動化修復,但是提供了一鍵式修復工具gs_replace,需要運維人員分析故障場景,預估修復耗時,然后在業務空閑時間窗進行修復,
CM、GTM主要修復配置,秒級修復,對業務和系統負載影響很小;CN涉及元資料重建,耗時與表數量正相關,并且在修復后期會短暫鎖集群做元資料追增,阻塞用戶DDL業務;DN涉及資料重建,耗時與資料量正相關,修復程序中不影響業務,但會消耗系統的網路和IO資源,
節點修復
節點修復主要處理更加復雜的故障場景,該故障場景主要是指某個機器(或多臺機器)發生整機故障,如CPU、記憶體故障,OS系統損壞導致的機器無法啟動,
該故障場景修復思路如下:
1、確認故障范圍,包括故障機器,影響的資料庫實體,
2、故障機器斷電下網,
3、重新準備一臺新機器,新機器軟硬體規格要和故障機器一樣,
4、把新機器的主機名和IP修改成故障機器一樣,并加入到DWS集群網路內,
5、通過DWS修復工具在新機器上重建故障機器上的軟體、配置和資料,
溫備
溫備處理的故障場景和節點修復一樣,主要是修復方式不一樣,溫備主要適用于云上場景或者有機器富裕的用戶,
主要使用場景如下:
1、針對N臺主機的DWS集群,提前規劃M臺機器作為溫備機器,溫備機器軟硬體規格和DWS集群機器一樣,并把溫備機器也加入到DWS集群網路環境內,
2、如果DWS集群內某臺機器發生了硬體故障且無法修復,
3、把故障機器斷電并下網,
4、從溫備機器中任找一臺機器,然后使用DWS修復工具在溫備機器上重建故障機器上面的軟體、配置和資料,
本文詳細梳理分析了DWS服務面臨軟硬體故障場景和對應的修復原理,希望借此能夠讓你對DWS的集群故障修復有個全面深入的了解,具體的使用說明和操作步驟可參見DWS產品檔案,從此對DWS故障修復不再愁,
點擊關注,第一時間了解華為云新鮮技術~
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/553144.html
標籤:其他
下一篇:返回列表
