一、先通過linux服務器通過smart 檢測你的硬盤和磁盤陣列.
硬盤的狀況:
smartctl -i /dev/sda
硬盤的健康狀況:
smartctl -H /dev/sda
注意
result後邊的結果:PASSED,這表示硬盤健康狀態良好
如果這裏顯示Failure,那麼最好立刻給服務器更換硬盤
SMART只能報告磁盤已經不再健康,但是報警後還能繼續運行多久是不確定的
通常,SMART報警參數是有預留的,磁盤報警後,不會當場壞掉,一般能堅持一段時間
有的硬盤SMART報警後還繼續跑了好幾年,有的硬盤SMART報錯後幾天就壞了
但是一旦出現報警,僥倖心裏是萬萬不能的……
執行如下命令可以看到詳細的參數:
smartctl -A /dev/hdb
輸出完整結果:
smartctl -a /dev/hdb
定期登錄到服務器上運行smartctl是比較麻煩的,linux提供了系統進程smartd
編輯配置文件:
vi /etc/smartd.conf
這個配置文件中大部分可能是註釋掉的說明,只需要和當前硬盤相關的一行寫入正確即可:
/dev/hdb -H -m [email protected]
上邊的配置表示smartd以靜默狀態工作,當SMART中報告PASSED的時候不理睬
一旦出現Failure,立刻用郵件通知用戶指定的郵箱
修改配置後重啓服務:
/etc/init.d/smartd
即可完成對SMART的全部配置。
二、我們還可以通過hdparm 測試硬盤讀寫速度的方法
測試各硬盤讀取速度判斷硬盤故障
在服務端命令窗口中執行如下命令
hdparm -t /dev/hda (IDE硬盤)
hdparm -t /dev/sda (SATA、SCSI、硬RAID卡陣列)
hdparm -t /dev/md0 (軟RAID設備)
測試結果在空載情況下應 >40M/s ,在負載情況下平均應 > 20M/s 爲正常,如測試結果極低則需要進一步使用硬盤專用檢測工具測試是否爲硬盤故障。
參 數:
-a<快取分區> 設定讀取文件時,預先存入塊區的分區數,若不加上<快取分區>選項,則顯示目前的設定。
-A<0或1> 啓動或關閉讀取文件時的快取功能。
-c 設定IDE32位I/O模式。
-C 檢測IDE硬盤的電源管理模式。
-d<0或1> 設定磁盤的DMA模式。
-f 將內存緩衝區的數據寫入硬盤,並清楚緩衝區。
-g 顯示硬盤的磁軌,磁頭,磁區等參數。
-h 顯示幫助。
-i 顯示硬盤的硬件規格信息,這些信息是在開機時由硬盤本身所提供。
-I 直接讀取硬盤所提供的硬件規格信息。
-k<0或1> 重設硬盤時,保留-dmu參數的設定。
-K<0或1> 重設硬盤時,保留-APSWXZ參數的設定。
-m<磁區數> 設定硬盤多重分區存取的分區數。
-n<0或1> 忽略硬盤寫入時所發生的錯誤。
-p 設定硬盤的PIO模式。
-P<磁區數> 設定硬盤內部快取的分區數。
-q 在執行後續的參數時,不在屏幕上顯示任何信息。
-r<0或1> 設定硬盤的讀寫模式。
-S<時間> 設定硬盤進入省電模式前的等待時間。
-t 評估硬盤的讀取效率。
-T 平谷硬盤快取的讀取效率。
-u<0或1> 在硬盤存取時,允許其他中斷要求同時執行。
-v 顯示硬盤的相關設定。
-W<0或1> 設定硬盤的寫入快取。
-X<傳輸模式> 設定硬盤的傳輸模式。
-y 使IDE硬盤進入省電模式。
-Y 使IDE硬盤進入睡眠模式。
-Z 關閉某些Seagate硬盤的自動省電功能。