smartctl 顯示磁碟狀態不佳的指示是什麼
當我們在磁碟上執行 smartctl -a 時,我們會得到很多輸出
指示磁碟壞或好的最終狀態是什麼?
smartctl -a /dev/sdb smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.10.0-327.el7.x86_64] (local build) Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Vendor: SEAGATE Product: ST2000NX0433 Revision: NS02 User Capacity: 2,000,398,934,016 bytes [2.00 TB] Logical block size: 512 bytes Formatted with type 2 protection Logical block provisioning type unreported, LBPME=0, LBPRZ=0 Rotation Rate: 7200 rpm Form Factor: 2.5 inches Logical Unit id: 0x5000c5009eaededf Serial number: W46064KW Device type: disk Transport protocol: SAS Local Time is: Thu Nov 22 10:38:35 2018 UTC SMART support is: Available - device has SMART capability. SMART support is: Enabled Temperature Warning: Disabled or Not Supported === START OF READ SMART DATA SECTION === SMART Health Status: OK Current Drive Temperature: 23 C Drive Trip Temperature: 60 C Manufactured in week 06 of year 2017 Specified cycle count over device lifetime: 10000 Accumulated start-stop cycles: 49 Specified load-unload count over device lifetime: 300000 Accumulated load-unload cycles: 550 Elements in grown defect list: 0 Vendor (Seagate) cache information Blocks sent to initiator = 1986603075 Blocks received from initiator = 2165723528 Blocks read from cache and sent to initiator = 1298028358 Number of read and write commands whose size <= segment size = 201615101 Number of read and write commands whose size > segment size = 0 Vendor (Seagate/Hitachi) factory information number of hours powered up = 12335.38 number of minutes until next internal SMART test = 26 Error counter log: Errors Corrected by Total Correction Gigabytes Total ECC rereads/ errors algorithm processed uncorrected fast | delayed rewrites corrected invocations [10^9 bytes] errors read: 26648753 0 0 26648753 0 83475.092 0 write: 0 0 2 2 2 135145.593 0 verify: 3914513941 0 0 3914513941 0 109628.879 0 Non-medium error count: 14 SMART Self-test log Num Test Status segment LifeTime LBA_first_err [SK ASC ASQ] Description number (hours) # 1 Background short Completed 96 2 - [- - -] Long (extended) Self Test duration: 20400 seconds [340.0 minutes]
劑量以下是好的指徵?
smartctl -a /dev/sda | grep Completed
或者
smartctl -a /dev/sda echo $?
整體健康狀況是
smartctl -a
解決全球問題的部分產出驅動器好還是壞?
最好的。在您引用的輸出中,該狀態在行中報告
SMART Health Status: OK
也可以通過使用, 而不是.
-H
選項單獨獲得(帶有一些標題) 。smartctl``-a
請注意,此評估並非來自 smartmontools,而是來自驅動器本身(請參閱 man page smartctl(8) on
-H
option),並且其含義相當粗略:請參閱Wikipedia的此引用:SMART 狀態不一定表示驅動器過去或現在的可靠性。如果驅動器已經發生災難性故障,則可能無法訪問 SMART 狀態。或者,如果驅動器過去曾遇到過問題,但感測器不再檢測到此類問題,則 SMART 狀態可能會根據製造商的程式提示驅動器現在正常。
和(同一來源):
通過檢查 SMART 屬性可以獲得有關驅動器健康狀況的更多詳細資訊。
整體健康狀態由 的退出狀態的第 3 位(從 0 開始計數)反映,該狀態
smartctl
在故障磁碟上設置。請參閱手冊頁smartctl(8)中的“返回值”部分。在執行之後
smartctl
,該位可以由 (Bash) 表達式評估,$(($? & 8))
如if [ $(($? & 8)) -eq 0 ]; then echo Good. else echo Bad. fi
請注意,如果設置了第 3 位,則表達式的
$(($? & 8))
計算結果為 8,而不是 1。對於一個健康的磁碟來說,退出狀態為零
smartctl
就足夠了(就 SMART 可以判斷而言),但作為一個條件,這可能是強的:此狀態的第 6 位反映了設備日誌中存在錯誤記錄,這也可能請參閱驅動器和主機之間的通信錯誤(讀取 DMA 錯誤)。我有幾個驅動器,它們的日誌從它們生命週期的最初幾個小時就在它們的日誌中顯示了這樣的錯誤,但是多年來我每天都使用這些驅動器而沒有任何問題。所以這個標準會給你很多誤報。當然,這是有爭議的,因為畢竟存在錯誤。無論如何,如果您想考慮除那一位(位 6)之外的所有位,您可以在測試中使用此表達式:
$(($? & 191))
.另一方面,標準
smartctl -a /dev/sda | grep Completed
您提到的驅動器的健康狀況並沒有說明,因為它只是報告自檢已完成,而沒有考慮其結果。