13 Oracle RACとExadata
Oracle Real Application Clusters(RAC)とOracle Exadata Database Machineは両方とも高可用性を提供します。ただし、全面的にエンジニアリングされたシステムである、Exadataのみで、ローカル障害の場合のほぼゼロのブラウンアウト時間(0-10秒)が保証されています。
このドキュメントでは、Exadataの優れたHAパフォーマンスと、冗長インフラストラクチャ上のチューニングされたカスタムOracle RAC設定を対比しています。その卓越した可用性、堅牢なデータ保護、およびパフォーマンスを維持するサービス品質から、Exadataは、オンプレミスとクラウド内の両方で、MAA Platinum層でのミッションクリティカルなデータベース・ソリューションのための必須の前提条件となっています。Oracle RACでは優れた高可用性(HA)が提供されますが、Exadataでない構成では、様々なローカル障害の間に最長60秒のアプリケーション・ブラウンアウトが発生する可能性があります。
Exadataの独自の高可用性機能では、計画外停止(コンピュート、ネットワーク、ストレージ)とシームレスなインフラストラクチャ更新の間のアプリケーションへの影響が大幅に最小化されます。また、自動破損修復によるデータ整合性の向上が実現されます。重要な点は、Exadataでは、完全な障害の前であっても、パフォーマンスの低下やコンポーネントの機能低下といった"中間的な障害"が管理されるということです。この包括的なリジリエンスによって、MAAフレームワーク内の最適なデータベース・プラットフォームとしてExadataが強固になり、MAA Platinum層のその前提条件ステータスが正当化されます。
Oracle Exadataの全面的にエンジニアリングされた設計と、ハードウェア層とソフトウェア層にわたる深い統合により、それが、ミッションクリティカルなデータベース環境(具体的には、計画外停止/計画メンテナンス、データ保護およびサービス品質の分野)における高可用性のための優れた選択肢となります。Oracle RACでは堅牢な高可用性が提供されますが、Exadataでのみ、ローカル障害の間のアプリケーション・ブラウンアウトが最小限に抑えられてほぼゼロになります。Exadataでない構成の潜在的ブラウンアウトは数分になる可能性があります。
即時障害検出、スマート・キャッシュ、"中間的な障害"の予防的な管理、自動破損修復によるデータ保護の強化を含む、その包括的なリジリエンスにより、比類のないサービス・レベルと一貫したパフォーマンスが実現されます。これらの独自機能により、オンプレミスとクラウド内の両方で、MAA Platinum層とそれより上のデータベース・ソリューションのための必須の前提条件としてのExadataの地位が強固になり、最終的に、最高レベルの可用性とデータ整合性が提供されます。
各層でのExadataの高可用性
Exadataは、すべてのレイヤー、ハードウェアおよびソフトウェアで高可用性を実現するように設計されており、さらなるメリットを提供するスマート・ソフトウェアを備えています。
次の図は、Oracle Exadata Database Machineに組み込まれている高可用性機能を示しています。
- 余剰のデータベース・サーバー
- アクティブ-アクティブの高可用性のクラスタ化されたサーバー
- ホットスワップ対応の電源、ファンおよびフラッシュ・カード
- 余剰の電力配分装置
- 統合されたHAソフトウェア/ファームウェア・スタック
- 冗長ネットワーク
- 余剰の100Gbit/秒RoCEおよびスイッチ
- HAの結合されたネットワークを使用したクライアント・アクセス
- 統合されたHAソフトウェア/ファームウェア・スタック
- 余剰のストレージ・グリッド
- 複数のストレージ・サーバーにわたりミラー化されたデータ
- ホットスワップ対応の電源、ファン、M.2ドライブおよびフラッシュ・カード
- 余剰の非ブロッキングI/Oパス
- 統合されたHAソフトウェア/ファームウェア・スタック
ハードウェア、ソフトウェアおよびライフ・サイクルの最適化の完璧なペアリングは、組込みのMAAベスト・プラクティスと組み合せることで、Exadataを、最良のMAAデータベース・プラットフォームにします。すべてのExadataリリースが広範囲にテストされています。また、すべてのメジャーExadataリリースまたはExadataハードウェア世代には、HA低下がないこととその他すべてのHA機能が動作することを保証する、より厳格で長いMAAカオス・エンジニアリング検証が必要です。
アプリケーションのスループットとレスポンス時間が測定され、TPSまたはレスポンス時間のしきい値からの逸脱にはフラグが付けられアラートが示されます。MAAとExadataの開発では、構成とライフ・サイクルのベスト・プラクティスについて会合を毎週開き、重大な問題(Exachk、Oracleクラウド・アラートまたは別のアラート・メカニズムを通じてオラクルの貴重なExadataコミュニティに報告する必要がある)についても議論します。
高可用性に関する差別化要因
Exadataのみが、3層(コンピュート、ネットワークおよびストレージ)すべてに存在する次のおおまかな差別化要因により、最も厳しいOracle Real Application Clusters (RAC)システム・サービス・レベルをサポートするために適格となっています。
- 計画外停止と計画メンテナンス: Exadataにより、計画外停止(コンピュート、ネットワーク、ストレージ)と計画済インフラストラクチャ更新の両方の間のアプリケーションへの影響が大幅に最小化されます。数秒(1桁台)で計画外停止に対応し、アプリケーションへの影響なしで計画メンテナンスとソフトウェア更新が可能になります(多くの場合は完全にオンライン)。また、具体的に述べると、"中間的な障害"(パフォーマンスが低下しているコンポーネント)が、削除と修復によって管理されます。
- データ保護: Exadataにより、データ整合性の向上と、まれだが影響の大きいストレージ問題に対するリジリエンスが実現されます。破損が自動的に検出されて修復され、複数のストレージ・パートナ障害が対処されます(すべてアプリケーションへの影響はない)。Hardware Assisted Resilient Data (HARD)チェックと自動検出/修復メカニズムなどの機能が特に優れています。
- サービス品質(QoS): Exadataにより、計画外停止や計画メンテナンスの間であっても、アプリケーションが、短い待機時間および一貫したパフォーマンスを維持できるようになります。これは、インテリジェントにキャッシュし適切な層でのデータ移動を優先順位付けることと、問題のあるコンポーネントや停止を検出しI/Oを正常なパートナにすばやくリダイレクトする機能があることで実現されます。これには、ASMリバランスの自動チューニング、I/Oレイテンシ制限、スマート・フラッシュ・ログおよびI/Oリソース・マネージャ(IORM)が含まれます。
計画外停止と計画メンテナンスの機能
Exadataは、想定されていない障害の影響を軽減することと、中断のないシームレスな計画メンテナンスを可能にすることで、優れたデータベース可用性を実現するようにエンジニアリングされています。
効率化のために、このトピックでは、想定されていない停止とスケジュールされたメンテナンスの両方の間の高可用性に寄与する複数のExadata機能を、それらが共有しているメリットがあれば、グループにしています。停止時間を最小限に抑え継続的な運用を実現する主要機能について説明し、コンポーネント障害から定期的なシステム更新までのすべてが、重要なアプリケーションへの影響なしで、Exadataでどのようにインテリジェントに対処されるかを明らかにしています。
即時障害検出
Exadataでは、従来のTCPタイムアウトよりはるかに高速なRDMAを使用して、データベースおよびストレージ・サーバーでの障害が迅速に検出されます。この即時検出およびノード削除により、アプリケーションの"ハング"や破壊的ブラックアウトの発生が防止されています。
RoCEネットワーク・ポートの冗長性とモニタリング
ExadataのRoCEネットワーク・ポートは、アクティブ-アクティブ冗長性のために構成されており、ポートに障害が発生した場合やメンテナンスのためにオフラインになった場合でも継続的なクラスタおよびストレージ・トラフィックが確保されます。マルチポート・メンテナンスの間は、Exadataにより、複数のノードにわたりポートのアクティブ化が調整されて、アプリケーションの中断が防止されます。さらに、ExaPortMonによって、ポートのヘルスがアクティブにモニターされ、"問題のある"ポート(オンラインに見えるがトラフィックを渡していないポート)を自動的に停止してトラフィックを正常な代替にリダイレクトできます。
スマートなフラッシュおよびハード・ディスクの交換
フラッシュまたはハード・ディスクを交換した後、Exadataにより、正常なパートナ・ストレージ・セルからの読取りに一時的に優先順位を付けることで、I/Oがインテリジェントに管理されます。同時に、新しく交換したストレージ上で、フラッシュ・キャッシュがウォームアップされます。キャッシュが十分に移入されると、システムによって、交換したドライブが完全に再統合されて、プロセス全体でアプリケーションの一貫性と短いI/O待機時間が実現されます。
ストレージ・サーバー停止の場合のスマート・ハンドシェイク
計画メンテナンス(ストレージ・サーバーでのローリング・ソフトウェア更新など)の間に、Exadataにより、停止プロセスがデータベース・サーバーと同期されます。この"スマート・ハンドシェイク"により、アプリケーションへの影響を防ぎ、計画外停止が認識されないようにしています。
サービス不可LED
人的エラーによる予想外の停止を防ぐために、パートナ・ストレージ・コンポーネントがオフラインのときに、Exadataによって、ストレージ・サーバー上の"サービス不可" LEDが点灯します。この明確な視覚的インジケータにより、点灯したサーバーでメンテナンスを実施しないようにデータ・センターの担当者に警告し、システムの可用性を保護しています。
ホットスワップ対応のストレージ・コンポーネント
Exadataシステム内のすべてのストレージ・コンポーネント(ハード・ディスク、M.2ブート・ドライブおよびフラッシュ・ドライブを含む)は、システムの停止を必要とせず進行中の操作に影響を与えずに、オンラインで交換できます。
オペレーティング・システムのアップグレード
Exadataにより、Linuxオペレーティング・システムのメジャー・アップグレードが簡略化されて、アプリケーションへの影響や停止時間なしで、シームレスなそのまま使用できるエクスペリエンスが提供されます。
データベース・ノードのライブ・アップデート
Exadataシステム・ソフトウェアにより、データベース・ノードにあるオペレーティング・システム、ファームウェアおよびExadataソフトウェアのオンライン更新が可能になります。ライブ・アップデートにより、保留中の作業が、スケジュールされた時間まで延期されて、データベース・サービスの中断なしで最適かつセキュアな操作が実現されます。
ストレージとRoCEスイッチのローリング・ソフトウェア更新
ストレージ・サーバーとRoCEスイッチのソフトウェア更新は、Exadataシステム全体にわたりローリング方式で実行できます。これにより、Oracle Databaseの継続的な可用性に影響を与えずに、更新を順次適用できます。
データ保護の機能
データ整合性の維持は、ミッションクリティカルなデータベースにとって最も重要です。このトピックでは、データ破損とI/Oエラーを防止、検出および自動修復するように設計された、Exadataのデータ保護機能の包括的なスイートについて説明します。
ハードウェアレベルのチェックからインテリジェントなソフトウェア・メカニズムまで、Exadataによって、データの安全性、一貫性、継続的な可用性が確保されて、アプリケーション停止時間のリスクが最小限に抑えられ、最も価値のある資産が保護されます。
破損とI/Oエラー
Exadataでは、破損やI/Oエラーからデータを保護するための堅牢な機能が提供されます。そうでなければ、それらによって、アプリケーションとデータベースの可用性が損なわれる可能性があります。データ破損は、データベース・ブロックのコンテンツが想定外に変更された場合に発生し、物理的(書込みが不完全)か論理的(書込みが失われた)のどちらかです。I/Oエラーは、通常は、破損、または物理ストレージ・メディアを使用できないことによって発生します。Exadataは、これらの問題を軽減、検出、報告し、さらには排除する独自の機能を備えており、データ整合性と継続的な運用を確保します。
Hardware Assisted Resilient Data
Exadataにより、次のような重要なデータベース・ファイルの破損を防ぐためにHARDチェックが組み込まれます:
-
SPFILE
-
制御ファイル
-
REDOログ・ファイル
-
データファイル
-
Data Guard Brokerファイル
HARDチェックで破損が識別されると、その欠陥のあるデータは書き込まれなくなります。この機能は、DB_BLOCK_CHECKSUMパラメータが有効になっている場合はASMリバランス操作の間に自動的にアクティブになります。
自動検出と修復
Exadataのインテリジェントな設計により、データの破損がシームレスに防止および解決されます。書込み操作中にI/Oパス内のネットワーク・パケットが破損した場合は、ストレージ・セルによってその書込みがブロックされ、ASMによって自動的にその操作が再試行されます。これにより、アプリケーションがその破損の影響を受けないことが保証されます。データベース更新で既存の破損が検出された場合は、システムによって、ASMミラーから正しいデータが自動的に読み取られ、破損したコピーが修復されます。これらのアクションはすべて、データベースやユーザー・アプリケーションに影響を与えずに透過的に発生します。
物理スクラブ
Exadataストレージ・セルにより、アイドル期間中に継続的に"スクラブ"が実行されて、ディスク上のI/Oエラーが検出され自動修復されます。パフォーマンスへの影響を防ぐために、このスクラブは、スクラブ対象のディスクにアプリケーションがアクティブにアクセスしていることが検出されると、インテリジェントに速度低下します。
論理スクラブ
Exadataでは、論理的な破損を検出するためのツールが提供されます:
-
Exadata ASMシステムの場合は、ASMの
scrubコマンドで、ミラー化されたデータのコピーがすべて検証されます。 -
Exadata Exascaleシステムの場合は、
xsh scrubコマンドで、同様のチェックが実行されます。どちらのコマンドでも、ストレージ・ミラー間で検出された不一致が識別され報告されます。
ストレージ・サーバーのディスクの拘束
標準の予測的障害分析の域を超えて、Exadataでは、ディスクのパフォーマンスとヘルスが絶えずモニターされます。ディスクにパフォーマンス低下の兆候(障害の前兆の可能性)が見られると、それが"拘束"され、I/Oが、正常なミラー化されたコピーに自動的にリダイレクトされます。その後、ストレージ・サーバーによって包括的なヘルス・チェックが実行されます:
-
そのディスクが正常である場合は、それが稼働状態に戻り、データが再同期されます。
-
ディスクが正常でない場合は、それが自動的にオフラインになり、冗長性を維持するためにデータがリバランスされます。その後、正常でないディスクを安全に交換できます。この機能は、問題のあるドライブに予防的に対処することでデータを保護するのみでなく、パフォーマンスが低いストレージにアプリケーションがアクセスできないようにすることで、サービス品質の拡張機能の役割も果たします。
優先順位の再調整
ストレージ障害が発生し、データの冗長性に影響している場合、ASMのリバランス操作では、データを単にバランシングすることよりも、冗長性の復元が優先されます。重要な点は、冗長性回復においては、ASMで、最も重要なファイル(制御ファイルやオンラインREDOログ・ファイルなど)が最初に優先されるということです。これにより、最も重要なデータベース・コンポーネントで、可能なかぎり速く冗長性が確保されるようになります。
サービス品質(QoS)の機能
ミッションクリティカルなアプリケーションの場合、計画外停止、コンポーネントのパフォーマンスの低下(中間的な障害)、または計画メンテナンスの間であっても、一貫したパフォーマンスと短いレスポンス時間を維持することが重要です。Exadataでは、問題を積極的に検出し正常なコンポーネントに操作をインテリジェントにリダイレクトする、付加価値のある独自の機能が提供されて、一貫したアプリケーション・パフォーマンスが確保され、影響が最小限に抑えられます。
自動ASMリバランスのチューニング
Exadataにより、ASM (Automatic Storage Management)のリバランス操作の速度が動的に調整されます。これにより、システム・アクティビティが少ない期間にデータの冗長性が可能なかぎり速く取り戻され、一方で、システムがビジー状態になると自動的に速度が低下して、クライアントのI/O待機時間への悪影響が防止されます。
I/Oレイテンシ制限
ストレージ・システムのどこかの部分でI/O待機時間が長くなったときに、Exadataにより、I/Oリクエストを別の場所にインテリジェントにリダイレクトして処理を高速化できます。具体的に述べると、読取りI/Oは正常なパートナ・ストレージ・セルにリダイレクトされ、書込みI/Oは、プライマリ書込みパスが遅い場合は同じセル上のローカル・フラッシュ・ストレージに一時的にバッファされ、その後、永続ストレージに書き込まれます。
スマート・フラッシュ・ログ
REDOログ書込み待機時間の最適化は、OLTP (オンライン・トランザクション処理)データベースのパフォーマンスのために不可欠です。Exadataのスマート・フラッシュ・ログにより、REDOログをフラッシュ・キャッシュと専用のフラッシュ・ログ・デバイスの両方に同時に書き込むことで、書込み待機時間の外れ値がなくなります。その後、システムによって、最速のデバイスからその書込みが完了したことが認識されて、最大のコミット速度が実現されます。オンラインおよびスタンバイREDOログ書込みは、ライトバック・スマート・フラッシュ・キャッシュに自動的かつ透過的にキャッシュされます。従来のディスクではなくフラッシュを利用することでログ書込みのスループットが向上します。
スマートOLTPキャッシュ
Exadataでは、頻繁にアクセスされるデータ(ホット・データ)に対して多層キャッシュ戦略が採用されています。データベース・ライター(DBWR)でデータベース・バッファ・キャッシュからの領域の消去が必要な場合、データ・ブロックのプライマリ・ミラーは超低レイテンシのデータ・アクセラレータ(XRメモリー)に移動され、セカンダリ・ミラーはフラッシュ・キャッシュに格納され、第3のミラーはディスクに残ります。プライマリ・ミラーがあるストレージ・サーバーに障害が発生すると、I/Oは、セカンダリ・ミラーがあるセルに自動的にリダイレクトされ、そのデータは、そのフラッシュ・キャッシュから低レイテンシのデータ・アクセラレータに読み取られます。第3のミラーでは、引き続きデータ保護が提供されます。障害が発生したサーバーがオンラインに戻ると、そのフラッシュ・キャッシュが迅速にウォームアップされて、最適な読取りパフォーマンスが取り戻されます。
I/Oリソース管理(IORM)
IORMは、競合発生中にストレージ・サーバーのI/Oリソースを効果的に管理および優先順位付けする独自のExadata機能です。これにより、管理者が、データベース、プラガブル・データベース(PDB)、コンテナ・データベース(CDB)、非CDBおよびクラスタ名、ならびに用途(プライマリまたはスタンバイ)と優先度など、様々な基準に基づいてI/Oにタグ付けおよび優先順位付けするIORMプランを定義できるようになります。これは、統合環境で特に重要であり、包括的なワークロード管理のためにデータベース・リソース・マネージャと組み合せることができます。
RoCEネットワーク・レーンの優先順位付け
ExadataでのRDMA (リモート直接メモリー・アクセス)ネットワーク・ファブリックには、ログ・ライター(LGWR)プロセスからのものなど、重要なI/Oトラフィックのための専用の"高速" QoSレーンが含まれています。これにより、ネットワークの輻輳やその他のトラフィックによってトランザクションのコミット待機時間が引き延ばされることがなくなります。これは、トランザクションのレスポンス時間の短縮に直接寄与します。
リバランス・キャッシュ層の保持
ASMのリバランス操作の間に、Exadataにより、以前に高パフォーマンス・ストレージ層(XRメモリーやフラッシュ・キャッシュなど)にキャッシュされたデータが、宛先でもそれらの同じ層に残されるようになります。この継続性により、クライアント・アプリケーションが、そのリバランス・プロセス全体で必ず短いI/O待機時間になります。
ASMパートナ・フラッシュ読取り
1つのディスクまたは一連のディスクの状態が変化するときに(たとえば、障害が発生したディスクを交換する場合や、ローリング・ソフトウェア更新の間にディスクがオフライン/オンラインになる場合)、Exadataによって、パートナ・ストレージ・セルからのクライアントI/Oリクエストをインテリジェントに処理できます(これにより、待機時間がより短くなります)。具体的に述べると、交換したディスクのフラッシュ・キャッシュがウォームアップされた後であっても、Exadataによって、データのプライマリ・コピーがローカル・セルのフラッシュ・キャッシュにあるかどうかが検証されます。ない場合は、パートナ・セルのフラッシュ・キャッシュからそのデータが取得され、ローカル・キャッシュに移入されます。これは、ストレージ・イベントの間にアクティブなデータ・セットが変化するアプリケーションの場合に特に役立ち、一貫した短い待機時間が実現されます。
コミット時のRDMAブロードキャスト
Oracle Real Application Clusters (RAC)では、コミットでのブロードキャストのメカニズムのために、Exadata上のRDMAが活用されます。これにより、非常に短い待機時間のメッセージングが実現されて、トランザクションのレスポンス時間が短縮され、アプリケーションのスケーラビリティが向上します。
管理サービス
管理サービス(MS)は、Exadataストレージ・サーバーとデータベース・コンピュート・ノードの両方で実行され、広範なモニタリング機能とアラート機能を提供します。ハードウェア障害(ディスク障害など)に関するアラートを提供するのみでなく、過剰なCPU使用率、メモリー消費、スワッピングなど、オペレーティング・システム・リソースのオーバーサブスクリプションに関するアラートも提供し、予防的な問題解決を可能にします。
Exachk
Exachkは、顧客がExadataシステム上のOracle MAA (Maximum Availability Architecture)ベスト・プラクティスからの逸脱を識別し対処できるようにする、予防的なツールです。このような識別されたギャップを解決すると、システムの安定性が向上し、計画外停止と計画メンテナンスの両方について可用性の向上に寄与することになります。
