GaussDB(DWS)集群狀態異常問題處理套路

      網友投稿 2277 2025-03-31

      GaussDB(DWS)集群故障問題處理套路


      【使用前提】

      加載環境變量(僅線下純軟形態需要):source /opt/huawei/Bigdata/mppdb/.mppdbgs_profile

      build相關日志路徑:$GAUSSLOG/bin/gs_ctl

      cm_agent日志路徑:$GAUSSLOG/cm

      實例日志路徑:$GAUSSLOG/pg_log/dn_xx

      系統日志(僅root用戶):/var/log/message

      【試用場景】

      本方案適用以下場景:實例故障導致集群降級或不可用、實例狀態長時間處于catchup狀態、單實例目錄下pg_xlog文件積壓。碰到以上場景按照對應方案處理,根據實例狀態找到對應案例或處理步驟進行處理。如下表:

      維度

      使用場景

      確認方式

      明確問題場景

      集群降級

      cm_ctl query

      集群不可用

      cm_ctl query

      實例目錄pg_xlog較大

      實例長期處于catchup

      cm_ctl query -Cvd

      實例重啟或主備切換

      cm_ctl quer -Cvds

      1 集群降級狀態,業務可以正常連接

      集群狀態為degraded狀態,該場景下業務可以正常連接,按照故障實例狀態找到對應處理案例進行恢復。故障實例狀態與處理見下表:

      Check項

      異常值

      處理方式

      Check方法

      實例狀態

      Need repair

      1.1章節

      cm_ctl query –Cv

      Pending starting

      1.2章節

      Disk damaged

      1.3章節

      Down unknown

      1.4章節

      Build failed

      1.5章節

      Manually stopped

      1.6章節

      1.1 Need repair

      若碰到實例狀態為need repair狀態按照以下步驟進行排查。

      cm_ctl query –Cvd|grep -i "Need repair"

      查詢異常實例狀態如下:

      1? 10-185-179-67 6001 /srv/BigData/mppdb/data1/master1??? P Primary Normal |

      2 10-185-179-95 6002 /srv/BigData/mppdb/data1/slave1 S Standby Need repair(Normal) |

      3? ASG003? 3002 /srv/BigData/mppdb/data1/dummyslave1 R Secondary Normal

      若為redo狀態則為正常狀態,等待自己恢復即可;若未進行redo則按照后續步驟繼續進行排查。判斷實例redo方案如下:

      https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=75275

      該場景下實例處于standby need repair狀態,查看異常實例最新pg_log日志(該日志在$GAUSSLOG/pg_log/dn_xx路徑下)是否有如下關鍵日志:

      編號

      日志內容

      處理方案

      1

      PANIC

      聯系華為工程師

      2

      could not connect to the primary server: GSSAPI

      步驟四

      排查pg_log按照對應處理方案處理。

      方案一:從前臺關閉kerbos,注意該方式會自動重啟集群生效,業務會中斷。

      方案二:在后臺關閉kerbos,該方案不需要重啟集群,但是可能會存在前臺kerbos狀態與后臺不一致情況,對業務無影響。后臺關閉kerbos命令如下:

      gs_ssh -c "gs_om -t kerberos -m uninstall -U omm"

      1.2 Pending starting

      該狀態下與1.1排查思路相同,部分場景可能會有差別,排查步驟如下:

      cm_ctl query –Cvd|grep -i "Pending Starting"

      其中6001為故障dn實例編號,具體排查時替換為對應故障實例編號,狀態如下:

      1? 10-185-179-67 6001 /srv/BigData/mppdb/data1/master1??? P Primary Normal |

      2 10-185-179-95 6002 /srv/BigData/mppdb/data1/slave1 S Pending Starting |

      3? ASG003? 3002 /srv/BigData/mppdb/data1/dummyslave1 R Secondary Normal

      若實例長時間處于pending starting,則該實例大概率進行redo為正常狀態,等待自己恢復即可;若未進行redo則按照后續步驟繼續進行排查。判斷實例redo方案如下:

      https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=75275

      若實例狀態在pending starting與其他狀態來回切換則說明可能該實例有文件損壞。

      查看異常實例最新pg_log日志(該日志在$GAUSSLOG/pg_log/dn_xx路徑下)是否有如下關鍵日志:

      其中6001為故障dn實例編號,具體排查時替換為對應故障實例編號,狀態如下:

      編號

      日志內容

      1

      The parameter destMax is equal to zero or larger than macro

      2

      PANIC

      若日志中以上任意一個日志則符合該場景,實例狀態不會自行恢復需要人為干預,聯系華為工程師進行修復。若排查pg_log后發現不屬于該場景請聯系華為工程師進行處理。

      編號

      日志內容

      處理方案

      1

      Input/output error

      2

      Cannot allocate memory

      http://rnd-dayu.huawei.com:8081/index.php/Question/detail?id=56912

      3

      Could not create semaphores

      http://rnd-dayu.huawei.com:8081/index.php/Question/detail?id=37396

      按照以上應急方案進行處理

      1.3 Disk damaged

      實例為該狀態下不會自行恢復,按照以下步驟進行逐一排查

      cm_ctl query –Cvd|grep 6001

      其中6001為故障dn實例編號,具體排查時替換為對應故障實例編號,狀態如下:

      1? 10-185-179-67 6001 /srv/BigData/mppdb/data1/master1??? P Primary Normal |

      2 ?10-185-179-95 6002 /srv/BigData/mppdb/data1/slave1 S disk damaged |

      3? ASG003? 3002 /srv/BigData/mppdb/data1/dummyslave1 R Secondary Normal

      根據集群狀態可以看到異常實例以下信息

      異常實例所在節點為:10-185-179-95

      異常實例路徑為:/srv/BigData/mppdb/data1/slave1

      根據步驟一查到異常實例信息,使用omm用戶登錄至異常實例所在節點(10-185-179-95)查看磁盤使用情況

      df -lh

      10-185-179-67:~ # df -lh

      Filesystem????? Size? Used Avail Use% Mounted on

      /dev/sda2?????? 823G? 122G? 701G? 15% /

      udev???????????? 95G? 248K?? 95G?? 1% /dev

      tmpfs??????????? 95G? 1.8M?? 95G?? 1% /dev/shm

      /dev/sdd1?????? 2.5T? 650G? 1.9T? 26% /srv/BigData/mppdb/data2

      /dev/sdc1?????? 2.5T?? 34M? 2.5T?? 1% /srv/BigData/mppdb/data3

      /dev/sde1?????? 2.5T? 2.5T? 0? 100% /srv/BigData/mppdb/data1

      /dev/sdb1?????? 2.5T?? 34M? 2.5T?? 1% /srv/BigData/mppdb/data4

      根據排查結果發現異常實例所在磁盤使用率已經達到100%,此時聯系華為工程師處理!!若磁盤使用率遠遠未達到100%繼續進行排查。

      【排查&&處理方案】

      查看主機BMC監控頁面是否有告警,若BMC監控頁面存在磁盤告警則說明磁盤故障。

      手動在實例目錄所在磁盤創建文件是否能夠成功,若能成功創建則磁盤正常。否則說明磁盤故障

      若存在磁盤故障請聯系硬件工程師對磁盤進行排查。硬件故障修復后對該實例按照gs_repalce方案進行修復,參考標準方案:

      https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=145788

      df -lh

      10-185-179-67:~ # df -lh

      Filesystem????? Size? Used Avail Use% Mounted on

      /dev/sda2?????? 823G? 122G? 701G? 15% /

      udev???????????? 95G? 248K?? 95G?? 1% /dev

      tmpfs??????????? 95G? 1.8M?? 95G?? 1% /dev/shm

      /dev/sdd1?????? 2.5T? 650G? 1.9T? 26% /srv/BigData/mppdb/data2

      /dev/sdc1?????? 2.5T?? 34M? 2.5T?? 1% /srv/BigData/mppdb/data3

      /dev/sdb1?????? 2.5T?? 34M? 2.5T?? 1% /srv/BigData/mppdb/data4

      如上結果磁盤掛載少了data1,若屬于該情況使用以下命令進行掛載:

      mount -a

      掛載成功后對該盤所在實例使用gs_replace進行修復。若未成功掛載請聯系操作系統工程師進行排查。

      gs_replace修復方案:

      https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=145788

      根據步驟一查到異常實例路徑為:/srv/BigData/mppdb/data1/slave1

      ll /srv/BigData/mppdb/data1/slave1

      若該目錄為空或者不存在則按照實例修復方案進行修復。具體修復方式見標準方案:

      https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=145788

      1.4 Down unknown

      該狀態下實例無法自行恢復,請參考以下場景進行恢復

      步驟一:查看異常實例信息

      cm_ctl query –Cvd|grep 6001

      其中6001為故障dn實例編號,具體排查時替換為對應故障實例編號,狀態如下:

      1? 10-185-179-67 6001 /srv/BigData/mppdb/data1/master1??? P Primary Normal |

      2 10-185-179-95 6002 /srv/BigData/mppdb/data1/slave1 S Down Unknown |

      3? ASG003? 3002 /srv/BigData/mppdb/data1/dummyslave1 R Secondary Normal

      根據集群狀態可以看到異常實例以下信息

      異常實例所在節點為:10-185-179-95

      異常實例路徑為:/srv/BigData/mppdb/data1/slave1

      步驟二:確認該實例是否存在文件損壞

      查看該實例最新日志($GAUSSLOG/pg_log/dn_xxx)是否存在以下關鍵字:

      編號

      日志內容

      1

      Input/output error

      若存在該報錯由于磁盤壞道等硬件故障導致,確認磁盤無異常后請聯系華為工程師進行處理。

      步驟三:確認system_call日志

      查看該實例所在節點最新system_call日志($GAUSSLOG/pg_log/cm_agent/system_call-xxx-curent.log)是否存在以下關鍵字:

      編號

      日志內容

      1

      invalid value for parameter

      若出現該關鍵字說明配置文件被異常修改,查看對應備機實例或者其他實例該參數如何配置,正確修改該實例目下postgresql.conf即可自行恢復。

      若按照以上步驟排查完均不符合請聯系華為工程師處理。

      1.5 Build failed

      【原因分析】

      實例未該狀態不會自行恢復,可以不需要做排查按照修復方案進行修復,若需要分析該狀態原因可以查看gs_ctl($GAUSSLOG/bin/gs_ctl)日志報錯提示,一般有以下幾個原因:

      1)xlog被回收

      2)build過程中與主機網絡閃斷

      【問題修復】

      通過gs_replace方案進行修復:

      https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=145788

      若使用該方案仍然無法恢復請聯系華為工程師處理。

      1.6 Manually stopped

      該狀態為現場手動停止,需要跟現場了解手動停止原因,若無數據損壞等故障場景則可手動拉起該實例。手動啟實例命令如下:

      cm_ctl start -n $nodeid -D xxxx

      2 集群不可用,業務中斷

      集群狀態為unavailable狀態,該類型集群故障我們目標在于先將其恢復至降級狀態,恢復業務后再根據第一章繼續進行恢復。集群不可用實例故障組合狀態較多,常見類型如下表:

      Check項

      異常值

      說明

      Check方法

      實例狀態

      cm_ctl query –Cv

      Down unkown/

      Disk damaged/

      Pending starting/

      need repair/

      build failed

      promoting

      故障場景下備機升主時長時間未成功

      promoting

      demoting

      手動進行集群均衡時長時間不成功

      down unkown/

      disk damaged

      need repair

      實例故障時主實例未觸發升主流程

      Need repair/

      pending starting

      need repair

      實例故障時主實例未觸發升主流程

      從備down unkown 集群不可用

      om_monitor進程異常

      2.1備:promoting主:down unkown/disk damaged/pending starting/need repair/build failed

      cm_ctl query –Cvd|grep 6001

      其中6001為故障dn實例編號,具體排查時替換為對應故障實例編號,狀態如下:

      1? 10-185-179-67 6001 /srv/BigData/mppdb/data1/master1 P Pending Need repair |

      2 10-185-179-95 6002 /srv/BigData/mppdb/data1/slave1 S Standby Promoting |

      3? ASG003? 3002 /srv/BigData/mppdb/data1/dummyslave1 R Secondary Normal

      根據集群狀態可以看到異常實例以下信息:

      6002處于promoting

      6001處于pending need repair

      該場景屬于此章節實例狀態組合場景,該狀態持續時間較長(超過30min)說明為異常情況,按照步驟二進行排查。

      實例狀態為以上組合時,說明主實例故障備機觸發升主流程若該狀態保持較長時間(超過半小時)則為異常情況,只需要關注promoting實例為何長時間無法升主,具體排查與修復方案參考以下鏈接:

      https://bbs.huaweicloud.com/blogs/239867

      2.2 主:promoting;備:demoting

      cm_ctl query -Cvd|grep 6001

      其中6001為故障dn實例編號,具體排查時替換為對應故障實例編號,狀態如下:

      1 10-x-179-67 6001 /srv/BigData/mppdb/data1/master1 P Standby Wait promoting |

      2 10-185-179-95 6002 /srv/BigData/mppdb/data1/slave1 S Primary Demoting |

      3? ASG003? 3002 /srv/BigData/mppdb/data1/dummyslave1 R Secondary Normal

      根據集群狀態可以看到異常實例以下信息:

      6002處于Standby Wait promoting

      6001處于Primary Demoting

      該場景屬于此章節實例狀態組合場景,該場景出現在手動執行均衡集群時出現,持續時間較長(超過30min)說明為異常情況,按照步驟二進行排查。

      主機為promoting備機為demoting,該場景為現場手動均衡集群時長時間未成功(超過半小時),則按照均衡集群失敗帖子排查:

      https://bbs.huaweicloud.com/blogs/203410

      2.3 主:need repair/pending starting;備:need repair

      cm_ctl query –Cvd|grep 6001

      其中6001為故障dn實例編號,具體排查時替換為對應故障實例編號,狀態如下:

      1 10-x-179-67 6001 /srv/BigData/mppdb/data1/master1 P Pending Starting |

      2 10-x-179-95 6002 /srv/BigData/mppdb/data1/slave1 S Standby Need repair(Normal) |

      3? ASG003? 3002 /srv/BigData/mppdb/data1/dummyslave1 R Secondary Normal

      根據集群狀態可以看到異常實例以下信息:

      6001處于Pending Starting

      6002處于Standby Need repair(Normal)

      該場景屬于此章節實例狀態組合場景,持續時間較長(超過10min)說明為異常情況,按照步驟二進行處理。

      該場景下由于主實例異常退出被重新拉起后沒能redo完恢復至故障前狀態,cm_server未觸發仲裁機制,導致集群不可用。

      手動停止6001實例,待備機6002觸發升主流程進行恢復,若停止后有實例長時間處于promoting(超過半小時)則按照2.1章節進行排查。

      cm_ctl stop -n 1 -D /srv/BigData/mppdb/data1/master1

      2.4 從備實例down unknown,集群不可用

      cm_ctl query –Cvd|grep Down

      其中6001為故障dn實例編號,具體排查時替換為對應故障實例編號,狀態如下:

      1 10-x-179-67 6001 /srv/BigData/mppdb/data1/master1 P Primary Normal |

      2 10-x-179-95 6002 /srv/BigData/mppdb/data1/slave1 S Standby Normal|

      3? ASG003? 3002 /srv/BigData/mppdb/data1/dummyslave1 R Down Unknown

      2? 10-x-179-95 6007 /srv/BigData/mppdb/data2/master2???? P Primary Normal |

      1? 10-x-179-67 6008 /srv/BigData/mppdb/data1/slave2????? S Standby Normal |

      3? ASG003??????? 3005 /srv/BigData/mppdb/data2/dummyslave2 R Down Unknown

      根據集群狀態可以看到 ASG003所在節點兩個從備實例3002與3005都為Down Unknown狀態。

      使用omm用戶登錄ASG003節點查看是否有兩個om_monitor進程

      ps -ef|grep om_monitor|grep -v grep

      若存在手動kill兩個om_monitor進程,待自動拉起后集群狀態恢復正常。

      3 xlog積壓

      xlog積壓場景一般體現在磁盤使用率較高,或者某一磁盤使用率明顯高于其他磁盤。根據磁盤100%排查方案進行排查時發現,部分實例路徑下pg_xlog目錄過大(超過100G)可參考此修復方案。

      步驟一:查看實例xlog文件大小信息

      du -sh /srv/BigData/mppdb/data1/master1/pg_xlog

      其中/srv/BigData/mppdb/data1/master1為實例路徑,若該大小超過100G則按以下方案處理

      步驟二:xlog積壓排查

      場景

      說明

      Check方法

      延遲xlog文件回收

      備份過程中產生該文件,該文件存在不會對xlog進行回收

      查看積壓實例下是否存在delay_xlog_recycle文件并且此時無備份任務。

      復制槽異常

      復制槽推進后才會回收xlog,復制槽推進異常時會影響xlog回收

      連接對應dn查詢:

      select * from pg_get_replication_slots();

      查看兩條記錄(主備與主從)restart_lsn字段是否相差較多。

      checkpoint失敗(較少)

      xlog回收由checkpoint觸發

      pg_controldata $path

      $path為實例路徑

      查看Latest checkpoint location值是否較小

      wal_keep_segments

      控制保留xlog文件個數

      連接dn查詢:

      show wal_keep_segments;

      查看改值是否過大(1024以下均正常)

      具體排查方案及處理見以下鏈接:

      https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=83191

      4 實例處于catchup狀態

      cm_ctl query –Cvd|grep Catchup

      其中6001為故障dn實例編號,具體排查時替換為對應故障實例編號,狀態如下:

      1 10-x-179-67 6001 /srv/BigData/mppdb/data1/master1 P Primary Normal |

      2 10-x-179-95 6002 /srv/BigData/mppdb/data1/slave1 S Standby Catchup|

      3? ASG003? 3002 /srv/BigData/mppdb/data1/dummyslave1 R Secondary Normal

      2? 10-x-179-95 6007 /srv/BigData/mppdb/data2/master2???? P Primary Normal |

      1? 10-x-179-67 6008 /srv/BigData/mppdb/data1/slave2????? S Standby Catchup |

      3? ASG003 3005 /srv/BigData/mppdb/data2/dummyslave2 R Secondary Normal

      根據集群狀態可以看到6002與6008處于catchup狀態。

      根據步驟一查看實例狀態有實例處于catchup狀態,該狀態持續時間較長(超過12~24小時)或業務反饋慢均為異常情況,需要人工排查catchup原因,通常影響實例catchup因素見下表:

      GaussDB(DWS)集群狀態異常問題處理套路

      場景

      說明

      Check方法

      帶索引導入、delete單表

      業務異常產生較多xlog

      解析主實例日志是否有較多delete或者Btree insert等關鍵字類型日志,解析命令如下:

      pg_xlogdump $xlogfile

      $xlogfile為任意xlog文件

      鎖沖突(數據頁)

      業務語句與catchup線程搶鎖

      查看主實例最新pg_xlog日志是否存在以下關鍵字:ERROR: ?Lock wait timeout

      bcm文件殘留、bcm文件損壞

      根據bcm文件未找到應數據文件,catchup線程反復被拉起

      查看主實例最新pg_log日志是否有以下日志:

      could not open file

      具體排查與處理方案見以下鏈接:

      https://bbs.huaweicloud.com/blogs/242269

      5 實例重啟或主備切換

      集群運行過程當中發現有:

      FI監控頁面有主備斷連或者不同步告警:

      編號

      日志內容

      1

      Datanode主備不通過或者斷連,重要,xxxx

      ps -ef 查看某一節點上gaussdb進程運行時間與其他實例不同

      查看集群狀態不均衡需要分析主備切換原因。

      若存在以上情況可按照以下步驟進行分析

      使用root用戶查看/var/log/messages日志在實例重啟時間點是否有kill關鍵字,若存在則說明由于max_process_memory參數設置過大,將參數修改為適當值進行觀察,該參數計算方式詳細見產品文檔。

      使用omm用戶(云上版本使用Ruby用戶)查看cm_agent日志($GAUSSLOG/cm/cm_agent/cm_agent-xxx.log)在實例重啟時間點是否有kill關鍵字,若存在則說明dn hang或者cm_agent與cm_server連接異常,若該問題偶爾出現一次可不需做任何處理,若出現較為頻繁聯系華為工程師處理。

      首先確認該集群是否配置操作系統core,若為配置請先配置操作系統core之后繼續觀察。core配置方案見以下鏈接:

      若該集群已經配置core請檢查在對應目錄檢查是否有core文件產生,core文件產生路徑查看參考以下命令:

      cat /proc/sys/kernel/core_pattern,該命令結果為絕對路徑直接在對應目錄查看,否則在對應重啟實例查看。

      若產生core文件解析core文件將堆棧反饋給華為工程師進行處理。

      若集群集群配置core集群實例多次重啟并且不屬于步驟一與步驟二的場景,請聯系華為工程師處理。

      EI企業智能 Gauss AP 數據倉庫服務 GaussDB(DWS)

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:最新qq怎么弄在線文檔(在線文檔怎么搞)
      下一篇:輸出PDF顯示路徑不存在是什么原因(pdf文件路徑異常)
      相關文章
      亚洲第一精品福利| 在线观看午夜亚洲一区| 亚洲AV综合色区无码一区 | 久久精品亚洲男人的天堂| 国产精品亚洲а∨无码播放不卡| 亚洲三级在线观看| 亚洲综合激情五月丁香六月| 亚洲一区二区三区乱码在线欧洲| 亚洲最大成人网色香蕉| 亚洲香蕉在线观看| 亚洲性色精品一区二区在线| 亚洲自偷自偷在线成人网站传媒| 亚洲中文字幕精品久久| 亚洲国产成人久久综合| 久久亚洲中文字幕无码| 亚洲成AV人在线观看网址| 亚洲国产成人五月综合网 | 亚洲欧洲国产成人综合在线观看| 亚洲精品国产精品乱码不卡| 亚洲综合精品网站在线观看| 国产成人麻豆亚洲综合无码精品| 亚洲午夜久久久影院伊人| 亚洲高清国产拍精品26U| 亚洲国产高清视频| 亚洲白色白色永久观看| 亚洲二区在线视频| 亚洲午夜福利在线视频| 337P日本欧洲亚洲大胆精品| 亚洲福利在线播放| 伊人久久大香线蕉亚洲| 久久91亚洲精品中文字幕| 亚洲高清不卡视频| 亚洲乱码一二三四区乱码| 亚洲人成网站999久久久综合| 国产亚洲一卡2卡3卡4卡新区| 亚洲欧洲一区二区三区| 国产V亚洲V天堂无码久久久| 亚洲综合久久综合激情久久| 亚洲va乱码一区二区三区| 亚洲国产精品18久久久久久| 亚洲成a人片在线观看老师|