大數據“復活”記
1305
2025-04-01
GaussDB(DWS)主備均衡指南
1????? 主備均衡實施方案
1.1????? 操作場景
集群發生軟硬件故障導致主DN、GTM實例異常后,備DN、GTM實例會自動升主接管業務。待解決軟硬件故障,修復異常實例后,需要進行主備均衡操作,使集群恢復平衡狀態。
如下是集群主備均衡狀態的示例:
如下是集群主備不均衡狀態的示例:
主備均衡操作就是使集群從上圖不均衡的狀態恢復為均衡的狀態。
1.2????? 操作注意事項
進行主備均衡操作前有如下注意事項,須嚴格遵守,否則可能會導致主備均衡失敗:
1.???????? 集群狀態為Normal狀態;
2.???????? 執行切換時需停止業務不停止業務可能導致切換失敗;
3.???????? 查詢pgxc_get_senders_catchup_time()視圖為空。查詢方法如下:
連接數據庫執行語句select pgxc_get_senders_catchup_time();
4.???????? 對于同一對實例,上一次主備切換未完成,不能執行下一次切換。
1.3????? 操作步驟
一、整集群切換
1.???????? 以omm用戶登錄GaussDB(DWS)集群任一主機,執行如下命令加載環境變量;
source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile
2.???????? 執行以下命令查詢并確認集群運行狀態及“balanced”狀態;
gs_om -t status --detail
“cluster_state”為“Normal”表示集群運行正常,“balanced”狀態為“No”表示集群實例發生過主備切換。
3.???????? 使用如下命令查看集群狀態確認是哪些節點上的實例發生過主備切換;
gs_om -t status --detail
例如下面示例中,node2節點上的主dn2發生過主備切換。該DN原始為主DN(“state”中的字母“P”代表其初始為Primary DN),當前切換成了備DN(“state ”狀態變成了“Standby Normal”)。
4.???????? 使用如下命令將集群中發生切換的實例恢復為初始配置的主備狀態。
gs_om -t switch --reset --time-out=300
300為切換的等待時間,單位為s。切換后集群的“balanced”狀態變為“Yes”。
執行結果如下:
Operating: Switch reset.
cm_ctl: cmserver is rebalancing the cluster automatically.
......
cm_ctl: switchover successfully.
Operation succeeded: Switch reset.
二、單個實例切換
1.???????? omm用戶登錄GaussDB(DWS)集群任一主機,執行如下命令加載環境變量;
source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile
2.???????? 執行如下命令進行主備切換。
gs_om -t switch -h plat1 –D /srv/BigData/mppdb/data2
plat1為待切換備DN或備GTM所在的主機;
/srv/BigData/mppdb/data2為待切換備DN或備GTM的數據目錄。
注意:
對于同一對實例,上一次主備切換未完成,不能執行下一次切換。對于業務正在操作時,發起switchover,可能主機的線程無法停止導致switchover顯示超時,實際后臺仍然在運行,等主機線程停止后,switchover即可完成。比如在主機刪除一個大的分區表時,可能無法響應switchover發起的信號。
1.4????? 日志路徑
om日志
/var/log/Bigdata/mpp/omm/om/gs_om-xxxx.log 執行主備切換命令節點
Cm日志
/var/log/Bigdata/mpp/omm/bin/cm_ctl/ cm_ctl-xxxx.log 執行主備切換命令節點
/var/log/Bigdata/mpp/omm/cm/cm_server/cm_server-xxxx.log 主備cm_server節點
/var/log/Bigdata/mpp/omm/cm/cm_agent/cm_agent-xxxx.log 主備dn/gtm所在節點
主備dn、gtm實例日志
/var/log/Bigdata/mpp/omm/pg_log/dn_xxxx/postgresql-xxxx.log 主備dn所在節點
/var/log/Bigdata/mpp/omm/pg_log/gtm/gtm-xxxx.log 主備gtm所在節點
2????? 主備均衡問題定位
2.1????? 分析步驟
主備均衡幾個關鍵步驟有gs_om調用cm_ctl執行切換命令、cm_ctl將切換命令發送給cm_server、cm_server通知對應節點cm_agent實例進行切換、對應實例完成升主或降備動作。如果過程中報錯,日志分析一般順序為:
/var/log/Bigdata/mpp/omm/om/gs_om-xxxx.log
->/var/log/Bigdata/mpp/omm/bin/cm_ctl/ cm_ctl-xxxx.log
->/var/log/Bigdata/mpp/omm/cm/cm_server/cm_server-xxxx.log
->/var/log/Bigdata/mpp/omm/cm/cm_agent/cm_agent-xxxx.log
->/var/log/Bigdata/mpp/omm/pg_log/dn_xxxx/postgresql-xxxx.log
->/var/log/Bigdata/mpp/omm/pg_log/gtm/gtm-xxxx.log
->gstack 主備實例pid
2.2????? 常見主備均衡問題
1.???????? 主備切換長時間切不過去
這種通常是在執行切換操作前未停業務未檢查追趕視圖,主實例有線程未退掉無法降備導致主備切換一直未完成。
此種情況可kill主實例回退,待業務低峰期或停業務后重新按操作步驟進行主備切換。
2.???????? 切換過程中,因網絡故障、磁盤滿等原因造成主備實例連接斷開,出現雙備現象
1)??????? 查詢主CM Server所在主機;
cm_ctl query -vCd|grep cm_server
2)??????? omm用戶登錄主cm_server節點,執行如下命令加載環境變量;
source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile
3)??????? 查詢主CM Server的進程號;
ps -ef | grep cm_server
omm 125124????? 1? 0 Jul23 ???????? 00:01:12 ${BIGDATA_HOME}/mppdb/core/bin/cm_server
125124為主CM Server的進程號。
4)??????? kill主CM Server的進程;
kill -9 125124
CM Server自動重啟后會停止異常的主備實例,重新仲裁。
5)??????? 實例狀態恢復后,重新主備切換。
EI企業智能 數據倉庫服務 GaussDB(DWS) Gauss AP
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。