DB2 10.5 for Linux, UNIX, and Windows

メディア障害の影響の緩和

メディア障害 とは、ハード・ディスク・ドライブなどのストレージ・デバイスの読み取り/書き込みインターフェースにおける障害によって生じたエラーです。このタイプの障害は検知して防ぐのが難しいことがあるため、障害が生じた場合に備えてその影響を軽減する措置を講じる必要があります。

メディア障害の発生率を緩和し、 またこの障害タイプからのリカバリー処理を簡単に実行できるようにするためには、以下の操作を実行します。
  • 重要なデータベースのデータおよびログが含まれているディスクについて、 ミラー処理を実行するか複製を作成する。
  • Redundant Array of Independent Disks (RAID) 構成、例えば RAID レベル 5 などを使用する。
  • パーティション・データベース環境では、カタログ・パーティションのデータおよびログの扱いに関して厳密な手順を設定する。 データベースの保守にはこのデータベース・パーティションが重要なので、以下の点を守ってください。
    • 必ず信頼できるディスクに常駐させる
    • 複製を作成する
    • バックアップを頻繁に取る
    • そこにユーザー・データは入れない

ディスク障害に対する保護

ディスクに障害が発生したためにデータまたはログが損傷を受ける危険性がある場合、 考慮するべきことは、 ディスク障害に対する何らかの許容度を持つ方策を講じておくことです。 通常は、これは、 ディスク・アレイ (ディスクのセット) を使用することで行われます。

ディスク・アレイは、単に RAID (Redundant Array of Independent Disks) と呼ばれることがあります。 ディスク・アレイはオペレーティング・システムまたはアプリケーション・レベルのソフトウェアによっても提供されています。 ハードウェア・ディスク・アレイとソフトウェア・ディスク・アレイの相違点は、 入出力 (I/O) 要求を CPU がどのように処理するかという点です。 ハードウェア・ディスク・アレイの場合、 ディスク・コントローラーが入出力アクティビティーを管理するのに対し、 ソフトウェア・ディスク・アレイの場合は、 オペレーティング・システムまたはアプリケーションにより実行されます。

ハードウェア・ディスク・アレイ

ハードウェア・ディスク・アレイでは、 ディスク・コントローラーにより複数のディスクが使用され管理されていて、 独自の CPU も備えています。 アレイを構成しているディスクの管理に必要なすべてのロジックはディスク・コントローラーに含まれています。 したがって、この実行はオペレーティング・システムから独立して行われます。

RAID アーキテクチャーには、機能とパフォーマンスが異なる複数の種類がありますが、 今日では通常 RAID レベル 1 とレベル 5 だけが使用されます。

RAID レベル 1 は、ディスクのミラーリングまたはデュプレキシングとも呼ばれます。 ディスク・ミラーリング は、 単一のディスク・コントローラーを使用し、 データ (完全なファイル) をあるディスクから別のディスクにコピーします。ディスク・デュプレキシング はディスク・ミラーリングと似ていますが、 ディスクは 2 番目のディスク・コントローラーにもアタッチされています (2 つの SCSI アダプターと同じ)。データの保護機能は良好です。 つまり、どちらのディスクに障害が発生しても、データは他のディスクからアクセス可能です。 ディスク・デュプレキシングでは、一方のディスク・コントローラーに障害が発生したとしても、データ保護が保たれます。 パフォーマンスは良好ですが、これをインプリメントすると通常の 2 倍のディスクが必要になります。

RAID レベル 5 は、 すべてのディスクのセクター単位のデータ・ストライピングおよびパリティー・ストライピングに関係しています。 パリティーは専用ドライブに保管される代わりに、データとインターリーブされます。 データの保護機能は良好です。ディスク障害が発生しても、 他のディスクからの情報およびストライプされたパリティー情報を使用してアクセス可能です。 読み取りパフォーマンスは良好ですが、書き込みパフォーマンスは良好ではありません。 RAID レベル 5 構成では、少なくとも 3 つの同一なディスクが必要です。 オーバーヘッドのために必要なディスク・スペースは、 アレイに含まれるディスク数により異なります。 5 つのディスクで構成される RAID レベル 5 構成の場合は、スペース・オーバーヘッドは 20% です。

RAID レベル 1+0 (10) では、少なくとも 2 つのディスク間でデータのミラーリングおよびストライピングが 行われます。ミラーリングによって、2 つ以上のディスクに同時にデータが書き込まれる ため、RAID レベル 1 と同等の耐障害性が得られます。 ストライピングによって、データがブロックに分割され、各ブロックは別々のディスク・ドライブに 書き込まれます。多数のチャネルおよびドライブに I/O 負荷が分散されるため、 高い I/O パフォーマンスが実現します。 ただし、RAID レベル 1+0 では、すべてのデータがミラーリングされるため、有効なディスク・スペース は半分に減ります。RAID レベル 10 を実装するには、最小 4 つのドライブが必須です。

RAID レベル 0+1 は、 セグメントが RAID 0 アレイであるミラーリングされたアレイとして 実装され、RAID レベル 5 と同等の耐障害性を備えます。 多数のチャネルおよびドライブに I/O 負荷を分散することによって、高い I/O 率が 得られます。RAID レベル 0+1 を RAID レベル 1+0 と 混同しないように注意してください。単一ドライブ障害が発生すると、アレイ全体は、 実質的に RAID レベル 0 アレイとなります。

RAID ディスク・アレイ (RAID レベル 0 ではない) を使用する場合、 ディスクに障害が発生してもアレイ上のデータにはアクセスできます。 常時交換可能または常時スワップ可能ディスクをアレイに使用すると、 アレイ使用中に交換ディスクを障害ディスクとスワップすることが可能です。 RAID レベル 5 の場合、2 つのディスクで同時に障害が発生すると、 すべてのデータは失われます (しかし、同時にディスク障害が発生する可能性はごくまれです)。

RAID レベル 1 ハードウェア・ディスク・アレイまたはソフトウェア・ディスク・アレイをログに使用できます。 これにより障害点までのリカバリーが可能であり、また書き込みパフォーマンスも高いので、これはログにとって重要なことです。 このために、mirrorlogpath 構成パラメーターを使用して、 RAID レベル 1 ファイル・システムのミラー・ログ・パスを指定します。 (ディスク障害発生後にただちにデータをリカバリーできるようにする必要があるため) 高信頼性が重要であるが、 書き込みパフォーマンスはそれほど重要でない場合は、 RAID レベル 5 ハードウェア・ディスク・アレイの使用を考慮してください。 あるいは、書き込みパフォーマンスが重要で、 追加ディスク・スペースによるコストが重要でない場合は、 データおよびログに RAID レベル 1 ハードウェア・ディスク・アレイを考慮してください。

使用可能な RAID レベルの詳細については、次の Web サイトにアクセスしてください。 http://www.acnc.com/04_01_00.html

ソフトウェア・ディスク・アレイ

ソフトウェア・ディスク・アレイはハードウェア・ディスク・アレイとほぼ同じ操作を実行しますが、 ディスク・トラフィックは、 オペレーティング・システムまたはサーバーの下で実行されるアプリケーション・プログラムのいずれかが管理します。 他のプログラムと同様、 ソフトウェア・アレイは CPU およびシステム・リソースを競合して獲得しなければなりません。 したがって、CPU に制約のあるシステムには適しておらず、 ディスク・アレイ全体のパフォーマンスがサーバーの CPU の負荷と容量に依存する点に注意する必要があります。

通常のソフトウェア・ディスク・アレイは、 ディスク・ミラーリングを実行します。 冗長性ディスクは必要ですが、高価なディスク・コントローラーは不要であるため、 ソフトウェア・ディスク・アレイは比較的低価格で実現可能です。

注意:
オペレーティング・システムのブート・ドライブをディスク・アレイに設定すると、 そのドライブに障害が発生した場合はシステムが始動しなくなります。 ディスク・アレイが実行される前にドライブに障害が発生すると、 ディスク・アレイは始動できないため、ドライブにアクセスすることはできません。 ブート・ドライブは、 ディスク・アレイから分離されていなければなりません。