Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux 磁碟故障導致系統運行緩慢?排查 RAID 快取電池失效案例實錄

編輯:關於 Linux

某運營商 Solaris 10 + Oracle 10.2.0.3 系統突然極度緩慢,AWR 報告顯示絕大多數等待事件為 I/O 類(log file sync、db file parallel write、db file sequential read)。經排查發現 RAID 控制器快取電池過期導致寫入快取關閉,更換電池後性能恢復正常。

環境

  • OS:Solaris 10
  • DBMS:Oracle 10.2.0.3.0
  • 儲存:RAID 陣列(含 BBU/WCBB 快取電池)

現象與 AWR 分析

Top 5 Timed Events:
log file sync           45,755  33,981  743  59.7% Commit
CPU time                14,009          24.6%
db file parallel write  63,119  11,374  180  20.0% System I/O
db file sequential read 736,650  3,692    5   6.5% User I/O
log file parallel write  9,148   3,081  337  5.4% System I/O

絕大部分為 I/O 等待,特別是 log file sync 佔比近 60%。

排查過程

  1. 調整 Redo Log:發現 64 個 50MB log group 不合理,新增 5 個 2GB group 並刪除舊 group,問題仍在。
  2. 對比歷史 AWR:負載遠高於上月,排除應用層變化。
  3. 系統層 iostat 觀察:
device    r/s    w/s   kr/s   kw/s wait actv svc_t %w %b
ssd5     13.0  106.0  126.4  847.7  0.0  1.8  15.4   0 100
ssd6      0.0    3.4    0.0   1.8  0.0  0.1  34.0   0   2
... (其他裝置皆閒置)

ssd5 寫入吞吐僅 ~840 KB/s,遠低於 RAID 陣列應有水準。但 cp 大檔案測試讀寫性能正常。

  1. 現場回報:RAID 快取電池已過期,控制器自動禁用寫入快取(Write Cache Disabled)。
  2. 更換電池:協調更換 BBU,快取重新啟用,I/O 延遲大幅下降,系統恢復正常。

iostat 輸出與 RAID 快取狀態截圖

關鍵知識點

  • RAID 寫入快取(Write Back Cache):資料先寫入控制器記憶體,再異步刷盤,極大提升寫入效能。需電池(BBU/WCBB)保護斷電資料不遺失。
  • 電池過期/失效:控制器偵測到電池狀態異常,強制切換為 Write Through(直寫盤),效能暴跌。
  • 監控建議:定期檢查 RAID 控制器狀態(MegaCLI、StorCLI、ipmitool、廠商管理工具),設定電池到期告警。
  • Oracle Redo Log:高頻同步寫入極度依賴寫入快取,快取失效直接拖垮 log file sync。

結論

遇到突發性 I/O 性能驟降,優先檢查儲存層快取狀態與電池健康度,而非盲目調整資料庫參數。

Copyright © Windows教程網 All Rights Reserved