導致集群重啟 資料庫伺服器主機重啟故障診斷分析

2021-10-14 17:06:54 字數 1454 閱讀 2630

某客戶rac資料庫伺服器主機輪流發生集群與主機重啟,資料庫連線不上問題,如下為故障診斷思路。

告警日誌:

從資料庫告警日誌可以發現,核心程序asmb 在2.9日15.06分 突然提示正在終止,隨後一節點資料庫報錯,不能與 asm通訊, 也就是連不上 asm儲存,檢查asm告警日誌發現,核心程序asmb 在2.9日15.06分 被kill 掉,隨後一節點的asm例項掛掉,導致一節點資料庫也緊跟著掛掉

從15:03開始

一節點開始報 voting file所在的磁碟,io通訊有超時的現象,磁碟hang住, 到15.05分開始 ocr_vote磁碟離線,一節點被剔出集群,

後續檢查主機,發現主機重啟過,檢查作業系統日誌,發現從15.02分開始,: info: task ocssd.bin:16080 blocked for more than 120 seconds. 有任務被hung 住,

該錯誤是由於io子系統的處理速度不夠快,不能在120秒將快取中的資料全部寫入磁碟。io系統響應緩慢,導致越來越多的請求堆積,最終io 耗盡,系統記憶體全部被占用,導致系統失去響應,發生故障。

建議一:

可以調整 作業系統引數,

vm.dirty_ratio=20vm.dirty_background_ratio=3
目前作業系統配置檔案/etc/sysctl.conf 中 沒有這兩個引數 ,建議調整,sysctl -p 生效,(調整該作業系統引數不用重啟主機) vm.dirtybackgroundratio 這個引數指定了當檔案系統快取髒頁數量達到系統記憶體百分之多少時(如5%)就會觸發pdflush/flush/kdmflush等後台 回寫程序執行,將一定快取的髒頁非同步地刷入外存;

作業系統引數說明:

vm.dirty_ratio 這個引數則指定了當檔案系統快取髒頁數量達到系統記憶體百分之多少時(如10%),系統不得不開始處理快取髒頁(因為此時髒頁數量已經比較多,為了避免資料丟失需要將一定髒頁刷入外存);在此過程中很多應用程序可能會因為系統轉而處理檔案io而阻塞。

建議二:

另外在檢查中,發現該主機未配置大頁,建議配置大頁,可以極大提公升資料庫效能

後期調整後至今沒有發現主機重啟,故障解決。

原文閱讀:

伺服器資料庫優化

最近玩家 性增長,使得原來設計的ws和資料庫那塊承受了更大的壓力,開始有點受不住了,於是理所當然的優化開始了。這裡說幾個資料庫優化的建議和方法 在資料庫優化工作中,使資料盡可能的小,使表在硬碟 上佔據的空間盡可能的小,這是最常用 也是最有效的手段之一。因為縮小資料,相對來說可以提高硬碟 的讀寫速度,...

資料庫伺服器優化

1.為查詢優化你的查詢 2.explain 你的 select 查詢 3.當只要一行資料時使用 limit 1 4.為搜尋欄位建索引 5.千萬不要 order by rand 6.避免 select 7.永遠為兩張表設定乙個 id 8.盡可能的使用 not null 9.把 ip 位址存成 unsi...

web伺服器和NFS伺服器 資料庫伺服器建立連線

web伺服器與nfs儲存伺服器建立連線實驗條件 第一步 在自己部署好的動態網頁網頁發布乙個博文 部落格中上傳的 會被放在 的站點目錄中。自己也可以通過在動態網頁的部落格中右鍵 複製的位址 檢視所放的具體位置。第二步 將 usr share nginx html wp content uploads ...