SMART 測試做什麼以及它是如何工作的?
man smartctl
狀態(為簡潔起見):第一類,稱為“線上”測試。第二類測試稱為“離線”測試。通常,磁碟會在進行磁碟訪問時暫停離線測試,然後在磁碟空閒時自動恢復。第三類測試(也是唯一適合選擇“測試”這個詞的類別)是“自我”測試。
啟用或禁用 SMART 自動離線測試,它每四小時掃描一次驅動器以查找磁碟缺陷。該命令可以在系統正常執行期間發出。
誰執行試駕韌體?這些是什麼類型的測試——韌體是否讀/寫到磁碟——到底發生了什麼?在作業系統(linux)中呼叫測試是否安全,或者可以安排稍後進行測試 - 這是如何發生的 - 當您在 BIOS 提示符下重新啟動作業系統時(“離線測試”)?結果顯示在哪裡 - SMART 日誌?
驅動器韌體執行測試。
可以在例如 www.t13.org/Documents/UploadedDocuments/technical/e01137r0.pdf 中閱讀測試的詳細資訊,其中總結了短期和長期測試的要素:
一個電氣部分,驅動器在其中測試自己的電子設備。此部分中的特定測試是特定於供應商的,但作為範例:此部分可能包括諸如緩衝 RAM 測試、讀/寫電路測試和/或讀/寫磁頭元件測試之類的測試。
尋軌/伺服段,其中驅動器測試它在數據磁軌上查找和伺服的能力。此測試中使用的特定方法也是特定於供應商的。
讀取/驗證掃描段,其中驅動器執行磁碟表面某些部分的讀取掃描。掃描表面的數量和位置取決於完成時間限制,並且是特定於供應商的。
擴展自檢的標準與短自檢相同,但有兩個例外:擴展自檢的第 (3) 段應是對所有使用者數據區域的讀取/驗證掃描,並且沒有驅動器執行測試的最大時間限制。
在作業系統執行時執行無損測試是安全的,但可能會影響性能。正如
smartctl
手冊頁對-t short
and所說的那樣-t long
,該命令可以在正常系統操作中給出(除非在俘虜模式下執行)
如果您使用 呼叫強制模式
-C
,smartctl
則假定驅動器可能忙於不可用。這不應該在作業系統正在使用的驅動器上完成。正如手冊頁還暗示的那樣,離線測試(僅意味著定期後台測試)是不可靠的,並且從未正式成為 ATA 規範的一部分。相反,我從 cron 執行我的;這樣我就知道它們什麼時候應該發生,並且我可以在需要時阻止它。
- 結果可以在
smartctl
輸出中看到。這是一個正在執行的測試:[root@risby 圖片]# smartctl -a /dev/sdb smartctl 6.4 2015-06-04 r4109 [x86_64-linux-4.1.6-201.fc22.x86_64](本地建構) 版權所有 (C) 2002-15, Bruce Allen, Christian Franke, www.smartmontools.org [...] SMART 自檢日誌結構修訂號 1 Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error # 1 擴展離線完成,沒有錯誤 00% 20567 - # 2 擴展離線完成,沒有錯誤 00% 486 - SMART 選擇性自檢日誌資料結構修訂號 0 注意:版本號不是 1 表示從未執行過選擇性自檢 SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS 1 0 0 Self_test_in_progress [剩餘 90%] (0-65535) 2 0 0 未測試 3 0 0 未測試 4 0 0 未測試 5 0 0 未測試
請注意之前完成的兩項測試(分別在 486 和 20567 小時通電時)和目前正在執行的一項(完成 10%)。