20160305

Houston, we have a problem.

主題: butter finger, 奶油桂花手

#工作 #IT

目前擔任一家遊戲公司的 IT 營運工作, 主要的工作是維持公司員工的生產力, 所以要考慮的事情有三個, 一個是平常營運的穩定順暢, 再來是防止阻礙營運的事故發生, 最後是當營運中斷的時候, 怎樣可以短時間恢復營運, 畢竟一間公司已經有 100 名以上的員工了, 全公司營運公司停一天的損失的損失就要賠好幾個月的薪水了, 所以想的事情有些不一樣, 事情要在可以花錢先做預防的時候, 就要丟錢下去, 不要東西真的出狀況的時候才砸錢, 那個時候已經來不及了。

最近遇到的狀況是這樣, 提供主要檔案服務的 NAS 有一個硬碟有 SMART 警告, 但是所有的 IO 存取都正常唷, 所以在 2/15 的時候我通知主管硬碟有問題, 但是我想 slack 訊息太混亂, 主管可能沒有看到, 所以在 2/22 再通知一次主管這件事情, 同時圖片的註解是「休士頓, 我想我們需要買一個新硬碟」, 主管這個時候發現事情大條了, 所以請營運經理採購硬碟, 因為 3TB 的好像停產了, 所以改買 4TB 的硬碟, 3/2 硬碟到貨, 3/2 晚上把 NAS 關機之後更換新硬碟上去 rebuild RAID, 隔天確認 RAID 狀態正常, 狀況解除。

然後那一個有問題的硬碟型號是 WD3000FYYZ, 生產日期是 22 MAR 2015, 所以生產到現在實際上也沒有滿一年, 而且這一個 NAS 的採購是去年的八月底執行的, 所以就算從九月份開始算, 實際上也不過運作了半年不到, 然後就有問題了, 後來買 WD4000FYYZ 來更換。換下來的硬碟的 SMART 錯誤是 Current Pending Sector Count 跟 Uncorrectable Sector Count 都達到最壞的狀況, 雖然硬碟的 IO 還是正常的, 但是接下來會發生什麼事情也不知道, 所以還好有換下來, 我請同事接到一般的電腦主機上面用 WDC 的檢查軟體檢查硬碟並且嘗試修正問題之後, 這個問題還是存在, 所以我跟同事講說這一個硬碟我們就把 WDC 硬碟偵錯軟體的畫面印下來, 然後送修的時候附上去, 請 WDC 換硬碟給我們, 我們買一個資料中心等級產品線的硬碟就是希望我們的服務可以有比較高的強度, 如果 WDC 送回來的硬碟經過我們檢查有 SMART 問題的話, 我們也不會裝到我們日常營運用的 NAS 上面。

WD4000FYYZ 送到公司的同時, 我們也收到了 QNAP TS-128 這一個 NAS, 這一個 NAS 基本上是要提供員工存放臨時用的檔案, 我從 IT 庫存的硬碟裡面找一個 WDC Black 2TB 來用, 因為怕死還做了壞軌掃描, 結果整個 NAS 軟體初始化完之後, 好死不死這一個硬碟也出現了 SMART 警告, 這次遇到的事情是 Uncorrectable Sector Count, 其實 Current Pending Sector Count 的數值也到最差的地步, 但是還沒有觸發 NAS? 大概是因為沒有寫資料進去遇到有錯誤還是怎樣, 不過我也是直接關機, 然後請我的同事再從庫存的硬碟裡面找一個 WDC Black 2TB 用 WDC 軟體做過壞軌測試跟 SMART 測試之後, 我才裝上去 NAS, 這次 NAS 就沒有跟我警告 SMART 狀態有問題, 然後接上外接硬碟做 rsync 這樣。

因為這兩件事情, 我跟我的同事說, 我們接下來要把所有的 WDC 硬碟都做過檢查, 然後至少要確定我們裝的這一個硬碟, 最近一次的硬碟檢查狀態是沒有問題的, 這個硬碟我們才會裝到使用者的電腦哩, 或者是 NAS 裡面, 每天就放個一個兩個硬碟下去跑, 慢慢跑總是會跑完的, 也因為我們庫存的硬碟會幫同事在更換電腦之後保存一段時間的舊資料, 所以我們也等於在確認這一份資料的狀況。

過年前勒索軟體很流行的時候, 我壓力很大, 所以我們還有安裝一個備份 NAS, 會每天被份主 NAS 的資料, 然後有 daily snapshot, 會保持一周七天的紀錄, 下周要來檢查一下這一台 NAS 硬碟的狀況。

做 IT, 基本原則跟開飛機一樣, 怕死, 把公司的資料都當成自己的, 膽量越小越好, 這樣才會保平安。我們後續還有很多安全性跟自動部屬的服務要部屬, 一切的作為莫非就是為了第一段話我提的那三件事情。



參考資料:

https://kb.acronis.com/content/9133
9133: S.M.A.R.T. Attribute: Current Pending Sector Count
Current Pending Sector Count S.M.A.R.T. parameter is a critical parameter and indicates the current count of unstable sectors (waiting for remapping). The raw value of this attribute indicates the total number of sectors waiting for remapping.

https://kb.acronis.com/content/9134
9134: S.M.A.R.T. Attribute: Uncorrectable Sector Count
Uncorrectable Sector Count S.M.A.R.T. parameter is a critical parameter and indicates the quantity of uncorrectable errors. The raw value of this attribute indicates the total number of uncorrectable errors when reading/writing a sector.