PERCH700統合コントローラを搭載したDellサーバーがあります。 12台のハードドライブでRAID5を作成し、仮想デバイスは最適な状態ですが、Linuxでこのようなエラーが発生します。
sd 0:2:0:0: [sda] Unhandled error code
sd 0:2:0:0: [sda] Result: hostbyte=0x07 driverbyte=0x00
sd 0:2:0:0: [sda] CDB: cdb[0]=0x88: 88 00 00 00 00 07 22 50 bd 98 00 00 00 08 00 00
end_request: I/O error, dev sda, sector 30640487832
sd 0:2:0:0: [sda] Unhandled error code
sd 0:2:0:0: [sda] Result: hostbyte=0x07 driverbyte=0x00
sd 0:2:0:0: [sda] CDB: cdb[0]=0x88: 88 00 00 00 00 07 22 50 bd 98 00 00 00 08 00 00
end_request: I/O error, dev sda, sector 30640487832
sd 0:2:0:0: [sda] Unhandled error code
sd 0:2:0:0: [sda] Result: hostbyte=0x07 driverbyte=0x00
sd 0:2:0:0: [sda] CDB: cdb[0]=0x88: 88 00 00 00 00 07 22 50 bc e0 00 00 01 00 00 00
end_request: I/O error, dev sda, sector 30640487648
ただし、すべてのディスクはファームウェア状態です:オンライン、スピンアップ。
また、レイド内のどのディスクにもATAの読み取りまたは書き込みエラーは1つもありません(smartctl -a -d sat+megaraid,N -H /dev/sda
で確認します)。唯一の奇妙なことは、の出力にあります
megacli:
megacli -LDInfo -L0 -a0
...
Bad Blocks Exist: Yes
最適な状態にあり、ディスクが壊れていない、または単一のエラーが発生している仮想ドライブに不良ブロックが存在する可能性はありますか? 「整合性チェック」を試しましたが、正常に終了し、エラーはまだdmesgにあります。誰かが私の襲撃の何が悪いのかを理解するのを手伝ってくれませんか?
MegaCLIの「不良ブロックが存在します」インジケータは、次のように機能するソフト不良ブロック管理テーブルを参照します( MegaRaid docs からの引用):
CUは、再構築中にソースドライブでメディアエラーを検出すると、そのブロックのセクター読み取りを開始します。セクターの読み取りが失敗した場合、CUはSoft Bad Block Management(SBBM)テーブルにエントリを追加し、このテーブルをターゲットドライブに書き込み、エラーメッセージを表示します。
SBBMテーブルが80%または100%いっぱいになると、追加のエラーメッセージが表示されます。 SBBMテーブルが完全にいっぱいになると、再構築操作は中止され、ドライブはFAILとしてマークされます。
SBBMテーブルには、アクションの基準と方法が大きく異なるため、SMART)によって報告されたものと同じ「不良」マーキングは含まれません。
megacli -LDPDInfo -aAll
を使用して、どのドライブがエラーを報告しているかを確認し、詳しく調べてください。
最近この問題が発生しました。アレイに「BadBlocksExist:Yes」メッセージがありましたが、すべてのLDおよびPDで問題ありませんでした。そのアレイでの読み取り中にエラーが発生しました。
そのfkngテーブルをクリアするコマンド-LDBBMClr
を見つけました。
megacli -LDBBMClr -L0 -a0
(アダプタ/アレイに応じて番号を変更してください)
以前の読み取りエラーにより後で問題が発生する可能性があるため、ファイルシステムを再マウント(または再起動)することを忘れないでください。