LinkStation LS-QLシリーズの内蔵ハードディスクが壊れて、新しいHDDに入れ替えました。
壊れたハードディスクは捨てるのか?というと、再利用を検討した方がお得です。
古いハードディスクが寿命で壊れる時というのは「不良セクタ」が出来ていて、そこを読むときにリトライやエラーや遅延が発生します。
明らかに不良セクタが出来ているハードディスクに対しては、少し時間がかかりますが「low level formatする」ことがオススメです。
一方、不良セクタがあるかないか分からないハードディスクに対しては、S.M.A.R.T. というハードディスクの自己診断機能を使って調査しましょう。
SMARTを使えば、ハードディスクに不良セクタがあるかどうか?どのくらい寿命に近いか?が分かります。
本記事では、Linux上で使えるSMARTツール「smartctl」の使い方(オプション指定方法)、結果の見方について詳しく解説します。
Linux上でのSMART:smartctl
Linux上での S.M.A.R.T. ツールは「smartctl」あるいは「smartmontools」という名称で出て来る。
smartmontoolsがパッケージ名でsmartctlがコマンド名である。
つまり、この2つは同じものである。
smartctlコマンドのインストール
smartctlコマンドを使えるようにするには、以下のようにsmartmontoolというパッケージをインストールします。
# apt-get install smartmontools
これで、smartctlコマンドが使えるようになります。
smartctlの使い方:SMART情報の表示
では早速、smartctlコマンドを使って、SMART情報を表示してみましょう!
「-A」オプションを付けると、SMART情報を表示します。
# smartctl -A /dev/sdc
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.19.0-25-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
SMART Disabled. Use option -s with argument 'on' to enable it.
(override with '-T permissive' option)
#
表示されませんでしたが、英語で説明がされています。
SMART機能が「Disable」になっているようですので、「-s」オプションを使って「有効」にします。
# smartctl -s on /dev/sdc
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.19.0-25-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF ENABLE/DISABLE COMMANDS SECTION ===
SMART Enabled.
#
SMART機能がEnableになりました!
再度、smartctl -Aで、SMART情報を表示してみます。
# smartctl -A /dev/sdc
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.19.0-25-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org
=== 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 0x002f 200 200 051 Pre-fail Always - 0
3 Spin_Up_Time 0x0027 162 162 021 Pre-fail Always - 6883
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 81
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
7 Seek_Error_Rate 0x002e 100 253 000 Old_age Always - 0
9 Power_On_Hours 0x0032 024 024 000 Old_age Always - 56093
10 Spin_Retry_Count 0x0032 100 253 000 Old_age Always - 0
11 Calibration_Retry_Count 0x0032 100 253 000 Old_age Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 77
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 5
193 Load_Cycle_Count 0x0032 200 200 000 Old_age Always - 81
194 Temperature_Celsius 0x0022 126 084 000 Old_age Always - 24
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0030 200 200 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0008 200 199 000 Old_age Offline - 0
#
SMART情報が表示されました。
どこを見れば良いか、具体的に解説します。
smartctlの結果の見方
「5 Reallocated_Sector_Ct」の行で、現在の値は「200」で、ワースト値も「200」になっています。
更にスレッシュホールドつまり閾値は「140」となっています。
これは値が「140」を下回ると危険だと言っています。現在余裕の状況だと分かります。
しかも「200」というのは初期値っぽいですね。
「Reallocated_Sector_Ct」というのは日本語で言うと「不良セクタの再配置を行ったカウンター値」です。
恐らく「200」からカウントダウンされていく使い方と思われます。
全く使われていません。
つまり、不良セクタは無いという判定です。
手元にもう1本壊れたHDDがあったので同じようにsmartctlを使って診断してみましたが、同じような判定結果になりました。
smartctlの結果を別のコマンドで検証
smartctlの結果では「不良ブロック=0個」という判定になりましたが、元々smartctlは不良セクタ・不良ブロックを探すツールでは無いので、別のコマンドで不良ブロック捜索をしてみました。
# badblocks -s /dev/sdc6
badblocksは不良ブロックを表示してくれるコマンドです。
結果は・・・何も出ず。不良ブロックは本当にゼロでした。
もう1本の不具合HDDも同じ結果でした。
5年以上使っているハードディスクなのに、なんと優秀な!
その後、LinkStationに搭載されていた4本の古いHDD全てをsmartctlコマンドで診断してみました。
すると、不良セクタのReAllocateを行ったハードディスクは4本中1本だけで、残り3本は不良セクタ=0。つまり、つられて調子悪くなっていただけと分かりました。
当時の緑色のラベルの Western Digital のハードディスクが、いかにお買い得な商品だったかということが、分かります。
結構安かったんですよ。秋葉原で買ったのですが。
という訳で、安心してフォーマットをかけました。
# mkfs.xfs /dev/sdc6
# xfs_check /dev/sdc6
以上、ハードディスクの自己診断コマンドsmartctlと不良セクタに関する情報をお伝えしました!
Windows10にアップグレードしたら、LinkStationのHDDが壊れて立ち上がらなくなり、パソコンからLinuxの機能を駆使して完全復旧させた私の体験の一部始終を読みたい方は、以下の記事から進んで下さい。
コメント
Thanks for sharing!