GBase新聞
數(shù)據(jù)庫出現(xiàn)故障時,如何應(yīng)急處理?別慌,照這樣做(上篇)
當數(shù)據(jù)庫發(fā)生故障時,你會如何進行應(yīng)急處理?本文通過梳理南大通用GBase 8a數(shù)據(jù)庫系統(tǒng)使用中可能出現(xiàn)的各種異常情況,以期幫助大家應(yīng)對GBase 8a數(shù)據(jù)庫使用中的突發(fā)故障,提供基本的問題解決思路。本期將從硬件故障、操作系統(tǒng)故障及資源使用情況異常三種類別展開。
1.硬件級別故障
1.1 GBase 8a數(shù)據(jù)節(jié)點硬件級別故障
現(xiàn)象描述
GBase 8a單節(jié)點宕機或Hang住。
現(xiàn)象分析
GBase 8a數(shù)據(jù)節(jié)點主機因電源模塊故障、主板等硬件原因?qū)е洛礄C;另外還包括本地磁盤故障、對外服務(wù)網(wǎng)絡(luò)中斷、Raid卡故障所有通道連接中斷等系統(tǒng)無法正常對外提供服務(wù)的情況。
應(yīng)急操作流程
GBase 8a集群允許一臺機器脫離集群,帶病運行一段時間,但無法長期運行,需要盡快停止業(yè)務(wù),對故障硬件進行修復。建議處置方法:
1)運行部門聯(lián)系開放平臺確認問題,并進行后續(xù)處理;
2)開放平臺通知設(shè)備維護廠商現(xiàn)場支持,進行故障硬件維修;(10分鐘)
3)運行部門停止故障集群上的作業(yè)。(取決于當時任務(wù)的大小,通常在1小時-4小時之間)
4)硬件廠商修復故障機器。(4-8小時)
5)GBase現(xiàn)場支持啟動數(shù)據(jù)庫服務(wù),進行數(shù)據(jù)同步等狀態(tài)檢查,如有異常進行數(shù)據(jù)修復。(30分鐘)
6)運行部門啟動集群作業(yè)。
1.2 加載機硬件級別故障
現(xiàn)象描述
加載機宕機或Hang住。
現(xiàn)象分析
加載機主機因電源模塊故障、主板等硬件原因?qū)е洛礄C;另外還包括本地磁盤故障、對外服務(wù)網(wǎng)絡(luò)中斷、Raid卡故障所有通道連接中斷等系統(tǒng)無法正常對外提供服務(wù)的情況。
應(yīng)急操作流程
目前大數(shù)據(jù)平臺應(yīng)用架構(gòu)實現(xiàn)加載機高可用,8臺加載機任意一臺或多臺(非全部)出現(xiàn)故障,不會引起應(yīng)用中斷。建議處置方法:
1)運行部門聯(lián)系開放平臺確認問題,并進行后續(xù)處理;
2)開放平臺通知設(shè)備維護廠商現(xiàn)場支持,進行故障硬件維修;(10分鐘)
3)硬件廠商修復故障機器。(4-8小時)
4)GBASE南大通用現(xiàn)場支持或運行部門管理員啟動加載機上加載、應(yīng)用服務(wù)等。(30分鐘)
2. 操作系統(tǒng)級別故障
2.1GBase 8a數(shù)據(jù)節(jié)點操作系統(tǒng)級別故障
2.1.1 操作系統(tǒng)損壞
現(xiàn)象描述
單節(jié)點操作系統(tǒng)損壞。
現(xiàn)象分析
GBase 8a數(shù)據(jù)節(jié)點Raid卡故障或操作系統(tǒng)故障,導致系統(tǒng)無法提供服務(wù),需要重新安裝操作系統(tǒng)。
應(yīng)急操作流程
GBase 8a集群允許一臺機器脫離集群,帶病運行一段時間,但無法長期運行,需要盡快停止業(yè)務(wù),對故障機器進行修復。可以使用預(yù)先準備好的備用機加入GBase 8a集群,減少安裝操作系統(tǒng)的時間,縮短修復過程。建議處置方法:
1)運行部門聯(lián)系開放平臺確認問題,并進行后續(xù)處理;
2)設(shè)置備用機,準備好加入集群。(10分鐘)
3)運行部門停止故障集群上的作業(yè)。(取決于當時任務(wù)的大小,通常在1小時-4小時之間)
4)GBASE南大通用現(xiàn)場支持停止故障機,配置備機IP,進行GBase 8a數(shù)據(jù)同步;(根據(jù)數(shù)據(jù)量大小,通常在12-24小時之間)
5)GBASE南大通用現(xiàn)場支持啟動GBase 8a集群。(20分鐘)
6)運行部門啟動集群作業(yè)。
2.1.2. 文件系統(tǒng)故障
現(xiàn)象描述
文件系統(tǒng)或者邏輯卷故障。
現(xiàn)象分析
本地磁盤、存儲磁盤損壞,導致文件系統(tǒng)或者邏輯卷故障,以及空間滿等,導致應(yīng)用數(shù)據(jù)對磁盤讀寫異常。
應(yīng)急操作流程
本地磁盤故障,導致系統(tǒng)io讀寫異常,不能正常對外服務(wù)。建議處置記錄方法:
1)運行部門聯(lián)系開放平臺確認問題,并進行后續(xù)處理;
2)開放平臺通知硬件維保廠商,檢查硬件日志,定位問題;
3)嘗試登錄系統(tǒng),檢查系統(tǒng)日志及磁盤讀寫情況;
4)一般情況下本地硬盤使用Raid5,出現(xiàn)該場景問題的幾率很低,硬件故障可能性較大;
5)硬件廠商更換故障磁盤;
6)如果文件丟失,使用備份文件進行恢復。GBase 8a數(shù)據(jù)庫文件損壞,使用GBase 8a同步功能進行修復。
7)GBASE南大通用現(xiàn)場支持啟動服務(wù),觀察問題是否解決。
2.2.加載機操作系統(tǒng)級別故障
2.2.1.操作系統(tǒng)損壞
現(xiàn)象描述
單節(jié)點操作系統(tǒng)損壞。
現(xiàn)象分析
GBase 8a數(shù)據(jù)節(jié)點Raid卡故障或操作系統(tǒng)故障,導致系統(tǒng)無法提供服務(wù),需要重新安裝操作系統(tǒng)。
應(yīng)急操作流程
目前大數(shù)據(jù)平臺應(yīng)用架構(gòu)實現(xiàn)加載機高可用,8臺加載機任意一臺或多臺(非全部)出現(xiàn)故障,不會引起應(yīng)用中斷。建議處置方法:
1)運行部門聯(lián)系開放平臺確認問題,并進行后續(xù)處理;
2)開放平臺重新安裝操作系統(tǒng)。(1小時)
3)開放平臺配置IP、部署GBase 8a加載服務(wù)、客戶端、應(yīng)用服務(wù)等。(1小時)
4)GBASE南大通用現(xiàn)場支持或運行部門管理員啟動該加載機服務(wù)。
2.2.2.文件系統(tǒng)故障
現(xiàn)象描述
文件系統(tǒng)或者邏輯卷故障。
現(xiàn)象分析
本地磁盤、存儲磁盤損壞,導致文件系統(tǒng)或者邏輯卷故障,以及空間滿等,導致應(yīng)用數(shù)據(jù)對磁盤讀寫異常。
應(yīng)急操作流程
大數(shù)據(jù)平臺應(yīng)用架構(gòu)實現(xiàn)加載機高可用,8臺加載機任意一臺或多臺(非全部)出現(xiàn)故障,不會引起應(yīng)用中斷。建議處置記錄方法:
1)運行部門聯(lián)系開放平臺確認問題,并進行后續(xù)處理;
2)開放平臺通知硬件維保廠商,檢查硬件日志,定位問題;
3)嘗試登錄系統(tǒng),檢查系統(tǒng)日志及磁盤讀寫情況;
4)一般情況下本地硬盤使用Raid5,出現(xiàn)該場景問題的幾率很低,硬件故障可能性較大;
5)硬件廠商更換故障磁盤;
6)GBase現(xiàn)場支持或運行部門管理員啟動服務(wù),觀察問題是否解決。
3. 資源使用情況異常
3.1Swap使用率增高
現(xiàn)象描述
集群中大量節(jié)點Swap使用率增高
現(xiàn)象分析
GBase 8a軟件異常,或者異常SQL導致GBase 8a內(nèi)存溢出,使用內(nèi)存不斷增加,不及時處理會導致Swap空間占滿,系統(tǒng)異常宕機。
應(yīng)急操作流程
此種異常大多由于GBase 8a軟件或異常SQL導致,需要通知應(yīng)用協(xié)助排查問題原因。
1)運行部門聯(lián)系開放平臺協(xié)助排查問題,通知GBase現(xiàn)場支持協(xié)助排查問題;
2)運行部門和GBase現(xiàn)場支持分析系統(tǒng)中運行的異常SQL。
3)運行部門停止產(chǎn)生問題的SQL。
4)開放平臺清理操作系統(tǒng)內(nèi)存,降低Swap使用率。
5)GBase現(xiàn)場支持協(xié)助開發(fā)優(yōu)化異常SQL
6)運行部門避免未經(jīng)測試的SQL運行在生產(chǎn)環(huán)境
3.2 CPU使用率增高
現(xiàn)象描述
集群中大量節(jié)點CPU使用率增高,IO接近飽和。
現(xiàn)象分析
CPU的大部分時間花在系統(tǒng)切換上,GBase 8a同時處理的并發(fā)過高,并且存在幾個超長任務(wù)(超過2小時未執(zhí)行完)。
應(yīng)急操作流程
此種異常大多由于業(yè)務(wù)調(diào)度的并發(fā)過高引起,會導致任務(wù)處理的整體速度降低。
1)運行部門聯(lián)系開放平臺協(xié)助排查問題,通知GBase現(xiàn)場支持協(xié)助排查;
2)運行部門和GBase現(xiàn)場支持分析系統(tǒng)中并發(fā)運行的任務(wù)數(shù)。
3)如果并發(fā)過高,運行部門降低并發(fā)數(shù)。如果存在超長SQL,商量是否需要先殺掉,以避免拉低整體性能。
4)GBase現(xiàn)場支持協(xié)助開發(fā)優(yōu)化異常SQL,避免未經(jīng)測試的SQL運行在生產(chǎn)環(huán)境。
5)運行部門避免在統(tǒng)一調(diào)度系統(tǒng)之外,手工調(diào)起作業(yè)。
3.3 磁盤IO異常繁忙
現(xiàn)象描述
集群中單個節(jié)點或多個節(jié)點IO異常繁忙。
現(xiàn)象分析
集群單個節(jié)點或多個節(jié)點DISKBUSY原高于其他節(jié)點(如超過12時間DISKBUSY高于80%)。
應(yīng)急操作流程
此種異常大多由于硬盤故障或硬盤背板、RAID卡故障引起,會導致任務(wù)處理的整體速度降低。
1)運行部門聯(lián)系開放平臺確認問題,并進行后續(xù)處理;
2)硬件廠商抓取硬件運行日志,并分析。
3)如果并發(fā)過高,運行部門降低并發(fā)數(shù)。如果存在超長SQL,商量是否需要先殺掉,以避免拉低整體性能。
4)廠商分析日志確定故障硬件后,更換硬件,如更換硬件需停止操作系統(tǒng),需停止集群服務(wù)。
5)GBase現(xiàn)場支持恢復服務(wù)。
3.4 磁盤空間滿或超過閾值
現(xiàn)象描述
集群中單個節(jié)點或多個節(jié)點磁盤空間滿或使用超過80%。
現(xiàn)象分析
集群中單個節(jié)點或多個節(jié)點磁盤空間使用超過80%,因GBase 8a集群數(shù)據(jù)節(jié)點須保留20%~30%作為臨時空間,磁盤總空間滿后,部分SQL會報錯,甚至可能到會GBase 8a服務(wù)進程crash。
應(yīng)急操作流程
一般情況下短時間內(nèi)磁盤使用大幅上升是由笛卡爾乘積SQL或GBase 8a執(zhí)行計劃bug導致。
1)運行部門分析GBase 8a臨時空間使用情況。
2)運行部門分析運行SQL情況,確定哪條SQL導致。
3)Kill SQL,觀察空間是否釋放。
4)如笛卡爾乘積,則反饋開發(fā)部分進行處理;如GBase執(zhí)行計劃問題,反饋數(shù)據(jù)庫廠商,要求提供短期解決方案及后期修復計劃。
5)恢復服務(wù)。