Google Cloud で SAP ワークロードのホストエラーを管理する

このドキュメントでは、 Google Cloudでホスト ハードウェア エラーを検出し、SAP ワークロードを保護する方法について説明します。

Google Cloud は、ハードウェア障害の影響を受けません。複数のレイヤの冗長性がある場合でも、ハードウェア エラーが発生し、Compute Engine インスタンスが停止する可能性があります。

サーバー ハードウェアとそれに関連するコンポーネントには、障害が発生する可能性のある多くの部分があるため、ホスト ハードウェア エラーには複数の原因が考えられます。特にメモリ最適化マシンタイプには多数のメモリ モジュールがあるため、ハードウェア障害がメモリに関連している可能性が増します。メモリ関連の障害には、次の 2 種類があります。

  • 訂正可能なメモリエラー: これらのエラーは、誤り訂正符号(ECC)メモリなどの組み込みハードウェアとソフトウェアのメカニズムによって修正できるエラーです。このようなエラーは、ホストで実行されている Compute Engine インスタンスには影響しません。ハードウェアとソフトウェアのメカニズムによって透過的に処理されます。

  • 訂正不能なメモリエラー: 訂正できないエラーです。まれに発生し、ランダムで予測不可能です。影響を受けるメモリ領域にアクセスしようとすると、OS にシグナルが送信され、Compute Engine インスタンスが終了するか、マシンチェック例外(MCE)がインスタンスに渡されます。Compute Engine インスタンス上のアプリケーションが、影響を受ける修正不可能なメモリ領域からデータを読み取ろうとすると、アプリケーションはこのシグナルを使用して終了します。Compute Engine インスタンスの OS がこのシグナルを受信すると、デフォルトでは、OS は影響を受けるメモリページの再割り当てを防止して、それ以上の使用を回避します。

ホストエラーを検出する

ホストエラーを検出するには、次の事前定義された Compute Engine クエリを使用するログベースのアラート ポリシーを構成します。

クエリ / フィルタの名前 説明
Compute Engine ホストエラー (compute.instances.hostError) ホストエラーは、ハードウェア エラーが発生し、Compute Engine インスタンスを終了する必要があることを示します。
Compute Engine ホストメモリ アラート (compute.instances.hostEventNotify) ホストメモリ アラートは、メモリ モジュールに関連するハードウェア エラーのタイプを示します。このようなエラーは、時間の経過とともにコンポーネントが永続的に故障した場合や、高エネルギー粒子や宇宙線によって一時的なイベントが発生し、メモリページが安全に取得されなかった場合に発生する可能性があります。

ホストエラーから SAP ワークロードを保護する

SAP ワークロードをホストエラーから保護するには、次のことが推奨されます。

  • Compute Engine インスタンスに自動再起動が設定されていることを確認します。

    Compute Engine は、デフォルトですべてのインスタンスでこのオプションを有効にします。これをオフにしないことをおすすめします。

  • SAP HANA ワークロードと SAP NetWeaver ワークロードを単一インスタンス障害から保護するには、高可用性(HA)構成でデプロイします。

    詳細については、次のガイドをご覧ください。

  • SAP HANA プロセスの終了による SAP HANA ワークロードへの影響を防ぐには、SAP HANA HA/DR プロバイダ フックを実装し、SAP HANA 高速再起動オプションを有効にします。

    これらの方法については、すべての SAP HANA ガイドで SAP HANA シナリオのデプロイガイドをご覧ください。

  • M2、M3、M4 マシンタイプの Compute Engine ホストメモリアラートcompute.instances.host_event_notify)イベントによって検出されたメモリエラーから SAP HANA ワークロードを保護するには、次の操作を行います。

    • 修正できないエラーを VM で処理できない場合、自動再起動ポリシーにより VM が自動的に再起動されます。HA クラスタでは、セカンダリ ノードが自動的に引き継ぎを行います。その他の対応は必要ありません。

    • 訂正不能なメモリエラーが VM によって処理され、VM のクラッシュにつながらない場合は、次の操作を行います。

      1. 影響を受けるインスタンスが HA クラスタの現在のプライマリ ノードである場合は、クラスタ内のセカンダリ ノードへの手動フェイルオーバーを開始します。

      2. 影響を受けるインスタンスを停止して、ホストエラー イベントの影響を受けた仮想メモリページを解放します。

        これらのイベント中、Compute Engine は影響を受ける VM を正常なホストに自動的に移行しますが、一部のメモリページにはアクセスできない場合があります。SAP HANA ワークロードがメモリエラーが発生した後に影響を受けるメモリページを初めて読み取ろうとすると、ワークロードは失敗して終了します。インスタンスを停止すると、最初のハードウェア エラーから残っている可能性のある、影響を受ける仮想メモリページが解放されます。

      3. 影響を受けるインスタンスを起動します。

      影響を受ける VM を停止して起動できない場合、その VM で実行されているアプリケーションは、影響を受けるメモリページを読み取るまで動作を継続することがあります。この処理には数時間かかることがあります。影響を受ける VM をできるだけ早く再起動して、影響を受けるメモリページを解放します。