要說Linux用戶最不願意看到的事情,莫過於在毫無警告的情況下發現硬盤崩潰了。諸如RAID的備份和存儲技術可以在任何時候幫用戶恢復數據,但為預防硬件突然崩潰造成數據丟失所花費的代價卻是相當可觀的,特別是在用戶從來沒有提前考慮過在這些情況下的應對措施時。
為了避免遇到這種困境,用戶可以試用一款叫做smartmontools的軟件包程序,它通過使用自我監控(Self-Monitoring)、分析(Analysis)和報告(Reporting)三種技術(縮寫為S.M.A.R.T或SMART)來管理和監控存儲硬件。如今大部分的ATA/SATA、SCSI/SAS和固態硬盤都搭載內置的SMART系統。SMART的目的是監控硬盤的可靠性、預測磁盤故障和執行各種類型的磁盤自檢。smartmontools由smartctl和smartd兩部分工具程序組成,它們一起為Linux平台提供對磁盤退化和故障的高級警告。
這篇文章會描述Linux上smartmontools的安裝和配置方法。
由於smartmontools在大部分Linux發行版的基本軟件庫中都可用,所以安裝很方便。
首先,使用下面的命令列出和系統相連的硬盤:
輸出結果和下圖類似:
其中sdX代表分配給機器上對應硬盤上的設備名。
如果想要顯示出某個指定硬盤的信息(比如設備模式、S/N、固件版本、大小、ATA版本/修訂號、SMART功能的可用性和狀態),在運行smartctl命令時添加"--info"選項,並按如下所示指定硬盤的設備名。
在本例中,選擇/dev/sda。
盡管最開始可能不會注意到ATA(譯者注:硬盤接口技術)的版本信息,但當需要替換硬盤時它確實是最重要的因素之一。每一代ATA版本都保持向下兼容。例如,老的ATA-1或ATA-2設備可以正常工作在ATA-6和ATA-7接口上,但反過來就不行了。在設備版本和接口版本兩者不匹配的情況下,它們會按照兩者中版本較小的規范來運行。也就是說,在這種情況下,需要替換硬盤時,ATA-7硬盤是最安全的選擇。
可以通過這個命令來檢測某個硬盤的健康狀況:
在這個命令中,"-s on"標志開啟指定設備上的SMART功能。如果/dev/sda上已開啟SMART支持,那就省略它。
硬盤的SMART信息包含很多部分。其中,"READ SMART DATA"部分顯示出硬盤的整體健康狀況。
這個測試的結果是PASSED或FAILED。後者表示即將出現硬件故障,所以需要開始備份這塊磁盤上的重要數據!
下一個需要關注的地方是SMART屬性表,如下所示。
基本上,SMART屬性表列出了制造商在硬盤中定義好的屬性值,以及這些屬性相關的故障阈值。這個表由驅動固件自動生成和更新。
這時候你可能會想,“是的,smartctl看起來是個不錯的工具,但我更想知道如何避免手動運行的麻煩。”如果能夠以指定的間隔運行,同時又能通知我測試結果,那不是更好嗎?”
好消息是,這個功能已經有了。是smartd發揮作用的時候了!
更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2014-12/110580p2.htm