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