用 Linux 指令快速檢查伺服器硬碟健康狀態

# 用 Linux 指令快速檢查伺服器硬碟健康狀態 做 IT 嘅朋友,成日都要面對一個問題:部伺服器嘅硬碟幾時會壞?與其等佢突然死咗先發現,不如主動啲,定期用指令檢查硬碟健康狀態。今日就同大家分享幾個實用嘅 Linux 指令,等你可以喺問題發生之前就察覺到。 ## 點解要主動檢查硬碟健康狀態 硬碟係伺服器入面最易壞嘅零件之一。根據 Backblaze 嘅統計,傳統機械硬碟(HDD)每年故障率大約 ...

用 Linux 指令快速檢查伺服器硬碟健康狀態 - 文章重點速覽 infographic

# 用 Linux 指令快速檢查伺服器硬碟健康狀態

做 IT 嘅朋友,成日都要面對一個問題:部伺服器嘅硬碟幾時會壞?與其等佢突然死咗先發現,不如主動啲,定期用指令檢查硬碟健康狀態。今日就同大家分享幾個實用嘅 Linux 指令,等你可以喺問題發生之前就察覺到。

## 點解要主動檢查硬碟健康狀態

硬碟係伺服器入面最易壞嘅零件之一。根據 Backblaze 嘅統計,傳統機械硬碟(HDD)每年故障率大約 1% 到 2%,而 SSD 雖然冇機械結構,但都有寫入壽命限制。如果等到硬碟真係壞咗先發現,輕則服務中斷,重則數據全失。所以定期檢查硬碟健康狀態,係每個系統管理員嘅基本功。

## 用 smartctl 檢查硬碟健康狀態

`smartctl` 係最常用嘅工具,佢可以讀取硬碟嘅 S.M.A.R.T. 數據。首先安裝佢:

sudo apt install smartmontools

安裝完之後,用以下指令睇下硬碟嘅整體健康狀態:

sudo smartctl -H /dev/sda

如果輸出顯示 `PASSED`,代表硬碟暫時健康;如果顯示 `FAILED`,就要即刻備份數據同準備換碟。

## 睇詳細 S.M.A.R.T. 屬性

想睇更詳細嘅數據,可以用:

sudo smartctl -a /dev/sda

呢個指令會列出所有 S.M.A.R.T. 屬性,包括温度、壞軌數量、通電時間等等。要特別留意以下幾個屬性:

– **Reallocated_Sector_Ct**:重新分配嘅壞軌數量,數值持續上升代表硬碟開始老化
– **Current_Pending_Sector**:等待處理嘅可疑磁區,有數值就要警惕
– **Temperature_Celsius**:硬碟温度,超過 50 度就要注意散熱

## 用 badblocks 掃描壞軌

除咗 S.M.A.R.T.,仲可以用 `badblocks` 做一次完整嘅壞軌掃描:

sudo badblocks -v /dev/sda > badblocks.txt

呢個指令會逐個磁區測試,時間比較長,但可以揾出 S.M.A.R.T. 未必察覺到嘅問題。建議喺非繁忙時間先做。

## 定期自動化檢查

手動檢查好易漏,最好設定 cron job 定期執行。例如每個星期一朝早檢查一次:

0 6 * * 1 /usr/sbin/smartctl -H /dev/sda | grep -q FAILED && echo "硬碟異常" | mail -s "伺服器硬碟警告" admin@example.com

咁樣一有問題就會自動收到電郵通知,唔使成日手動去睇。

## 總結

🔗 參考資料:NVD NIST 漏洞資料庫

定期檢查硬碟健康狀態係保障伺服器穩定嘅重要一環。用 `smartctl` 睇 S.M.A.R.T. 數據、用 `badblocks` 掃描壞軌,再配合 cron job 自動化,就可以大大降低硬碟突然故障嘅風險。記住,數據無價,預防永遠好過補救。