1.3.2.3 ストレージの中断時の高いパフォーマンスの維持

Exadataは、複数のストレージ層およびキャッシュにわたってデータをインテリジェントに管理することで、高いパフォーマンスを実現するように設計されています。初期のExadataモデルは、パフォーマンスが高くレイテンシが短いフラッシュ・ストレージを備えています。その後のモデルは、永続メモリー(PMEM)またはExadata RDMAメモリー(XRMEM)を追加することで、さらに高いパフォーマンスと非常に短いレイテンシを実現します。通常の運用中、Exadataはストレージ層をインテリジェントに管理し、最も関連性の高いデータが、最も高いパフォーマンスと最も低いレイテンシでストレージの場所を使用するようにします。ただし、特別な機能により、イベントが計画的か計画外かに関係なく、ストレージの中断が発生した場合でも高パフォーマンスおよび低I/Oレイテンシを維持することもできます。

計画外のストレージ・イベントの最も一般的なタイプの1つは、フラッシュ・デバイスまたはハード・ディスクの障害です。これらの障害は、完全なハードウェア障害、障害予兆、制限など、様々な形で発生する可能性があります。その他の計画外ストレージ・イベントは、セルの再起動が発生するオペレーティング・システムのカーネル・クラッシュなど、様々なハードウェアまたはソフトウェア・コンポーネントの障害から発生する可能性があります。計画的なストレージ・イベントの最も一般的なタイプは、ストレージ・サーバー・ソフトウェアの更新です。ストレージ・サーバー・ソフトウェアの更新はローリング方式で実行され、1つのセルが更新されて再同期された後、次のセルに移動します。

どのようなストレージの中断であるとしても、I/Oレイテンシは主に次の2つの要因の影響を受けます。

  • 中断への対処に必要なシステム上の追加のI/O負荷。

  • 中断によって発生したキャッシュ・ミス。

Exadataは、次のような一連の測定を使用してこれらの影響に対処します。

ストレージの中断に関連付けられたI/O負荷の管理

  • ストレージ・イベントが発生すると、Exadataは適切なレスポンスを自動的にオーケストレーションして、データの冗長性を効率的に維持またはリストアします。Exadataでは、状況ごとに適切なアプローチを使用して、冗長性を維持するために必要なI/O負荷の影響を最小限に抑えます。

    • ハード・ドライブに障害が発生すると、ExadataはOracle ASMからディスクを自動的に削除します。このアクションにより、ASMリバランス操作が自動的にトリガーされ、ASMディスク・グループに冗長性がリストアされます。フラッシュ・ドライブに存在するASMディスクに障害が影響する場合も同様です。

    • ハード・ドライブのパフォーマンスの低下、または障害予兆の状態になった場合、Exadataには、ドライブを交換する前にディスクを事前に削除してリバランスを実行し、冗長性を維持するオプションが用意されています。

    • Exadata Smart Flash Cacheをライトバック・モードで使用している場合、Exadataでは、キャッシュの内容を記述するメタデータが自動的に維持されます。フラッシュ・ドライブの障害がキャッシュに影響を与えると、デバイスの交換後にExadataによってキャッシュが自動的に再移入されます。このプロセスは再同期化と呼ばれ、RDMAネットワーク・ファブリックを介した非常に効率的なセル間の直接データ転送を使用して、生存しているミラーから読み取ることでキャッシュが再移入されます。

    • ストレージが短期的な中断後にオンラインに戻ると、冗長性をリストアするための再同期操作を実行するように、ExadataがASMに自動的に指示します。再同期操作では、ストレージ・エクステントの変更を追跡するビットマップが使用されます。ソフトウェア更新やセルの再起動などの短期的な中断の場合、再同期は、変更されたデータのみをコピーして冗長性をリストアする非常に効率的な方法です。

  • ASMは、リバランスや再同期などの非同期操作に関連するI/Oに対して、ASM能力制限と呼ばれる抑制を提供します。ASM能力制限が高すぎる場合、ASM I/Oによってハード・ディスクが過負荷になり、I/Oレイテンシが長くなる可能性があります。高い制限では、ASMエクステント・ロックが増加し、データベースI/Oに影響する可能性があります。ただし、Exadataでは、デフォルト(および推奨)のASM能力制限設定が非常に低く、アプリケーションのI/Oレイテンシへの影響は最小限に抑えられます。この設定はExachkでも監視され、変動がExachkレポートに記載されます。

  • Exadata I/Oリソース管理(IORM)では、システムI/OとアプリケーションI/Oが区別され、アプリケーションI/Oにインテリジェントに優先順位が付けられます。たとえば、アプリケーションI/OはExadataキャッシュに優先的にアクセスしますが、ASMリバランスではハード・ディスクおよび未使用のキャッシュ領域にのみアクセスできます。

キャッシュ・ミスの最小化

  • 通常の操作の過程で、データベース・バッファ・キャッシュに読み取られたデータは、プライマリ・データ・コピーを含むセルのExadataキャッシュ(可用性に応じてフラッシュ・キャッシュ、PMEMキャッシュまたはXRMEMキャッシュのいずれか)にもロードされます。また、データは常にプライマリ・コピーから読み取られます(使用可能な場合)。

    ただし、プライマリ・コピーを使用できない場合は、セカンダリ・コピーを使用する必要があります。この可能性に備えるために、Exadataは、プライマリ・キャッシュの管理の一環として、セカンダリ・セルのフラッシュ・キャッシュにもデータをロードします。Exadataは、セカンダリ・キャッシュを事前にロードすることで、プライマリ・コピーが使用できずにセカンダリ・コピーを使用する必要がある場合に、最も重要なデータが引き続きキャッシュされているようにします。

    セカンダリ・データ・コピーも使用できず、データが高い冗長性(3方向ミラー化)で保護されている場合は、最後の手段として第3のデータ・コピーが使用されます。これは、二重障害の同時発生を必要とするまれなシナリオです。したがって、Exadataには、第3のデータ・コピーの事前キャッシュは用意されていません。

  • Exadataでは、セル間でデータを移動するときにキャッシュのコンテンツが保持されます。たとえば、セル1の一部のデータがフラッシュ・キャッシュにロードされ、そのデータがセル2に移動されると、データはセル2のフラッシュ・キャッシュにもロードされます。これにより、リバランス操作によって移動されたデータが移動前と同じ方法でキャッシュされます。

  • Exadataは、障害後のフラッシュ・キャッシュ・リカバリを迅速に処理します。プロセス障害の場合、Exadataはフラッシュ・キャッシュを再接続し、以前に移入されたデータで続行できます。システム障害後にフラッシュ・キャッシュを迅速に再構築するために、Exadataは、Oracle Exadata X7以降のシステムにあるM.2ソリッド・ステート・ドライブ(SSD)にフラッシュ・キャッシュ・メタデータを保持します。

  • たとえば、フラッシュ・ドライブやハード・ドライブの交換後など、新しいストレージ・デバイスが検出されると、Exadataは、新しいストレージを完全に有効にする前に、フラッシュ・キャッシュが適切にウォームアップされていることを確認します。これには、新しいストレージに関連付けられたフラッシュ・キャッシュ・ヒット率がシステムの他の部分と同様であることを確認するための広範なヘルス・チェックが含まれます。