【DWS 運維變更】【標準變更方案】【純軟】gs_replace修復實例

      網友投稿 1073 2025-03-31

      1.????適用場景


      DN狀態異常(down)

      CN處于deleted或down狀態

      2.????前提條件

      1)?GaussDB A集群安裝成功,且處于已啟動狀態。

      2)?DN環的主、備實例不能同時損壞,DN環的主、從備實例不能同時損壞,DN環的備、從備實例不能同時損壞,即一個DN環中只能損壞一個實例。

      3)?GaussDB A集群內如下實例至少存在一個正常運行的:

      ?CMServer

      ?CMAgent

      ?GTM

      ?Coordinator

      4)?如果某個GTM實例存在故障,則要求實例修復前另外一個GTM實例必須為最高可用模式。

      3.????注意事項

      1)?操作要在正常節點執行,不能在被修復節點執行

      2)?在前一次修復結束后才能再次執行修復。

      2)?修復前不能鎖定GaussDB A集群。

      3)?修復故障實例過程中系統將關閉“自動剔除故障CN”功能,完成后系統再次打開該功能。因此建議在開始修復前確認故障的CN已經被自動剔除(即故障的CN狀態為Deleted),否則在修復過程中用戶執行DDL會報錯。

      4)?實例修復前用戶手動在故障實例上配置的guc參數、pg_hba.conf配置的白名單會丟失,需要提前備份。

      5) gs_replace不涉及cn的,可以在線執行;gs_replace涉及cn的,8.0版本之前,必須離線執行;gs_replace涉及cn的,8.0版本之后,只要保證被修復的cn沒有DDL業務即可

      4.????對系統影響

      由于過程中會短暫鎖集群,鎖集群后用戶下發的包含顯式啟動事務的DDL語句會出現等待,集群解鎖后會報錯或等待時間超過20分鐘會報錯。如包含創建臨時表操作,在集群解鎖后會報錯(Don't support temp table when need reconnect pooler)。

      5.????準備工作

      5.1檢查集群狀態

      步驟1?以omm用戶登錄GaussDB A集群的第一個正常的cn節點

      步驟2?執行以下命令,啟用環境變量

      source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      步驟3?執行以下命令,查看GaussDB A集群當前狀態

      cm_ctl query -Cv

      查看具體故障實例所在節點:實例不是“Normal”狀態,且持續5分鐘沒有自恢復

      [?? Cluster State?? ]

      cluster_state?? : Degraded

      redistributing? : No

      balanced? ??????: Yes

      [? Datanode State?? ]

      node???????? instance state??????????? | node???????? instance state??????????? | node???????? instance state

      --------------------------------------------------------------------------------------------------------------------------

      1??redhat1-1?6001? P?Down Disk damaged?| 2? redhat1-2 6002???? S Standby Normal | 3? redhat1-3 3002???? R Secondary Normal

      1? redhat1-1 6003???? P Primary Normal | 3? redhat1-3 6004???? S Standby Normal | 2? redhat1-2 3003???? R Secondary Normal

      2? redhat1-2 6005???? P Primary Normal | 3? redhat1-3 6006???? S Standby Normal | 1? redhat1-1 3004???? R Secondary Normal

      2? redhat1-2 6007???? P Primary Normal | 1? redhat1-1 6008???? S Standby Normal | 3? redhat1-3 3005???? R Secondary Normal

      3? redhat1-3 6009???? P Primary Normal | 1? redhat1-1 6010???? S Standby Normal | 2? redhat1-2 3006???? R Secondary Normal

      3? redhat1-3 6011???? P Primary Normal | 2? redhat1-2 6012???? S Standby Normal | 1? redhat1-1 3007???? R Secondary Normal

      步驟4以上查詢結果為例,故障實例所在節點名稱為redhat1-1

      5.2關閉集群通信白名單(需要離線時做)

      注意:若被修復節點上沒有cn,在沒有IO壓力的情況下可以在線操作。如果被修復節點有cn,則必須離線操作!

      步驟?1??現場實施人員知會并確認用戶已完成數據庫業務停止操作。

      步驟?2??以omm用戶登錄第一個正常的CN節點,執行如下命令注釋用戶白名單

      以默認CN實例目錄/srv/BigData/mppdb/data1/coordinator為示例,現場需根據實際情況進行調整。

      source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      gs_ssh -c "hostname && if [ -f?/srv/BigData/mppdb/data1/coordinator/pg_hba.conf ]; then cp -f?/srv/BigData/mppdb/data1/coordinator/pg_hba.conf?/srv/BigData/mppdb/data1/coordinator/pg_hba.conf_comment; fi "

      gs_ssh -c "hostname && if [ -f?/srv/BigData/mppdb/data1/coordinator/pg_hba.conf ]; then sed -i '/^[^#].*sha256.*/s/\(.*\)/#@#@#/g'?/srv/BigData/mppdb/data1/coordinator/pg_hba.conf; fi "

      gs_ssh -c "hostname && if [ -f?/srv/BigData/mppdb/data1/coordinator/pg_hba.conf ]; then sed -i '/^[^#].*md5.*/s/\(.*\)/#@#@#/g'?/srv/BigData/mppdb/data1/coordinator/pg_hba.conf; fi "

      步驟?3??以omm用戶登錄第一個正常的CN節點,關閉MPPDB實例節點下的后臺訪問連接和應用連接。具體操作如下:

      source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      gs_ssh -c "ps ux |grep -w gsql |grep -v grep |awk '{print $2}' |xargs -r kill -9"

      gs_ssh -c "ps ux |grep -w ap_agent |grep -v grep |awk '{print $2}' |xargs -r kill -9"

      步驟?4??以omm用戶登錄每一個正常CN節點,執行如下命令重啟CN。

      執行以下命令,獲取到CN的進程Pid

      ps -ef | grep /srv/BigData/mppdb/data1/coordinator | grep -v grep

      【DWS 運維變更】【標準變更方案】【純軟】gs_replace修復實例

      執行以下命令,殺死CN進程

      kill -9?Pid

      執行以下命令,觀察CN被重新拉起,并且Pid與之前獲取的Pid不同

      ps -ef | grep /srv/BigData/mppdb/data1/coordinator | grep -v grep

      6.????變更步驟

      6.1清理殘留文件

      步驟1?以omm用戶登錄被修復的節點

      步驟2?執行以下命令,啟用環境變量

      source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      步驟3?使用如下命令在需要修復實例的主機上清理可能存在的殘留文件。此命令僅在上次修復故障實例執行失敗的情況下需要執行。

      if [ -f $PGHOST/GaussReplace.dat ];then rm $PGHOST/GaussReplace.dat;fi

      說明

      該文件為替換故障實例、替換主機中產生的用于記錄執行步驟的臨時文件,如果在上次執行過程中出現宕機或網卡中斷等,可能會導致該文件殘留。在替換故障實例前檢查該文件是否存在,且生成時間非本次替換故障實例的時間,則可判斷為上次執行的殘留文件,刪除該文件后,繼續執行替換故障實例。

      6.2修改原cn目錄名稱(被修復節點有cn時做)

      步驟1?以omm用戶登錄需要被修復的節點

      步驟2?執行以下命令,啟用環境變量

      source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      步驟3?使用如下命令修改原cn目錄名稱,防止修失敗回退后誤拉起損壞的cn。

      mv /srv/BigData/mppdb/data1/coordinator /srv/BigData/mppdb/data1/coordinator_bak

      6.3配置實例

      步驟1?以omm用戶登錄GaussDB A集群的健康節點

      步驟2?執行以下命令,啟用環境變量

      source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      步驟3?執行以下命令,完成故障實例所在節點配置操作

      gs_replace -t config -h?redhat1-1

      說明

      配置操作會清理替換實例的空間,初始化替換實例,配置替換實例。

      如果收到提示:“GAUSS_50201: The XXX does not exist.”,則請檢查對應的實例數據目錄是否存在。如果不存在,請重新創建目錄后再次執行上述命令。

      如果指定主機的表空間所在磁盤出現故障,從而導致表空間中的數據損壞,更換新磁盤后,需要指定“--force”參數對該主機強制進行表空間數據的恢復。如果在config階段指定“--force”參數,則在start階段也必須指定“--force”參數。

      6.4還原cn的白名單(被修復節點有cn時做)

      如果有配置lvs,每個cn的白名單相同,可跳過此小節。

      步驟1?以omm用戶登錄需要被修復的節點

      步驟2?執行以下命令,啟用環境變量

      source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      步驟3?使用如下命令將備份的白名單還原,操作前確認備份的白名單文件沒有損壞。

      cp /srv/BigData/mppdb/data1/coordinator_bak/pg_hba.conf /srv/BigData/mppdb/data1/coordinator/

      6.5恢復集群通信白名單(需要離線時做)

      步驟1???以omm用戶登錄第一個正常的CN節點,執行如下命令注釋用戶白名單

      以默認CN實例目錄/srv/BigData/mppdb/data1/coordinator為示例,現場需根據實際情況進行調整。

      source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      gs_ssh -c "hostname && if [ -f?/srv/BigData/mppdb/data1/coordinator/pg_hba.conf_comment?]; then? sed -i '/^#@#@#.*/s/#@#@#\(.*\)/\1/g'?/srv/BigData/mppdb/data1/coordinator/pg_hba.conf?&& rm -f?/srv/BigData/mppdb/data1/coordinator/pg_hba.conf_comment; fi "

      6.6啟動實例

      步驟1?以omm用戶登錄GaussDB A集群的健康節點

      步驟2?執行以下命令,啟用環境變量

      source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      步驟3?執行以下命令,完成故障實例所在節點啟動操作

      gs_replace -t start -h?redhat1-1

      啟動操作會啟動集群替換實例的主機

      gs_replace -t start -h redhat1-1

      Starting.

      ======================================================================

      Successfully started instance process. Waiting to become Normal.

      ======================================================================

      .

      ======================================================================

      Start succeeded on all nodes.

      Start succeeded.

      6.7重置實例

      參考主備均衡方案實施。

      https://bbs.huaweicloud.com/forum/thread-145786-1-1.html

      6.8更新lvs(被修復節點有cn時做)

      步驟1?以root用戶身份登錄服務器,執行source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile命令啟動環境變量。

      步驟2?執行gs_loadbalance更新負載均衡配置。

      gs_loadbalance -t reload -U omm -X? ${BIGDATA_HOME}/FusionInsight_MPPDB_*/*_*_MPPDBServer/etc/mppdb-install-config.xml?? --lvs-addr=10.146.156.101

      路徑中紅色斜體替換為實際版本路徑

      參數說明

      -U:運行集群的操作系統用戶名。必選。

      -X:集群配置文件。必選。

      --lvs-addr:后續供客戶端連接的LVS IP地址。必選。

      7.????驗證步驟

      7.1確認結果

      1)后臺集群狀態驗證

      步驟1?以omm用戶登錄GaussDB A集群的第一個正常的cn節點

      步驟2?執行以下命令,啟用環境變量

      source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile

      步驟3?執行以下命令,查看GaussDB A集群當前狀態

      cm_ctl query

      如下則為正常

      [?? Cluster State?? ]

      cluster_state? :? Normal

      redistributing : No

      balanced?????? : Yes

      2)客戶業務驗證

      驗證方案需包括DDL和DML語句

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

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

      上一篇:改善生產計劃的簡單方法
      下一篇:Excel2016怎么修復文件關聯
      相關文章
      精品亚洲国产成AV人片传媒| 亚洲AV无码成人精品区天堂 | 欧美色欧美亚洲另类二区| 色九月亚洲综合网| 亚洲另类自拍丝袜第五页| 亚洲av无码一区二区三区天堂古代 | 亚洲一卡2卡3卡4卡国产网站| 亚洲精品视频在线免费| 亚洲视频一区二区在线观看| 亚洲精品网站在线观看你懂的| 亚洲免费在线视频| 无码乱人伦一区二区亚洲| 久久夜色精品国产嚕嚕亚洲av| 亚洲精品亚洲人成在线观看下载| 亚洲日韩国产成网在线观看| 一本久到久久亚洲综合| 亚洲狠狠爱综合影院婷婷| 亚洲日本一区二区一本一道| 亚洲精品成人区在线观看| 久久久久亚洲av毛片大| 亚洲精品无码久久久久| 亚洲AV无码欧洲AV无码网站| 亚洲综合日韩中文字幕v在线 | 亚洲av无码精品网站| 色婷婷亚洲十月十月色天| 亚洲好看的理论片电影| 7777久久亚洲中文字幕蜜桃| 亚洲色图黄色小说| 亚洲另类古典武侠| 亚洲欧美精品午睡沙发| 在线a亚洲v天堂网2018| AV在线亚洲男人的天堂| 亚洲情XO亚洲色XO无码| 亚洲好看的理论片电影| 亚洲AV无码精品蜜桃| 亚洲av日韩精品久久久久久a| 亚洲国产精品无码久久久久久曰| 亚洲区不卡顿区在线观看| 亚洲精品蜜桃久久久久久| 亚洲视频精品在线| 亚洲日本久久一区二区va|