
# 用 Linux 指令快速檢查伺服器硬碟健康狀態
做 IT 嘅朋友,最怕就係半夜收到電話話「部機死咗」。其實好多時硬碟出事之前,系統一早已經有警號,只係我哋冇去睇。今日就同大家分享幾個 Linux 指令,等你可以喺硬碟真係壞之前,及早發現問題。
## 點解要定期檢查硬碟健康狀態
硬碟(Hard Disk)同 SSD 都係有壽命嘅。傳統 HDD 靠磁頭讀寫,用耐咗會出現壞軌(Bad Sector);SSD 就受寫入次數限制,寫到某個程度就會開始退化。如果唔理佢,輕則資料損毀,重則成部伺服器死機。
所以定期檢查硬碟健康狀態,係每個系統管理員嘅基本功。以下幾個指令,全部係 Linux 內置或者好易裝,唔使錢。
## 用 smartctl 檢查 S.M.A.R.T. 數據
S.M.A.R.T.(Self-Monitoring, Analysis and Reporting Technology)係硬碟內置嘅自我監測技術,可以睇到溫度、壞軌數、通電時間等資訊。
首先安裝 smartmontools:
sudo apt install smartmontools
然後用 smartctl 檢查硬碟:
# 睇硬碟基本資訊
sudo smartctl -i /dev/sda
# 睇完整健康報告
sudo smartctl -a /dev/sda
# 快速健康測試
sudo smartctl -t short /dev/sda
最緊要睇嘅係 `SMART overall-health self-assessment test result` 呢一行,如果顯示 `PASSED` 就代表暫時健康,如果係 `FAILED` 就要即刻備份同換碟。
## 用 lsblk 睇硬碟掛載情況
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,MODEL
呢個指令可以一次過睇晒所有硬碟嘅型號、容量同掛載位置,方便你確認邊隻碟係邊個用途。
## 用 df 檢查磁碟空間
df -h
硬碟滿咗都會影響效能,甚至令服務停止。建議定期睇下 `/` 同 `/var` 有冇爆滿。
## 用 dmesg 睇硬碟錯誤訊息
sudo dmesg | grep -i -E "error|fail|sda"
如果硬碟開始出問題,內核(Kernel)通常會喺 dmesg 記錄 I/O error。見到呢啲訊息就要提高警覺。
## 總結
定期檢查硬碟健康狀態,係防止資料災難嘅第一道防線。建議每個禮拜跑一次 smartctl 短測試,每個月跑一次長測試,再配合監控工具自動報警,咁就萬無一失。
🔗 參考資料:NVD NIST 漏洞資料庫
記住:硬碟唔會突然壞,佢係慢慢壞,只係你冇去睇。



