意外清除指令,導致關鍵運行中的數據庫伺服器停機。

二月 17, 2020

情況

一名工程師在若干 LUN 錯誤啓動「dd」指令時,一間以總部設於韓國的管理服務供應商,曾嘗試更改其客戶端的 NetApp 系統設定,因而清除原本屬於終端用戶正式運作 Sybase 伺服器一部分的數據。

在無法存取有關數據的情況下,管理服務供應商或須面臨喪失客戶合約的後果,並面對潛在的法律責任成本。

客戶擁有包括 161 個 900GB SAS HDD 的 NetApp FAS8060 系統;該系統分為兩個獨立的聚合訊息(68 個磁碟 + 93 個磁碟)。 客戶將聚合訊息中各自 3 個 468GB FC LUN 提供予 Sybase 伺服器。 總共 6 個 LUN 合併為一個磁碟池 (Disk Pool),並從該池中劃分出三個邏輯磁碟區。 錯誤的「dd」指令,導致將零寫入至其中一個邏輯磁碟區的大約 45GB,而此磁碟區在 Sybase 伺服器上不再可視。

方案

在最初的諮詢過程中,我們的工程師指導客戶將聚合訊息作離線處理,以避免任何覆寫導致進一步損壞。 自發生原始數據遺失事件起計的 12 個小時內,聚合訊息已作離線處理。 此客戶將兩個聚合訊息中全數共 161 個 HDD,提供予單一 Windows 裝置,並連接至 Ontrack 的 RDR(遠端數據恢復,Remote Data Recovery)伺服器。 初始檢查顯示,兩個聚合訊息均被命名為「aggrO」,因而導致我們的工程師無法自動重建有關聚合訊息。 有關磁碟被分類為聚合訊息組,以通過手動方式重建聚合訊息。 之後,工程師將在盡可能接近(惟在「dd」損壞發生之前)的時間點,進行聚合訊息重建,而且個別聚合訊息重建之間相隔僅為兩分鐘內。

解決方案

由於 Sybase 伺服器曾使用邏輯磁碟區作為 RAW 儲存空間,因此我們的工程師無法提取或校驗內部數據。 其後,合共六個 LUN 均作為平面檔案,提取至外部儲存空間。 NetApp 協助把有關的 LUN 加載回 Sybase 伺服器。 經恢復的邏輯磁碟區,已於 Sybase 伺服器通過完整性檢查,且獲客戶確認一切運作正常。 終端用戶的資料庫伺服器,得以在故障發生後數天內重新上線,數據亦絲亳無損。