︿
Top

Q. 控制器電池 (Controller Battery) 損壞造成 I/O 讀寫效率大幅下降?

Error Message:
採用的 IBM DS5020 Storage,發生控制器電池 (Controller Battery) 損壞的狀況,造成運作於 VMware 虛擬環境上的 Microsoft SQL 虛擬主機,其「資料讀寫 I/O 速度突然下降」並且影響甚大,舉例來說原本只需執行 15 分鐘的 SQL Job 在 I/O 速度突然下降後必須要執行 1 小時才能執行完畢,嚴重影響日常維運進度。

採用 IBM Storage Manager 連接至 DS5020 Storage 之後,查看 Event Log 發現【Controller Battery Failed】的訊息。

Ans:
Storage Controller 及 RAID Card 都是相同的運作概念,就是控制器的電池除了「儲存 RAID Config」之外,還包含了「Cache Data」所以即使是在運作過程中,設備突然電力中斷但是在 Cache 中的資料會依靠電池的電力來維持 (一般來說約 24 ~ 72 小時之間),當設備電力恢復時會將 Cache Data 進行再次寫入硬碟的動作。

此次造成 I/O 效能突然下降的主因為 「控制器電池損壞 (Controller Battery Failed)」,因此儲存設備為了預防此時若設備的電力中斷將造成無法將 Cache Data 寫入,所以 自動 將快取機制暫停 (Write Cache Suspended),所以就造成了運作於 Storage 之上的 I/O 速度突然下降。

以下為更換控制器電池之前以及更換之後的相關動作及機制說明:

     1. 先備份 IBM DS5020 Storage 設定檔。
     2. 收集 IBM DS5020 Storage 設備狀態,收集設定 【Advanced >> Troubleshooting >> Support Data >> Collect】,將檔案名稱命名為【型號_序號_日期】 ex. 1814_1234_20120508.zip 即可。
     3. 確認 IBM DS5020 Storage 設備中,哪個控制器的電池損壞 (Controller A)。
     4. 確認後拔除 Controller A 電池 (Event Log 中的 Battery missing 訊息)。
     5. 查看 IBM DS5020 Storage 電池狀態的方式為 【Storage Subsystem >> View >> Enclosure Components >> Controller/Drive Enclosue】
     6. Controller A 電池充電完成 (Event Log 中的 Battery fully charged訊息)。
     7. Controller A Cache 機制初始 (Event Log 中的 Controller cache battery is fully charged),進入 Battery maintenance charging 狀態。
     8. 進入 Controller A、B 互相交換學習狀態 (Event Log 中的 Learn cycle for battery started)。
     9. 完成 Controller A、B 互相交換學習狀態 (Event Log 中的 Learn cycle for battery completed),Controller A、B 的電池都為 「Optimal」 狀態。
     10. 更換控制器電池 (Controller Battery) 完成後,相關電池充電及初始機制完成後,Write Caching 機制再度回復,目前運作的 VM 虛擬主機其 I/O 也恢復正常。
文章標籤: