web-dev-qa-db-ja.com

RAIDストレージコントローラーを使用してサーバー上の故障したドライブを診断する方法は?

Dell PowerEdgeR210の1つに問題があります。マシンはCentos6を搭載しており、今日、システムログがハードドライブに障害が発生していることを通知し始めました。

 Jan 6 03:20:12 centos6カーネル:チャネル0 id0のLSIデバッグログ情報31080000 
 Jan 6 03:20:12 centos6カーネル:sd 0:1:0:0:[ sda]未処理のセンスコード
 1月6日03:20:12centos6カーネル:sd 0:1:0:0:[sda]結果:hostbyte =無効なdriverbyte = DRIVER_SENSE 
 1月6日03:20 :12 centos6カーネル:sd 0:1:0:0:[sda]センスキー:中エラー[現在] 
 1月6日03:20:12centos6カーネル:情報fld = 0x21a9055 
 1月6 03:20:12 centos6カーネル:sd 0:1:0:0:[sda]追加。センス:未回復の読み取りエラー
 1月6日03:20:12centos6カーネル:sd 0:1:0:0:[sda] CDB:読み取り(10):28 00 02 1a 90 20 00 00 38 00 
 Jan 6 03:22:17 centos6カーネル:mptbase:ioc0:LogInfo(0x31080000):Originator = {PL}、Code = {SATA NCQはエラー後にすべてのコマンドに失敗}、SubCode(0x0000)cb_idx mptscsih_io_done 
 Jan 6 03:22:17 centos6カーネル:チャネル0 id0のLSIデバッグログ情報31080000 
 Jan 6 03:22:17 centos6カーネル:mptbase:ioc0:LogInfo(0x31080000):Originator = {PL }、Code = {SATA NCQはエラー後にすべてのコマンドに失敗します}、SubCode(0x0000)cb_idx mptscsih_io_done 
 Jan 6 03:22:17 centos6カーネル:チャネル0 id 0 [.____のLSIデバッグログ情報31080000] Jan 6 03:22:17 centos6カーネル:mptbase:ioc0:LogInfo(0x31080000):Originator = {PL}、Code = {SATA NCQはエラー後にすべてのコマンドに失敗}、SubCode(0x0000)cb_idx mptscsih_io_done 
 1月6日03:22:17 centos6カーネル:チャネル0 id 0 
のLSIデバッグログ情報310800001月6日03:22:17centos6カーネル:mptbase:ioc0:LogInfo(0x31080000) :Originator = {PL}、Code = {SATA NCQはエラー後にすべてのコマンドに失敗}、SubCode(0x0000)cb_idx mptscsih_io_done 
 Jan 6 03:22:17 centos6カーネル:チャネル0 id0のLSIデバッグログ情報31080000 
 Jan 6 03:22:17 centos6カーネル:mptbase:ioc0:LogInfo(0x31080000):Originator = {PL}、Code = {SATA NCQはエラー後にすべてのコマンドに失敗}、SubCode(0x0000)cb_idx mptscsih_io_done 
 Jan 6 03:22:17 centos6カーネル:チャネル0 id 0 
 Jan 6 03:22:17 centos6カーネルのLSIデバッグログ情報31080000:sd 0:1:0:0:[sda]未処理のセンスコード
 1月6日03:22:17centos6カーネル:sd 0:1:0:0:[sda]結果:hostbyte = invalid driverbyte = DRIVER_SENSE 
 1月6日03:22:17 centos6カーネル:sd 0:1:0:0:[sda]センスキー:中エラー[現在] 
 1月6日03:22:17centos6カーネル:情報fld = 0x21a7d89 
 1月6日03 :22:17 centos6カーネル:sd 0:1:0:0:[sda]追加。センス:未回復の読み取りエラー
 1月6日03:22:17centos6カーネル:sd 0:1:0:0:[sda] CDB:読み取り(10):28 00 02 1a 7d 80 00 00 18 00 
 1月6日03:22:19centos6カーネル:sd 0:1:0:0:[sda]未処理のセンスコード
 1月6日03:22:19centos6カーネル:sd 0:1:0 :0:[sda]結果:hostbyte = invalid driverbyte = DRIVER_SENSE 
 Jan 6 03:22:19 centos6 kernel:sd 0:1:0:0:[sda] Sense Key:Medium Error [current] 
 Jan 6 03:22:19 centos6カーネル:情報fld = 0x21a7dc0 
 Jan 6 03:22:19 centos6カーネル:sd 0:1:0:0:[sda]追加。センス:未回復の読み取りエラー
 1月6日03:22:19centos6カーネル:sd 0:1:0:0:[sda] CDB:読み取り(10):28 00 02 1a 7d c0 00 00 80 00 
 1月6日03:28:05centos6カーネル:sd 0:1:0:0:[sda]未処理のセンスコード
 1月6日03:28:05centos6カーネル:sd 0:1:0 :0:[sda]結果:hostbyte = invalid driverbyte = DRIVER_SENSE 
 Jan 6 03:28:05 centos6 kernel:sd 0:1:0:0:[sda] Sense Key:Medium Error [current] 
 Jan 6 03:28:05 centos6カーネル:情報fld = 0x21a7d88 
 Jan 6 03:28:05 centos6カーネル:sd 0:1:0:0:[sda]追加。センス:未回復の読み取りエラー
 1月6日03:28:05centos6カーネル:sd 0:1:0:0:[sda] CDB:読み取り(10):28 00 02 1a 7d 88 00 00 08 00 
 1月6日03:28:09centos6カーネル:sd 0:1:0:0:[sda]未処理のセンスコード
 1月6日03:28:09centos6カーネル:sd 0:1:0 :0:[sda]結果:hostbyte = invalid driverbyte = DRIVER_SENSE 

ここで、このマシンにはRAIDコントローラーがあると仮定しますが、どのタイプのRAIDが構成されているか(存在する場合)はわかりません。

Lspciからの出力:

 01:00.0 SCSIストレージコントローラー:LSI Logic/Symbios Logic SAS1068E PCI-Express Fusion-MPT SAS(rev 08)

だからこれは私の質問です:Linuxコマンドラインから、マシンを再起動せずにその問題を診断する方法はありますか?システムレベルからは、RAIDで接続されているハードドライブではなく論理ドライブのみが表示されます。これは通常は良好ですが、RAIDがあるかどうか、どのハードドライブがこのRAIDのメンバーであり、どのハードドライブに障害が発生しているかを確認します。

EDIT1。今のところ、私はこのマシンにsshでしかアクセスできないので、これがsshを介してこの問題を診断できるかどうかを知りたい理由です。

2
B14D3

システムを再起動してメーカーのツールをインストールしたくない場合は、基本的に、マシンが完全に停止するまで頑固にここに座ります。
その時点では、何をしたいかは関係ありません。マシンはおそらく永久にダウンします。ハードドライブの交換とバックアップからの復元の一部として再起動する必要があるため、再起動について心配する必要はありません。 (あなた[〜#〜] do [〜#〜]バックアップがありますよね?).

レクチャーオーバー

製造元の診断ツールをインストールしたくない場合、残りの唯一のオプションは、物理的にマシンに近づき、赤(または黄色)の「障害」ライトが点滅しているドライブを探すことです。それを交換してください。
もちろん、これはRAID-1、RAID-5、RAID-6、または1台の故障したドライブを交換できる(そして1台の故障したドライブしかない)その他の構成を前提としています。このような構成になっていない場合、またはシステムのフォールトトレランスレベルよりも多くのドライブに障害が発生した場合は、「すべてのドライブを交換してバックアップから復元する」に戻ります。

あなたが立ち往生しているバックアップが不足している "MAKE BACKUPS、そしてあなたが必要なすべてを取得しなかった場合はデータ復旧を呼び出す会社とあなたができることを救うことを試みなさい」。

3
voretaq7

ディスクに中程度のエラーがあります。これは、読み取り不可能なデータがあることを意味します。 LSIログ情報(0x31080000)は、SATAがエラー回復を行う方法が原因で、後のIOが失敗したことを示しています。それ自体は問題ではありません。

あなたは悪いディスクを持っていて、あなたはすでにデータを失いました、あなたがRAIDを持っているなら、それもその仕事に失敗しました。ほとんどの場合、RAIDはまったくありませんが、lsscsiの出力を確認する必要があることを知るために、/ dev/sdaデバイスの製造元とモデルがわかります。ハードディスク(WD、Hitachi、Seagate)と表示されている場合は、HDDが1つ、LSIと表示されている場合はRAIDデバイスがあります。

いずれにせよ、RAIDデバイスであっても、基になる中エラーからの回復に失敗し、最後に中エラーを返したため、すでにデータが失われています。

この後どうしますか?

失ったファイルを見つけて、それらを1つずつ読み取ってみて(find、xargs、catはこれに適しています)、読み取れないファイルを確認する必要があります。それらをバックアップから持ってくる必要があります。

セクターを回復するには、セクターに再度書き込むだけで、現在のメディアエラーが修正されます。ファイルを削除するか、上書きするだけで、ファイルシステムが独自の時間にそれを実行します。

HDDを使用する価値があるかどうかを知るには、問題が繰り返されるか拡大するかを確認する必要があります。そのためにsmartctlを使用し、再割り当ての数を探します。月に1回以上増加している場合は、交換してください。

疑わしく、データが気になる場合は、ディスクを交換してください。中程度のエラーのあるディスクは、エラーのないディスクよりも不良である可能性が高くなります。

1
Baruch Even