USB HDD の SMART を確認する¶
テレビの録画に使用していた USB HDD がエラーを出すようになった。 テレビ本体は 2011年購入の東芝REGZAなのだが、備忘のために症状を詳しく記すと、
予約した録画が開始せず、クイックメニュー > お知らせ > 本機に関するお知らせに「録画機器の接続を確認できなかったため、録画予約を中止しました」というメッセージが追加される。
録画実行中に録画が停止し、クイックメニュー > お知らせ > 本機に関するお知らせに「録画機器にエラーが発生したため、録画予約を中止しました」というメッセージが追加される。
録画再生中に「この操作はできません」と一瞬表示されたあと、画面が真っ暗になる。
HDD のエラーと言うとまず不良セクタを疑う。 その場合は、録画再生で必ず同じ場所でエラーが出る筈だが、 今回の場合はそうではなく、エラーが出る場所がまちまちだったので、 その可能性は低いと思われた。
それよりも、電源や駆動系の劣化によってパフォーマンスが低下し、 スピンアップやヘッドシークが遅くなったりして、 リアルタイム処理に追いつかなくなってるような感じがした。
とは言え、こういう問題について「感じがした」なんていう 印象論を語っても意味はない。不良セクタの有無はディスクの SMART を確認すれば判るのだから、 HDD を PC に接続して実際に SMART を見てみることにした。
PC は FreeBSD 10.4R に pkg で smartmontools 6.6 をインストールしたもの。
HDD は BUFFALO DriveStation HD-LC3.0U3-BKC。確か2015年に購入。
まず、HDD の USB ケーブルを PC に挿した時にコンソールに表示されるメッセージは下記の通り。
ugen1.2: <BUFFALO HD-LCU3> at usbus1
umass0: <BUFFALO HD-LCU3, class 0/0, rev 2.10/1.00, addr 2> on usbus1
umass0: SCSI over Bulk-Only; quirks = 0xc101
umass0:6:0:-1: Attached to scbus6
da0 at umass-sim0 bus 0 scbus6 target 0 lun 0
da0: <BUFFALO External HDD 0000> Fixed Direct Access SCSI-3 device
da0: 40.000MB/s transfers
da0: 2861588MB (5860533168 512 byte sectors)
da0: quirks=0x2<NO_6_BYTE>
smartctl はデバイスの種類を自動的に推測する機能があるが、 この製品ではうまく推測できないようで、以下のような結果になる。
# smartctl -i /dev/da0
smartctl 6.6 2017-11-05 r4594 [FreeBSD 10.4-RELEASE-p8 amd64] (local build)
Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org
/dev/da0: Unknown USB bridge [0x0411:0x027e (0x100)]
Please specify device type with the -d option.
USB HDD は中身に SATA ドライブを使用していることが多いようなので、 -d sat を指定してみると、やはり正常にアクセスできるようになった。 (以下、smartctl の出力のコピーライト部分は省略)
# smartctl -i -d sat /dev/da0
=== START OF INFORMATION SECTION ===
Model Family: Toshiba 3.5" DT01ACA... Desktop HDD
Device Model: TOSHIBA DT01ACA300
Serial Number: 25PHEW5GS
LU WWN Device Id: 5 000039 ff4f14c2b
Firmware Version: MX6OABB0
User Capacity: 3,000,592,982,016 bytes [3.00 TB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: 7200 rpm
Form Factor: 3.5 inches
Device is: In smartctl database [for details use: -P show]
ATA Version is: ATA8-ACS T13/1699-D revision 4
SATA Version is: SATA 3.0, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is: Tue May 8 09:12:06 2018 JST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
中身は東芝製ドライブのようだ。SMART をサポートしているようなので、 まずはエラーログを見てみる。
# smartctl -d sat -l error /dev/da0
SMART Error Log Version: 1
No Errors Logged
エラーは出ていない。次に -A オプションで attribute を確認する。
# smartctl -d sat -A /dev/da0
=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000b 100 100 016 Pre-fail Always - 0
2 Throughput_Performance 0x0005 140 140 054 Pre-fail Offline - 67
3 Spin_Up_Time 0x0007 134 134 024 Pre-fail Always - 413 (Average 439)
4 Start_Stop_Count 0x0012 099 099 000 Old_age Always - 6336
5 Reallocated_Sector_Ct 0x0033 100 100 005 Pre-fail Always - 0
7 Seek_Error_Rate 0x000b 100 100 067 Pre-fail Always - 0
8 Seek_Time_Performance 0x0005 124 124 020 Pre-fail Offline - 33
9 Power_On_Hours 0x0012 099 099 000 Old_age Always - 7029
10 Spin_Retry_Count 0x0013 100 100 060 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 099 099 000 Old_age Always - 4844
192 Power-Off_Retract_Count 0x0032 095 095 000 Old_age Always - 6336
193 Load_Cycle_Count 0x0012 095 095 000 Old_age Always - 6336
194 Temperature_Celsius 0x0002 222 222 000 Old_age Always - 27 (Min/Max 3/62)
196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 0
197 Current_Pending_Sector 0x0022 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0008 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x000a 200 200 000 Old_age Always - 0
ID 5 や ID 196 から明らかなように、セクタの代替処理がまったく発生していない。 その他の項目も、これと言って悪いところはなさそうに見える。 やはりディスク自体はまあまあ健全で、少なくともデータロストの危険はなさそうだ。
念のため、SMART の自己テストを実行してみる。short テストは 1,2分、long テストは 6時間ちょっと掛かった。
# smartctl -d sat -l selftest /dev/da0
=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Extended offline Completed without error 00% 7035 -
# 2 Short offline Completed without error 00% 7029 -
やはりエラーなし。
となるとエラーの原因は、電源かUSBケーブルかインターフェイス部か、ということになるが、 これ以上の原因特定は難しそうなので(エラー自体の再現性が低いので)、 結局新しい USB HDD を購入して交換することにしたのであった。