
数日前から、私の Seagate Momentus 7200.4 は、停電のせいか、ますます故障するようになりました。「警告: ハード ドライブが故障しています」(私は fedora を使用しています) の後、主な症状は速度低下でした。CPU 使用率が 100 % のまま何時間も待機し、ほとんど何もできません。バックアップを取り、再起動して e2fsck -y (大量の出力) を実行する必要がありましたが、後でこれを繰り返す必要がありました (ある時点で起動すらしませんでした。カーネル パニック)。smartctl テストを長短いくつか実行し、セクター修正などのために一晩放置しました。
今では、蓄積されるエラーの数は減っているようで、コンピューターはほぼ使用可能ですが、どうすればよいでしょうか。より効果的な fsck コマンドはありますか。または、hdparm を使用してセクターを 1 つずつ修正する以外に、不良セクターをスキップして機能し続ける他の方法はありますか。それとも、ドライブは確実に破棄されるのでしょうか。
smartctl -x /dev/sda からの抜粋:
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAGS VALUE WORST THRESH FAIL RAW_VALUE
1 Raw_Read_Error_Rate POSR-- 085 074 006 - 243348742
5 Reallocated_Sector_Ct PO--CK 100 100 036 - 0
7 Seek_Error_Rate POSR-- 084 060 030 - 238612361
9 Power_On_Hours -O--CK 087 087 000 - 11535
198 Offline_Uncorrectable ----C- 100 100 000 - 8
199 UDMA_CRC_Error_Count -OSRCK 200 200 000 - 0
240 Head_Flying_Hours ------ 100 253 000 - 132680129719553
241 Total_LBAs_Written ------ 100 253 000 - 2525013242
242 Total_LBAs_Read ------ 100 253 000 - 2162196433
Error 3759 [18] occurred at disk power-on lifetime: 11535 hours (480 days + 15 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER -- ST COUNT LBA_48 LH LM LL DV DC
-- -- -- == -- == == == -- -- -- -- --
40 -- 51 00 00 00 22 7e 00 3d 2a 00 00 Error: UNC at LBA = 0x227e003d2a = 148142832938
Commands leading to the command that caused the error were:
CR FEATR COUNT LBA_48 LH LM LL DV DC Powered_Up_Time Command/Feature_Name
-- == -- == -- == == == -- -- -- -- -- --------------- --------------------
60 00 00 00 08 00 22 7e 00 3d 28 40 00 18:38:24.892 READ FPDMA QUEUED
27 00 00 00 00 00 00 00 00 00 00 e0 00 18:38:24.891 READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
ec 00 00 00 00 00 00 00 00 00 00 a0 00 18:38:24.889 IDENTIFY DEVICE
ef 00 03 00 46 00 00 00 00 00 00 a0 00 18:38:24.889 SET FEATURES [Set transfer mode]
27 00 00 00 00 00 00 00 00 00 00 e0 00 18:38:24.889 READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
SMART Extended Self-test Log Version: 1 (1 sectors)
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Extended offline Completed: read failure 90% 11528 574443398
もっと: http://p.defau.lt/?DTSGCmr7mb_anDD3IQ9Bgg http://p.defau.lt/?hNM7_BusGyz4DYLi9XX0Kg http://p.defau.lt/?wQArANAXPLnpyD87xUY6CA http://p.defau.lt/?hXbtLh27yFZhySu0y9axJw
アップデート: ディスクはすでに破棄されているとおっしゃったので、dmesg | grep -oE "sector.+$" | sort -u を実行し、sudo hdparm --write-sector --yes-i-know-what-i-am-doing を 12 個のセクターに対して実行しました。次に別のテストを実行して、結果を見てみましょう。
アップデート2:hdparmを使って手動で不良セクタをいくつか修正する必要がありましたしかし、一晩経って、システム ログで見つかったすべてのエラーが、通常どおり正常に自動修正されたようです。その間、テクノ ミュージックのような歪んだ音や grep の異常など、おかしなエラーに遭遇しましたが、yum の更新で修復できたかもしれません。最後の smartctl -a /dev/sda はエラーなしで完了しました。現在、「ATA エラー数: 5004」、197 Current_Pending_Sector が 2、198 Offline_Uncorrectable が 1 になっています。
アップデート3: システムはほぼ使用可能ですが、問題は解決しません: 「ATA エラー数: 9484」。 hdparm トリックを使わなければならないこともありますが、問題は後続のセクターで発生するため、正しく機能していないと思われます。 Offline_Uncorrectable は増加していないため、ディスクが不良セクターを非アクティブ化できないのではないかと思われます。 諦めて新しいディスクを購入するしかないようです...
答え1
すべてのデータがバックアップされているでしょうか?
そうでない場合は、できるだけ早く、少なくとも古いディスクと同じ大きさの新しいディスクを入手し、ローカル バックアップを開始してください。
私の経験では、ディスクは早めに交換する方がはるかに簡単です。
しかし、お金に余裕があるなら、スピンライトそれをディスク上で実行します。数日、極端な場合には数週間かかることもあります。常にディスクを復旧できるわけではありませんが、驚くほど頻繁に復旧できます。実際、ディスクを危機から定期的に復旧します。私はすでに数台のラップトップを復旧させました。あるケースでは、ディスクを 12 か月以上経ってもまだ使用できる状態に復旧しました。別のケースでは、ほとんどのデータを復旧し、よりゆっくりと再構築できるようになりました。ただし、約 90 ドルなので安くはありません。エラーがマシンの電源の瞬断によって発生した場合は、Spinrite で問題なく修復できる可能性があります。そうでない場合は、状況がどの程度悪いかを示し、別のディスクにコピーするのに十分な時間を稼いでくれるかもしれません。
ちなみに、不良セクターはディスクのファームウェアによって自動的にマークされるはずなので、いじってはいけません。興味深いことに、Spinrite がディスクに実行するテストでは、ディスクの故障ではなくヘッドの動きの不一致によってマークされた可能性がある不良セクターが頻繁にリセットされます。
ちなみに、多くの研究者が発見したように、SMART 警告はディスク障害の適切な予測ではないため、ほとんど役に立ちません。Google はこの件に関して大規模な調査を行いました。