最近、Samba共有に問題のあるLinuxボックスを受け取りました。最初は接続できませんでした。2番目のls -la
はリストのないI/O error
(以下に表示されているものに近い)を示しました。
これで、ボックスが完全に更新されました。更新後、RAIDはOKで、すべてのデータにアクセスでき、Sambaは魅力のように機能しました。どうやら、私は以前のログを保存していませんでした。
さて、すべてがうまくいったとしても、時々これは私のjournalctl
に現れます:
kernel: ata4: EH complete
kernel: end_request: I/O error, dev sdc, sector 2839546656
kernel: cdb[0]=0x28: 28 00 a9 40 0b 20 00 00 f0 00
kernel: sd 3:0:0:0: [sdc] CDB:
kernel: ASC=0x47 ASCQ=0x0
kernel: sd 3:0:0:0: [sdc]
kernel: a9 40 0b a0
kernel: 72 0b 47 00 00 00 00 0c 00 0a 80 00 00 00 00 00
kernel: Descriptor sense data with sense descriptors (in hex):
kernel: Sense Key : 0xb [current] [descriptor]
kernel: sd 3:0:0:0: [sdc]
kernel: Result: hostbyte=0x00 driverbyte=0x08
kernel: sd 3:0:0:0: [sdc]
kernel: ata4.00: configured for UDMA/133
kernel: ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 330)
kernel: ata4: hard resetting link
kernel: ata4.00: error: { ICRC ABRT }
kernel: ata4.00: status: { DRDY ERR }
kernel: [145B blob data]
kernel: ata4.00: failed command: READ DMA EXT
kernel: ata4: SError: { UnrecovData 10B8B BadCRC }
kernel: ata4.00: BMDMA stat 0x26
kernel: ata4.00: exception Emask 0x10 SAct 0x0 SErr 0x280100 action 0x6
smartctl -t extended
(S.M.A.R.T。long(maximum)scan)は、すでに3回何も言っていません。
「すべてが機能する」とは、次のことを意味します。
// Read from drive, write to drive.
find > files.txt
// Another read->write.
du -bc > sizes.txt
// 100 GB random writer
dd if=/dev/urandom of=fillerd bs=512 count=209715200
ファイルは破損せず、完全に読み取り可能になります。
エラーは何を表していますか?心配する必要がありますか?どうすれば修正できますか?
顕著なログエントリは次のとおりです。
これらのログエントリは、PCとHDD間のSATAインターフェイスでエラーが発生していることを示しています。
SATAインターフェイスは、CRC、巡回冗長検査、コードを使用して検証されるデータ、コマンド、およびステータスレポート用のATAPIパケットを伝送します。ICRC ABRT
メッセージは、「インターフェイスCRCエラー」イベントと「コマンドが中止されました」を示します。その他のログエントリは、中止されたコマンドに関連する補助情報です。
セクターは弱いCRCではなくECCを使用して検証されるため、これはHDDのR/Wヘッドまたはプラッターに関連するエラーを報告していません。
これらのメッセージの詳細については、 このlibata wikiページ を参照してください。
"SATAドライブまたはチップセットがDRDYERRおよびICRCABRTをスローする" に関するこの同様の質問を参照してください。ここで、問題の原因は、HDDではなくSATAインターフェイスのホスト側にあります。
時折発生するSATAインターフェイスエラーは問題とは見なされないことに注意してください。
For SATA drives, occasional transmission problems are expected even on
otherwise pretty healthy systems. No need to worry about it too much
unless the problem repeats itself a lot.
これから引用 Linuxの投稿 。
smartctl -t extended(S.M.A.R.T。long(maximum)scan)は、すでに3回何も言っていません。
拡張S.M.A.R.T.テストは、ドライブに対してローカルで実行されるセルフテストであり、SATAインターフェイスにストレスを与えないようです。したがって、問題の解決には役立ちませんが、概念を強化します。問題はメディアではなくインターフェイスにあること。
ホストPCから実行されるディスク診断またはエクササイザーを探す必要があります。
拡張S.M.A.R.T.テストは明らかにすべてのセクターをエラーなしで読み取ることができるため、すべてのセクターを読み取り、そのセクターをに転送するほぼ同一のテストSATAバスを介したPCは次のとおりです。
dd if=/dev/sdc of=/dev/null
SATAインターフェイスのハードウェア障害の原因は次の3つです。
しかし、この問題のハードウェア障害に加えて、SATAエラーの原因としてLinuxカーネルが関係しているという報告があります。
ボトムライン
これらだけが表示されている場合はICRC ABRT
まれな「時々」レートでログにエントリがあれば、問題が発生しなくなっている可能性があります。おそらく、元の問題は、システムを更新したときに解消されたカーネルの問題が原因である可能性があります。
システムを使用してみて、熱心にバックアップしてください。
OSに関係なく、特定のHDDでこのような奇妙なことが起こり始めた後、ほぼ確実に今後数か月以内に壊れることに気づきます。可能であれば、HDDを新しいものと交換することをお勧めします。 HDDが壊れた場合のその他の症状は、コピーして移動できる使用できないファイルや、突然いくつかの癖があるプログラムです。
私のラップトップコンピュータの1つで、HDDが途中で出ていました。何が起こったのかというと、OSを正常に起動できましたが、1分前に正常に機能したアクションを実行すると、OSの最も奇妙なプロセスに関するエラーメッセージが突然表示され始めました。OSシステムファイルの1つが壊れているHDD。 HDDを交換した後、これは完全に停止し、システムは現在まで4年間正常に動作しています。
HDDのフル S.M.A.R.T。 スキャンを実行することもできます。それらはメーカーのウェブサイトから見つけることができます。 SeagateとWesternDigitalには少なくとも1つありますが、Linuxで利用できるかどうかはわかりません。フルスキャンでドライブの破損が明らかになり、POSTでのクイックスキャンでは検出されない場合があります。
編集:これはLinux用ですが、個人的な経験はありません: http://sourceforge.net/apps/trac/smartmontools/wiki
あなたのハードドライブはその途中です(スマートな結果にもかかわらず)。そのコントローラーである可能性がありますが、ハードドライブの可能性がはるかに高くなります。