既知の問題

このページでは、Google Cloud 上の SAP の使用中に発生する可能性がある既知の問題について説明します。このページには、Cloud カスタマーケア チームの SAP スペシャリストが注目した問題のみが記載されています。

SAP システムに影響を与える可能性のあるその他の問題は、他の Google Cloud プロダクトやサービスのドキュメントに記載されている場合があります。たとえば、Compute Engine VM、永続ディスク、または OS イメージに関連する問題は、Compute Engine の既知の問題のページに記載されています。

デフォルトのフェンシング方法の変更により RHEL 8.4 でフェンシング タイムアウトが発生することがある

RHEL 8.4 でフェンス エージェント fence-agents-gce バージョン 4.2.1-654.2.1-69 を使用している場合、フェンシング タイムアウトが発生することがあります。

フェンス エージェント fence-agents-gce のバージョン 4.2.1-654.2.1-69 は、デフォルトのフェンシング メソッド cycle を定義しません。そのため、デフォルトのフェンシング メソッドは onoff メソッドにフォールバックします。これにより、フェンシング エージェントは、reset API を 1 回呼び出すのではなく、stop API と start API を呼び出します。そのため、フェンシング プロセスは API へのアクセスに時間がかかり、フェンシング タイムアウトが発生する可能性があります。

解決策

この問題を解決するには、次のことをお試しください。

  • 次のコマンドを使用して、デフォルトのフェンシング メソッドを cycle に変更します。

    pcs resource update <STONITH_device_name> method=cycle
    
  • fence-agents-gce のバージョンが 4.2.1-70 以降であることを確認します。

    • フェンス エージェントのバージョンを確認するには、次のコマンドを実行します。
    yum info fence-agents-gce
    
    • フェンス エージェントを更新するには、次のコマンドを実行します。
    yum --releasever=8.6 update fence-agents-gce
    

Cloud Storage の StorageException により Backint エージェントのバックアップが破損する可能性がある

特定の条件下では、Cloud Storage Backint agent for SAP HANA が Cloud Storage にバックアップを保存する際に StorageException が発生すると、Backint エージェントによってバックアップ ファイルに重複データが追加され、バックアップ ファイルから復元できなくなる可能性があります。

重複データを含むバックアップ ファイルからデータベースを復元しようとすると、次のエラーが発生します。

  exception 3020043: Wrong checksum

影響を受けるユーザー

Cloud Storage へのバックアップ保存に Cloud Storage Backint agent for SAP HANA を使用しているユーザー

解決策

この問題を解決するには、バージョン 1.0.13 以降の Backint エージェントをインストールしてから、Backint エージェント ログで StorageException エラーの影響を受けていないかどうかを確認します。

Backint エージェントのアップグレード方法については、Backint エージェントを新しいバージョンに更新するをご覧ください。

この問題の影響を確認するには、Backint エージェント ログを調べます。

  1. SAP HANA ホストの sidadm ユーザーとして、ログで StorageException メッセージを検索します。

    grep 'com.google.cloud.storage.StorageException' \
     /usr/sap/$SAPSYSTEMNAME/SYS/global/hdb/opt/backint/backint-gcs/logs/*.log.*
    
  2. エラー メッセージが見つかったら、関連するバックアップのステータスを確認します。

    $ hdbbackupcheck -e <var>EBID</var> --backintParamFile /usr/sap/$SAPSYSTEMNAME/SYS/global/hdb/opt/backint/backint-gcs/parameters.txt /usr/sap/$SAPSYSTEMNAME/SYS/global/hdb/backint/DB_$SAPSYSTEMNAME/<var>BACKUP_FILE_NAME</var>
    

    この例では、プレースホルダ値を次のように置き換えます。

    • EBID は、バックアップの外部バックアップ ID に置き換えます。
    • BACKUP_FILE_NAME は、バックアップ ファイルのファイル名に置き換えます。

    checksum エラーが表示された場合は、Cloud カスタマーケアにお問い合わせください。

上記のチェックに加え、通常のバックアップ プロセスに以下の手順を組み込み、定期的に行ってください。バックアップが必要になる前に、この問題やその他の問題を検出できます。

  • SAP 推奨のベスト プラクティスに従って、バックアップに SAP hdbbackupcheck ツールを定期的に実行し、論理的な整合性を検証します。詳細については、SAP Note 1869119 をご覧ください。
  • 障害復旧手順を定期的にテストします。

Python エラーにより SAP HANA スケールアウト デプロイが失敗する

ホストの自動フェイルオーバーを備えた SAP HANA スケールアウト システムに SAP HANA 2.0 SPS 5 Revision 56 以降をインストールしている場合、SAP HANA 用のストレージ管理ツールの Python エラーが原因で、ホストの自動フェイルオーバーを備えた SAP HANA スケールアウトのデプロイに失敗します。SAP HANA トレースログ ファイルには、この失敗に対する次の Python エラーが記録されます。 failed with python error: _sap_hana_forbid() got an unexpected keyword argument 'stdout'

解決策

バージョン 2.2 以降の SAP HANA 用ストレージ管理ツールを使用します。バージョン 2.2 には、SAP HANA 2.0 SPS 5 Revision 56 以降のサポートが追加されています。SAP HANA 用ストレージ管理ツールの詳細については、Google Cloud での SAP HANA ホストの自動フェイルオーバーをご覧ください。

Corosync 通信の遅延による高可用性クラスタのフェイルオーバーの問題

Google Cloud 上の SAP HANA の高可用性(HA)クラスタで、クラスタノード間の Corosync メッセージ送信時の一時的な遅延により、フェイルオーバーが誤ってトリガーされることがあります。

この問題は、SUSE と Red Hat 高可用性 Linux ディストリビューションの両方で発生します。

この問題は Google Cloud 固有のものではありませんが、Google Cloud 上の SAP ユーザーに影響するため、ここに記載されています。

解決策

問題の解決方法は、オペレーティング システムによって異なります。

SUSE

SUSE では、この問題を解決する Corosync メンテナンス アップデートが提供されています。修正を適用するには、Corosync ソフトウェアを次の表に示すバージョンのいずれかに更新します。

SUSE のバージョン Corosync のバージョン
SLES 12 - すべての SP リリース corosync-2.3.6-9.19.1
SLES 15 corosync-2.4.5-5.13.1
SLES 15 SP1 corosync-2.4.5-9.16.1
SLES 15 SP2 corosync-2.4.5-10.14.6.1
SLES 15 SP3 corosync-2.4.5-12.3.1
SLES 15 SP4 corosync-2.4.5-12.7.1

Red Hat

Red Hat では、この問題を解決する Corosync メンテナンス アップデートが提供されています。修正を適用するには、Corosync ソフトウェアを次の表に示すバージョンのいずれかに更新します。

Red Hat のバージョン Corosync のバージョン
RHEL 7 corosync-2.4.5-7.el7_9.2
RHEL 8 corosync-3.1.5-2.el8

RHEL での gVNIC のリセットにより、HA 構成でフェイルオーバーが発生する

gVNIC ネットワーク ドライバを 8.7 より前のバージョンの RHEL と組み合わせて使用している場合、gVNIC のリセットが発生し、該当する VM のネットワーク接続が数秒間切断されることがあります。これにより、HA クラスタで不要なフェイルオーバーが発生する可能性があります。

OS のメッセージ ログ ファイルに、次のようなカーネル コールスタックが生成されていることがあります。

  Feb  4 06:58:33  kernel: ------------[ cut here ]------------
  Feb  4 06:58:33  kernel: NETDEV WATCHDOG: eth0 (gvnic): transmit queue 0 timed out
  Feb  4 06:58:33  kernel: WARNING: CPU: 51 PID: 0 at net/sched/sch_generic.c:447 dev_watchdog+0x272/0x280
  Feb  4 06:58:33  kernel: Modules linked in: falcon_lsm_serviceable(PE) falcon_nf_netcontain(PE) falcon_kal(E) falcon_lsm_pinned_16206(E) binfmt_misc nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct nf_tables_set nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 ip_set falcon_lsm_pinned_16108(E) nf_tables nfnetlink intel_rapl_msr intel_rapl_common nfit libnvdimm vfat fat dm_mod gve crct10dif_pclmul crc32_pclmul i2c_piix4 ghash_clmulni_intel rapl pcspkr auth_rpcgss sunrpc xfs libcrc32c crc32c_intel serio_raw nvme nvme_core t10_pi [last unloaded: falcon_kal]
  Feb  4 06:58:33  kernel: CPU: 51 PID: 0 Comm: swapper/51 Kdump: loaded Tainted: P            E    --------- -  - 4.18.0-305.82.1.el8_4.x86_64 #1
  Feb  4 06:58:33  kernel: Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 12/13/2023
  Feb  4 06:58:33  kernel: RIP: 0010:dev_watchdog+0x272/0x280
  ...
  Feb  4 06:58:33  kernel: ---[ end trace d6c7c7cb653cce9a ]---
  Feb  4 06:58:33  kernel: gvnic 0000:00:03.0: Performing reset

原因

この問題の原因は、8.7 より前の RHEL バージョンに、必要な機能強化と安定性パッチのない gVNIC ドライバの以前のビルドが含まれていることです。

解決策

8.7 以降の SAP 認定バージョンの RHEL と gVNIC ドライバと組み合わせて使用します。この解決策は、M3 など、Compute Engine の第 3 世代のマシンを使用している場合は特に重要です。これらのマシンは VirtIO ドライバの使用をサポートしていないため、gVNIC ドライバを使用する必要があります。gVNIC がデフォルトになっているマシンタイプの完全なリストについては、マシンシリーズの比較表をご覧ください。