この文書では、PERCコントローラーを搭載したPowerEdgeサーバーのHDD上の不良ブロック(パンクチャ)のトラブルシューティング手順について説明します。バックアップが可能でない場合は特に、次の情報が、影響を受ける仮想ドライブを最適な状態に戻すのに役立つ場合があります。
OpenManage Server Administrator(OMSA)が、仮想ディスクの前面に赤い十字を示しています(図1)。
図1: ステータスが赤い十字の仮想ディスク(例:H800)
Windowsシステム ログにBad Blockエラーが表示される(図2)。
図2:Windowsシステム ログでの不良ブロック エラーの表示
RAIDコントローラー ログ(TTYLOG)に、次のようなエラーが表示されます。
02/26/15 13:43:39: EVT#131878-02/26/15 13:43:39: 97=Puncturing bad block on PD XX(e0x20/s2) at 180ca4a1f
RAIDアレイもデータエラーの影響を受けます。 RAIDコントローラおよびハードドライブのファームウェアには、多くの種類のデータエラーを検知して、アレイ/ドライブに書き込む前に修正する機能が備わっています。 古いファームウェアを使用すると、最新のファームウェア バージョンで使用可能なエラー処理/エラー訂正機能がないため、アレイ/ドライブに誤ったデータが書き込まれる可能性があります。
データ エラーは、物理的な不良ブロックが原因で発生する可能性もあります。 たとえば、回転しているプラッタに読み取り/書き込みヘッドがぶつかった(ヘッドクラッシュした)ときに、不正ブロックが発生することがあります。 また、プラッタの特定箇所で、ビットを磁気的に保持する能力が徐々に劣化して、不正ブロックになることもあります。 プラッタの劣化により発生した不正ブロックは、正しく読み取りできることもあります。 このような不正ブロックは、間欠的に検知される場合があります。確実に検知するには、ドライブに対する拡張診断が必要です。
不正ブロック、つまり不正な論理ブロックアドレス(LBA)は、論理データエラーによって発生することもあります。 これは、書き込みの成功が報告されているにもかかわらず、データがドライブに不正確に書き込まれたときに発生します。 また、ドライブに正常に保存されているデータが意図せず変更されることがあります。 一例として「ビットフリップ」があります。これは、読み取り/書き込みヘッドがデータ上を通過したときや、近くの場所に書き込みが行われたときに、0と1で構成されるデータが別の値に変化することで発生します。 このような状況が発生すると、データの「コンシステンシー」が失われます。 特定ブロックのデータの値が元の値と異なっているので、データのチェックサムが一致しなくなる可能性があります。 物理LBAは正常であり、正常に書き込むことができますが、現在は誤ったデータを保持しているので、不良ブロックとして解釈されることがあります。
詳細については、「RAIDアレイにおける多重障害およびパンクチャ」に関する記事を参照してください。
検証済みのデータ バックアップをファイル レベルで作成します
障害の予測が表示されているすべての障害ドライブが交換されていることを確認します
仮想ディスクを削除して再作成します
VDの完全な初期化を実行します
新たに作成された仮想ディスクの整合性チェックを実行します
正常なVDにデータを復元できます
推奨事項:すべてのハード ディスクのファームウェアを最新バージョンにアップグレードします
OMSAには、不良ブロックの警告をクリアする機能があります。不良ブロックをクリアするには、次の手順をお勧めします。
[検証]オプションを選択して仮想ディスクのバックアップを実行すると、次の2つのシナリオが発生する可能性があります。
Patrol Read(OMSAの仮想ディスク タスク内)を実行し、システム イベント ログを確認して、新しい不良ブロックが検出されないことを確認します。不良ブロックがまだ存在している場合は、次のステップに進みます。そうでない場合は、条件がクリアされます。
これらの不良ブロックをクリアするには、[Clear Virtual Disk Bad Blocks]タスクを実行します。このタスクは、OMSA GUIで実行することも、以下のcliコマンドを使用することもできます:omconfig storage vdisk action=clearvdbadblocks controller=id vdisk=id
omreport storage controller
を選択してコントローラ ID を表示し、 omreport storage vdisk controller=ID
仮想ディスクの ID を表示します