1. はじめに

本書は、SAP HANAを、CLUSTERPROによるクラスタ構成を構築し、動作させるための手順を説明したものです。

1.1. 対象読者と目的

本書は、クラスタシステムに関して、システムを構築する管理者、およびユーザサポートを行うシステムエンジニア、保守員を対象にしています。

本書では、CLUSTERPRO環境下での動作確認が取れたソフトウェアを紹介しています。ここで紹介するソフトウェアや設定例は、あくまで参考情報として提供するものであり、各ソフトウェアの動作保証をするものではありません。

同梱のスクリプトはフェイルオーバを実現するためのサンプルスクリプトです。

サンプルスクリプトの内容をご確認の上、使用環境や監視対象に合わせて調整してください。

1.2. 本書の表記規則

本書では、注意すべき事項、重要な事項および関連情報を以下のように表記します。

注釈

この表記は、重要ではあるがデータ損失やシステムおよび機器の損傷には関連しない情報を表します。

重要

この表記は、データ損失やシステムおよび機器の損傷を回避するために必要な情報を表します。

参考

この表記は、参照先の情報の場所を表します。

また、本書では以下の表記法を使用します。

表記

使用方法

[ ] 角かっこ

コマンド名の前後
画面に表示される語(ダイアログボックス、メニューなど)の前後
[スタート]をクリックします。
[プロパティ]ダイアログ ボックス

コマンドライン中の [ ] 角かっこ

かっこ内の値の指定が省略可能であることを示します。

clpstat -s [-h host_name ]

モノスペースフォント

パス名、コマンドライン、システムからの出力(メッセージ、プロンプトなど)、ディレクトリ、ファイル名、関数、パラメータ

/Linux/server/

太字

ユーザが実際にコマンドプロンプトから入力する値を示します。

以下を入力します。
clpcl -s -a

斜体

ユーザが有効な値に置き換えて入力する項目

clpstat -s [-h host_name]

CLUSTERPRO X 本書の図では、CLUSTERPROを表すために このアイコンを使用します。

1.3. CLUSTERPRO マニュアル体系

CLUSTERPRO のマニュアルは、以下の 6 つに分類されます。各ガイドのタイトルと役割を以下に示します。

CLUSTERPRO X スタートアップガイド』 (Getting Started Guide)

すべてのユーザを対象読者とし、製品概要、動作環境、アップデート情報、既知の問題などについて記載します。

CLUSTERPRO X インストール&設定ガイド』 (Install and Configuration Guide)

CLUSTERPRO を使用したクラスタシステムの導入を行うシステムエンジニアと、クラスタシステム導入後の保守・運用を行うシステム管理者を対象読者とし、CLUSTERPRO を使用したクラスタシステム導入から運用開始前までに必須の事項について説明します。実際にクラスタシステムを導入する際の順番に則して、CLUSTERPRO を使用したクラスタシステムの設計方法、CLUSTERPRO のインストールと設定手順、設定後の確認、運用開始前の評価方法について説明します。

CLUSTERPRO X リファレンスガイド』 (Reference Guide)

管理者、および CLUSTERPRO を使用したクラスタシステムの導入を行うシステムエンジニアを対象とし、CLUSTERPRO の運用手順、各モジュールの機能説明およびトラブルシューティング情報等を記載します。『CLUSTERPRO X インストール&設定ガイド』を補完する役割を持ちます。

CLUSTERPRO X メンテナンスガイド』 (Maintenance Guide)

管理者、および CLUSTERPRO を使用したクラスタシステム導入後の保守・運用を行うシステム管理者を対象読者とし、CLUSTERPRO のメンテナンス関連情報を記載します。

CLUSTERPRO X ハードウェア連携ガイド』 (Hardware Feature Guide)

管理者、および CLUSTERPRO を使用したクラスタシステムの導入を行うシステムエンジニアを対象読者とし、特定ハードウェアと連携する機能について記載します。『CLUSTERPRO X インストール&設定ガイド』を補完する役割を持ちます。

CLUSTERPRO X 互換機能ガイド』 (Legacy Feature Guide)

管理者、および CLUSTERPRO を使用したクラスタシステムの導入を行うシステムエンジニアを対象読者とし、CLUSTERPRO X 4.0 WebManager および Builder に関する情報について記載します。

2. SAP HANA クラスタ概要

2.1. 概要

昨今、クラウド環境の利用が本格化しており、SAP HANAをクラウド基盤サービス上で活用する企業が増加しています。また、SAP HANAをビッグデータの高速分析のみならず基幹業務システムで活用する企業も増加しており、クラウド基盤サービス上で稼働するSAP HANAの可用性向上へのニーズが高まっています。
SAP HANAにもHA機能は実装されていますが、障害が発生した場合、手動による切り替え操作を行う必要があります。そのため、障害を認識してから切り替え作業が完了するまでの時間は業務が停止してしまい、ビジネスにおける機会損失が問題となる可能性があります。
高可用性基盤ソフトウェアであるCLUSTERPROを導入することで、AWS上で稼働するSAP HANAを活用したシステム全体の障害を自動的に検知し、セカンダリサーバに自動的に切り替えること(フェイルオーバ)が可能となります。
本書では、CLUSTERPROを使用して、AWS上で動作するSAP HANAを活用したシステムの業務停止時間を短縮すること、および運用効率化の実現性について動作確認を行っています。
具体的には、各種障害を想定し、CLUSTERPROによる自動フェイルオーバ機能とSAP HANAのシステムレプリケーション機能を使用したデータ同期によって、クラスタシステムが正常に復帰し、業務継続が可能であることを確認しています。

2.2. 動作環境

動作確認を行った OS および SAP HANA のバージョン情報を下記に提示します。
SAP HANAのハードウェア要件およびソフトウェア要件は、SAP HANAのドキュメントを参照してください。
  • x86_64

    HANA Version

    CLUSTERPRO Version

    OS

    SAP HANA 1.0 SPS11
    SAP HANA 1.0 SPS12
    3.3.0-1~
    4.0.0-1~
    4.1.0-1~
    Red Hat Enterprise Linux 7.2
    Red Hat Enterprise Linux 7.3
    SUSE LINUX Enterprise Server 11 SP4

    SAP HANA 2.0 SPS03

    4.1.0-1~
    4.2.0-1~

    Red Hat Enterprise Linux 7.2

2.3. 動作イメージ

以下の図は、Server1をプライマリ、Server2をセカンダリとして動作させる場合のシステム正常運用時のイメージ図です。
クライアントであるERPは、仮想IPアドレス(VIP)にアクセスすることで、プライマリのSAP HANAに対して参照/更新が可能です。
SAP HANAが動作している2つのインスタンス、およびクライアント

図 2.1 正常運用時

以下の図は、プライマリサーバ側で障害が発生した場合のイメージ図です。
プライマリサーバで障害が発生すると、CLUSTERPROは、Server1でSAP HANAを停止、Server2でSAP HANAをセカンダリサーバからプライマリサーバに変更し、SAP HANAの運用を継続します。
また、仮想IP(VIP)をServer1からServer2に切り替えます。
クライアント(ERP)は、仮想IP(VIP)にアクセスすることで、プライマリサーバとなったSAP HANAに対して参照/更新が可能です。
SAP HANAが動作している2つのインスタンス、およびクライアント

図 2.2 プライマリサーバ側で障害が発生

以下の図は、セカンダリ側で障害が発生した場合のイメージ図です。
セカンダリで障害が発生すると、CLUSTERPROは、Server2でSAP HANAを停止、Server1でシステムレプリケーション機能を切り替え(full sync option停止)、SAP HANAの運用を継続します。
SAP HANAが動作している2つのインスタンス、およびクライアント

図 2.3 セカンダリサーバ側で障害が発生

2.4. サポートシナリオと前提条件

SAP HANAとCLUSTERPROの連携を行う上で、現在下記シナリオとパラメータのみをサポートしています。
通常のSystem Replicationの要件やマルチテナントデータベースコンテナの要件については、SAPのガイドを参照してください。
  1. スケールアップ(シングル)構成×2の2ノードクラスタ

  2. 性能面において両ノードは、同じネットワークセグメントに属していることを推奨。AWS環境の場合、Single-AZを推奨。

  3. 両ノードは、シングルインスタンスで実行されているものとし、品質保証機や開発機が動作していないこと

  4. SAP HANAの自動起動はオフに設定しておくこと

  5. マルチテナントデータベースコンテナ(MDC)シナリオ

    • System Database / Tenant Databasesのいずれかに障害が出た際にフェイルオーバを実施

    • Tenant Databaseのマニュアル停止では、フェイルオーバは未実施

3. AWS環境

本書における検証時の構成は以下のとおりです。検証は Multi-AZ で実施していますが、性能面を考慮すると Single-AZ を推奨します。
CLUSTERPROにより障害監視、業務の切り替え、SAP HANAによりデータ同期を行います。
Public subnet内の2つのNAT gateway、SAP HANAが動作しているPublic subnet内の2つのインスタンス、およびクライアント

図 3.1 検証時の構成

CIDR

10.0.0.0/16

Subnet-1A

10.0.1.0/24

Subnet-2A

10.0.2.0/24

Instance (ERP)

10.0.2.100/24

Instance (Server1)

10.0.2.22/24

Subnet-1B

10.0.11.0/24

Subnet-2B

10.0.12.0/24

Instance (Server2)

10.0.12.22/24

VIP

10.2.0.20/32

本書では、インスタンスをAWSの異なるAZ上に配置してSAP HANAをインストールし、クラスタ環境を構築します。

AWS環境でのSAP HANAの構築には、独自でインフラ構築するかAWS Marketplaceから構築するかの2パターンが存在します。
AWSのインスタンスタイプについては、下記を参照し、サポート済の環境を選択します。

SAP NOTE

  • #1964437 - SAP HANA on AWS: Supported AWS EC2 products

  • #1656099 - SAP Applications on AWS: Supported DB/OS and AWS EC2 products

また、SAP HANAについては、SAP Instannce上に複数のテナントデータベースを作成する構成についても検証を行っています。

SAP HANA(共通)

リージョン

アジアパシフィック(東京)

OS

SUSE Linux Enterprise Server 11 SP4
Red Hat Enterprise Linux 7.4

Instance Type

x1.32xlarge

CPU

128vCPU

メモリ

2TB

EBS

/dev/sda1 50GB
/dev/sdf 4096 GB
/dev/sdb 1024GB
/dev/sdc 1024GB
/dev/sdd 1024GB
/dev/sde 1024GB
/dev/sds 50 GB
/dev/sdz 50 GB

EIP

-

SAP HANA

SAP HANA 1.0 SPS12

クラスタ環境へのアクセスを制御するためのNAT GatewayはそれぞれのAZに配置します。
SAP ERP Application Serverとして、AZ内(どちらでも可)に配置します。

SAP ERP

リージョン

アジアパシフィック(東京)

OS

Windows Server 2012 R2

Instance Type

m4.2xlarge

CPU

8vCPU

メモリ

32GB

EBS

/dev/sda1 100GB
/dev/sdb 50GB
/dev/sdc 100GB

EIP

-

SAP ERP

SAP ERP 6.0 EHP7 SR1

4. SAP HANAのインストールおよび設定

SAP HANAのインストールおよび設定については、以下のドキュメントを参照してください。

https://help.sap.com/viewer/product/SAP_HANA_PLATFORM/1.0/en-US

  • SAP HANA Server Installation and Update Guide

  • SAP HANA Administration Guide

  • SAP HANA Master Guide

https://help.sap.com/viewer/product/SAP_HANA_PLATFORM/2.0.03/en-US

  • SAP HANA Server Installation and Update Guide

  • SAP HANA Administration Guide

  • SAP HANA Master Guide

5. CLUSTERPROのインストールおよび設定

CLUSTERPROのインストールおよび設定については、『CLUSTERPRO X SingleServerSafe for Windows インストール&設定ガイド』を参照してください。

5.1. CLUSTERPROのインストール

各ノード(Node#1およびNode#2)に本製品をインストールします。
CLUSTERPROのインストール方法については、以下のドキュメントを参照してください。

CLUSTERPROのインストール後、以下のコマンドを実行しサンプルスクリプトをインストールしてください。

# rpm -i clusterpro_spnw-<Version of CLUSTERPRO>.x86_64.rpm

メディアに同梱されているサンプルスクリプトは、以下のディレクトリ配下に格納しています。

media/Linux/<Version of CLUSTERPRO>/common/hana/sample
メディアに同梱されている以下のサンプルスクリプトをEXECリソースやカスタムモニタリソースに設定します。サンプルスクリプトはSAP HANAの制御・監視用です。
また、各サンプルスクリプトには実行環境固有情報を追記する必要があります。サンプルスクリプトのコメントに従って設定を追加してください。

ファイル名

用途

start_hana_primary_sample.sh

グループリソース exec_primary_hana 用

stop_hana_primary_sample.sh

グループリソース exec_primary_hana 用

start_hana_secondary_sample.sh

グループリソース exec_secondary_hana 用

stop_hana_secondary_sample.sh

グループリソース exec_secondary_hana 用

genw_hana_primary_status_sample.sh

モニタリソース genw_primary_hana_status用

genw_hana_secondary_status_sample.sh

モニタリソース genw_secondary_hana_status用

5.2. ライセンスの登録

CLUSTERPROを利用可能な状態にするには、ライセンスの登録が必要です。
ライセンスの登録方法については、以下のドキュメントを参照してください。

本製品は、以下のライセンスが含まれています。

ライセンス製品名

CLUSTERPRO X for Linux

CLUSTERPRO X Database Agent for Linux

CLUSTERPRO X File Server Agent for Linux

CLUSTERPRO X System Resource Agent for Linux

5.3. クラスタの作成

Cluster WebUIからクラスタを作成します。
クラスタの作成方法については、以下のドキュメントおよびCluster WebUIのオンラインマニュアルを参照してください。

ネットワーク設定として、以下を登録します。

用途

経路数

説明

インタコネクトLAN
(パブリックLAN兼用)

1

HAクラスタを構成するサーバ間で、互いの死活監視やクラスタ情報の交換に使用

5.4. フェイルオーバグループの作成

Cluster WebUI から、各ノードが属するフェイルオーバグループを作成します。
フェイルオーバグループの作成方法については、以下のドキュメントおよびCluster WebUIのオンラインマニュアルを参照してください。

以下のフェイルオーバグループを登録します。

グループ種別

説明

プライマリ用フェイルオーバグループ(failover_PRI)

プライマリサーバで起動するフェイルオーバグループ
SAP HANAをプライマリとして起動/停止します。また、SAP HANAにアクセスするための仮想IPを起動/停止します。

セカンダリ用フェイルオーバグループ(failover_SEC)

セカンダリサーバで起動するフェイルオーバグループ
SAP HANAをセカンダリとして起動/停止します。failover_PRIと同一サーバで起動する場合は、SAP HANAの起動/停止は行いません。

5.5. グループリソースの追加

前節で作成したフェイルオーバグループに、グループリソースを登録します。
グループリソースの登録方法については、以下のドキュメントおよびCluster WebUIのオンラインマニュアルを参照してください。
各フェイルオーバグループに以下のグループリソースを登録します。
CLUSTERPROで制御するSAP HANAのサービスは、自動起動しないように設定します。

リソース種別(グループリソース名)

フェイルオーバグループ

説明

AWS仮想IPリソース(awsvip)

failover_PRI

現用系側(プライマリサーバ)のインスタンスへの SAP HANA にアクセスするための仮想 IP アドレスの付与、および、その IP アドレスに対するルートテーブルの変更を行い、業務を同じ VPC 内に公開します。

プライマリ制御用EXECリソース(exec_primary_hana)

failover_PRI

SAP HANAをプライマリとして起動/停止するためのスクリプトを実行します。SAP HANAが既にセカンダリとして起動していた場合は、SAP HANAをプライマリに変更します。

セカンダリ制御用EXECリソース(exec_secondary_hana)

failover_SEC

SAP HANAをセカンダリとして起動/停止するためのスクリプトを実行します。「failover_PRI」グループと同ノードで起動した場合は、full sync optionを無効にします。

5.6. モニタリソースの追加

次にモニタリソースを登録します。

モニタリソースの登録方法については、以下のドキュメントおよびCluster WebUIのオンラインマニュアルを参照してください。

モニタ種別(モニタリソース名)

説明

プライマリ

セカンダリ

プライマリ監視用カスタムモニタ(genw_primary_hana_status)

プライマリのSAP HANAの状態を監視します。
監視には、"landscapeHostConfiguration.py"コマンドを実行します。

セカンダリ監視用カスタムモニタ(genw_secondary_hana_status)

セカンダリのSAP HANAの状態を監視します。
監視には、"landscapeHostConfiguration.py "コマンドを実行します。

Availability Zone監視用AWS AZモニタ(awsazw)

Multi-AZ(Availability Zone)を利用し、自サーバが属するAZの健全性を定期的に監視します。
Multi-AZ を利用しない場合でも、AWS CLI の利用可否を監視する目的で使用することが可能です。

AWS仮想IP監視用AWS仮想IPモニタ(awsvipw)

AWS 仮想 IP リソースが付与した仮想 IP アドレスが自サーバに存在するか、および VPC のルートテーブルが不正に変更されていないかを定期的に監視します。(AWS 仮想IP リソースを追加すると自動的に追加されます。)

6. SAP ERPのインストールおよび設定

SAP ERPについては、CLUSTERPRO向けの特別なパラメータ設定は存在しません。
通常の手順/パラメータにてインストールを行います。
2014/10/15時点でのSAP ERP6.0 EHP7 SR1のメディアにてインストールを行う場合、以下の注意事項があります。
SAP System Databaseのパラメータとして、Database Hostを仮想ホストに設定すると、インストール完了後のSAP HANA Clientの接続先が仮想ホストで設定されず、SAP HANAのマスター側のホスト名に自動で置換されることがあります。「hdbuserstore」コマンドにて、既存の設定を削除~仮想ホストにて再登録し、Application Serverの接続先を仮想ホストに設定してください。

7. 注意・制限事項

  • フェイルオーバグループの起動完了後かつSAP HANAのfull sync optionを有効に変更する前に障害が発生した場合、データコピー完了前にフェイルオーバが発生し、データロスが発生する可能性があります。

  • プライマリ用フェイルオーバグループは、必ずミラーディスクの最新データを保有しているサーバで起動してください。フェイルオーバ発生後など、プライマリサーバとセカンダリサーバで更新差分が発生する場合があります。プライマリサーバで最新データを保持している場合に、セカンダリサーバでプライマリ用フェイルオーバグループ、プライマリサーバでセカンダリ用フェイルオーバグループを起動すると、プライマリサーバへデータ同期が行われ、データロスが発生します。

  • データ同期(System Replication)について
    SAP HANAのシステムレプリケーションにおいては、同期モード(Synchronous)であっても実障害時にはデータロスの可能性があります。「SAP Note 2063657 - HANA System Replication takeover decision guideline」にて、データロスの有無を考慮した切り替え判断基準が記載されており、切り替え前にオペレータによる手動での確認が必要となります。
    NECでは、同期モードにおいてfull sync optionを採用し、CLUSTERPROと合わせて活用することにより、データロスの可能性を排除し、これを推奨方式としています。

8. 付録

8.1. 詳細設定

本書のCLUSTERPROの設定例を以下に記載します。

  • クラスタ構成

    設定パラメータ

    設定値

    クラスタ名

    cluster

    サーバ数

    2

    フェイルオーバグループ数

    2

    ハートビートリソース

    LANハートビート数

    1

    Node#1
    (マスタサーバ)

    サーバ名

    hana01

    インタコネクトのIPアドレス
    (カーネルモード、優先度1)

    10.0.2.22

    Node#2

    サーバ名

    hana02

    インタコネクトのIPアドレス
    (カーネルモード、優先度1)

    10.0.12.22

  • 1個目のグループ

    設定パラメータ

    設定値

    タイプ

    フェイルオーバ

    グループ名

    failover_PRI

    起動サーバ

    全てのサーバでフェイルオーバ可能

    グループ起動属性

    手動起動

    フェイルオーバ属性

    自動フェイルオーバ
    起動可能なサーバ設定に従う

    フェイルバック属性

    手動フェイルバック

    フェイルオーバ排他属性

    排他なし

    起動待ち合わせ

    -

    グループリソース数

    2

    1個目の
    グループリソース
    深度 0

    タイプ

    AWS仮想IPリソース

    グループリソース名

    awsvip

    活性異常検出時の復旧動作

    活性リトライしきい値 0
    フェイルオーバしきい値 1
    何もしない(次のリソースを活性しない)

    非活性異常検出時の復旧動作

    非活性リトライしきい値 0
    クラスタサービス停止とOSシャットダウン

    vpc-id

    vpc-xxxxxxxx

    eni-id(ノード#1)

    eni-yyyyyyyy

    eni-id(ノード#2)

    eni-zzzzzzzz

    2個目の
    グループリソース
    深度 1

    タイプ

    EXECリソース

    グループリソース名

    exec_primary_hana

    開始スクリプトタイムアウト

    1800 秒 1

    終了スクリプトタイムアウト

    1800 秒 1

    依存関係

    awsvip

    活性異常検出時の復旧動作

    活性リトライしきい値 0
    フェイルオーバしきい値 1
    何もしない(次のリソースを活性しない)

    非活性異常検出時の復旧動作

    非活性リトライしきい値 0
    クラスタサービス停止とOSシャットダウン

    詳細

    スクリプト一覧
    Start script / start.sh
    Stop script / stop.sh
  • 2個目のグループ

    設定パラメータ

    設定値

    タイプ

    フェイルオーバ

    グループ名

    failover_SEC

    起動サーバ

    全てのサーバでフェイルオーバ可能

    グループ起動属性

    手動起動

    フェイルオーバ属性

    自動フェイルオーバ
    起動可能なサーバ設定に従う

    フェイルバック属性

    手動フェイルバック

    起動待ち合わせ

    failover_PRI

    グループリソース数

    1

    3個目の
    グループリソース
    深度 0

    タイプ

    EXECリソース

    グループリソース名

    exec_secondary_hana

    活性異常検出時の復旧動作

    活性リトライしきい値 0
    フェイルオーバしきい値 1
    何もしない(次のリソースを活性しない)

    非活性異常検出時の復旧動作

    非活性リトライしきい値 0

    クラスタサービス停止とOSシャットダウン

    詳細

    スクリプト一覧
    Start script / start.sh
    Stop script / stop.sh
  • 1個目のモニタリソース(デフォルト作成)

    設定パラメータ

    設定値

    タイプ

    ユーザ空間モニタ

    モニタリソース名

    userw

  • 2番目のモニタリソース

    設定パラメータ

    設定値

    タイプ

    AWS仮想IPモニタ

    モニタリソース名

    awsvipw

    監視対象

    awsvip

    インターバル

    60秒

    タイムアウト

    60秒

    リトライ回数

    3回

    回復動作

    回復対象に対してフェイルオーバ実行

    回復対象

    awsvip

    最終動作

    クラスタサービス停止とOSシャットダウン

  • 3個目のモニタリソース

    設定パラメータ

    設定値

    タイプ

    カスタムモニタ

    モニタリソース名

    genw_primary_hana_status

    インターバル

    30 秒

    タイムアウト

    120 秒

    リトライ回数

    3 回

    監視開始待ち時間

    0 秒

    監視タイミング

    活性時
    対象リソース:exec_primary_hana

    この製品で作成したスクリプト

    genw.sh

    正常な戻り値

    0

    回復動作

    回復対象に対してフェイルオーバ実行

    回復対象

    failover_PRI

    最終動作

    何もしない

  • 4個目のモニタリソース

    設定パラメータ

    設定値

    タイプ

    カスタムモニタ

    モニタリソース名

    genw_secondary_hana_status

    インターバル

    30 秒

    タイムアウト

    120 秒

    リトライ回数

    3 回

    監視開始待ち時間

    0 秒

    監視タイミング

    活性時
    対象リソース:exec_secondary_hana

    この製品で作成したスクリプト

    genw.sh

    正常な戻り値

    0

    回復動作

    回復対象に対してフェイルオーバ実行

    回復対象

    failover_PRI

    最終動作

    何もしない

  • 5個目のモニタリソース

    設定パラメータ

    設定値

    タイプ

    AWS AZモニタ

    モニタリソース名

    awsazw

    インターバル

    60 秒

    タイムアウト

    120 秒

    リトライ回数

    0 回

    監視開始待ち時間

    0 秒

    監視タイミング

    常時

    アベイラビリティゾーン

    ap-northeast-1a, ap-northeast-1c

    回復動作

    回復対象に対してフェイルオーバ実行

    回復対象

    All Groups

    最終動作

    何もしない

1(1,2)

Red Hat Enterprise Linux のユーザーに対する注意事項:SAP HANA のテイクオーバーに30分以上かかる大規模なシステムの場合、[開始スクリプトタイムアウト][終了スクリプトタイムアウト]を60分(3600秒)に設定しシステムがタイムアウトしないようにしてください。

8.2. 操作手順

クラスタの起動手順と障害発生時の復旧手順を以下に記載します。

  • 起動手順

サーバ#1をプライマリサーバ、サーバ#2をセカンダリサーバとして運用します。
プライマリ用フェイルオーバグループをサーバ#1、セカンダリ用フェイルオーバグループをサーバ#2で起動します。(サーバ#1でSAP HANAがプライマリとして起動、サーバ#2でSAP HANAがセカンダリとして起動されます。)
フェイルオーバグループの起動完了後、サーバ#1上でコマンドを手動で実行しSAP HANAのfull sync optionを有効に変更します。

注釈

full sync optionを有効に変更する前に障害が発生した場合、データコピー完了前にフェイルオーバが発生し、データロスが発生する可能性があります。

2つのサーバインスタンスと、プライマリフェイルオーバグループ、セカンダリフェイルオーバグループ

図 8.1 正常運用時

  • プライマリサーバの障害発生

サーバ#1で障害が発生すると、プライマリ用のフェイルオーバグループがサーバ#2へフェイルオーバします。サーバ#1ではSAP HANAが停止、サーバ#2でSAP HANAのTakeoverが実行され、運用を継続します。

2つのサーバインスタンスと、プライマリフェイルオーバグループ、セカンダリフェイルオーバグループ

図 8.2 プライマリサーバの障害発生

  • 復旧手順

セカンダリ用のフェイルオーバグループをサーバ#2からサーバ#1へ手動フェイルオーバします。
フェイルオーバが発生すると、サーバ#1でSAP HANAがセカンダリとして起動します。
フェイルオーバ完了後、サーバ#2でコマンドを手動で実行しSAP HANAのfull sync optionを有効に変更します。
2つのサーバインスタンスと、プライマリフェイルオーバグループ、セカンダリフェイルオーバグループ

図 8.3 プライマリサーバの障害発生からの復旧

  • セカンダリサーバの障害発生時

サーバ#2で障害が発生すると、セカンダリ用のフェイルオーバグループがサーバ#1へフェイルオーバします。サーバ#2でSAP HANAが停止し、サーバ#1でSAP HANAのfull sync optionを無効にし、運用を継続します。

2つのサーバインスタンスと、プライマリフェイルオーバグループ、セカンダリフェイルオーバグループ

図 8.4 セカンダリサーバの障害発生

  • 復旧手順

セカンダリ用のフェイルオーバグループをサーバ#1からサーバ#2へ手動フェイルオーバします。
フェイルオーバが発生すると、サーバ#2でSAP HANAがセカンダリとして起動します。
フェイルオーバ完了後、サーバ#1でコマンドを手動で実行しSAP HANAのfull sync optionを有効に変更します。

注釈

プライマリ用フェイルオーバグループは、必ず最新データを保有しているサーバで起動してください。
フェイルオーバ発生後など、プライマリサーバとセカンダリサーバで更新差分が発生する場合があります。プライマリサーバで最新データを保持している場合に、セカンダリサーバでプライマリ用フェイルオーバグループ、プライマリサーバでセカンダリ用フェイルオーバグループを起動すると、プライマリサーバへデータ同期が行われ、データロスが発生します。
2つのサーバインスタンスと、プライマリフェイルオーバグループ、セカンダリフェイルオーバグループ

図 8.5 セカンダリサーバの障害発生からの復旧

8.3. 確認結果

以下の状態遷移を実施し、各サーバのステータスおよびグループの状態が正しく遷移することを確認しています。
System Replicationによる通常のHA設定においては、障害発生時にユーザによる手動の切り替えが必要となります。本書の構成では、各障害発生時にCLUSTERPROによる障害自動検知~自動フェイルオーバが実行され、SAP HANAに接続が可能となることを確認しています。
また、full sync optionを活用することで、データロスの可能性を排除しつつ、セカンダリ側障害時にはCLUSTERPROによる自動full sync option停止により、業務が継続可能であることを確認しています。

項目

操作

確認結果

クラスタの開始

Cluster WebUI でクラスタを開始させる。
Cluster WebUI プライマリ用のフェイルオーバグループをサーバ#1で起動、セカンダリ用のフェイルオーバグループをサーバ#2で起動させる。

クラスタが開始すること。
プライマリ用のフェイルオーバグループがサーバ#1で起動、セカンダリ用のフェイルオーバグループがサーバ#2で起動すること。
サーバ#1でSAP HANAがプライマリとして起動すること。サーバ#2でSAP HANAがセカンダリとして起動すること。

クラスタの停止

Cluster WebUI でクラスタを停止させる。

クラスタが停止すること。
サーバ#1、サーバ#2でSAP HANAが停止すること。

クラスタの再開始

Cluster WebUI プライマリ用のフェイルオーバグループをサーバ#1で起動、セカンダリ用のフェイルオーバグループをサーバ#2で起動させる。

クラスタが開始すること。
プライマリ用のフェイルオーバグループがサーバ#1で起動、セカンダリ用のフェイルオーバグループがサーバ#2で起動すること。
サーバ#1でSAP HANAがプライマリとして起動すること。サーバ#2でSAP HANAがセカンダリとして起動すること。

サーバ#1のシャットダウン

Cluster WebUI でサーバ#1をシャットダウンさせる。

サーバ#1でSAP HANAが停止後にシャットダウンすること。
プライマリ用のフェイルオーバグループがサーバ#1からサーバ#2へフェイルオーバすること。
(サーバ#1でSAP HANAが停止。サーバ#2でSAP HANAのTakeoverが実行され、運用を継続する)

サーバ#1の復帰

サーバ#1を起動させる。

サーバ#1が起動し、クラスタに復帰すること。

SAPフェイルオーバグループの移動

Cluster WebUI でサーバ#2からサーバ#1へセカンダリ用のフェイルオーバグループを移動させる。

サーバ#2からサーバ#1へセカンダリ用のフェイルオーバグループが移動すること。
サーバ#1でSAP HANAがセカンダリとして起動すること。

サーバ#1のシャットダウン

Cluster WebUI でサーバ#1をシャットダウンさせる。

サーバ#1がSAP HANAの停止後にシャットダウンすること。
セカンダリ用のフェイルオーバグループがサーバ#1からサーバ#2へフェイルオーバすること。
(サーバ#1でSAP HANAが停止。サーバ#2でSAP HANAの運用を継続する)

サーバ#1の復帰

サーバ#1を起動させる

サーバ#1が起動し、クラスタに復帰すること。

SAPフェイルオーバグループの移動

Cluster WebUI でサーバ#2からサーバ#1へセカンダリ用のフェイルオーバグループを移動させる。

サーバ#2からサーバ#1へセカンダリ用のフェイルオーバグループが移動すること。
サーバ#1でSAP HANAがセカンダリとして起動すること。

サーバ#2のシャットダウン

Cluster WebUI でサーバ#2をシャットダウンさせる。

サーバ#2でSAP HANAが停止後にシャットダウンすること。
プライマリ用のフェイルオーバグループがサーバ#2からサーバ#1へフェイルオーバすること。
(サーバ#1でSAP HANAのTakeoverが実行され、運用を継続する)

サーバ#2の復帰

サーバ#2を起動させる

サーバ#2が起動し、クラスタに復帰すること。

SAPフェイルオーバグループの移動

Cluster WebUI でサーバ#1からサーバ#2へセカンダリ用のフェイルオーバグループを移動させる。

サーバ#1からサーバ#2へセカンダリ用のフェイルオーバグループが移動すること。
サーバ#2でSAP HANAがセカンダリとして起動すること。

サーバ#2のシャットダウン

Cluster WebUI でサーバ#2をシャットダウンさせる。

サーバ#2でSAP HANAが停止後にシャットダウンすること。
プライマリ用のフェイルオーバグループがサーバ#2からサーバ#1へフェイルオーバすること。
(サーバ#1でSAP HANAの運用を継続する)

サーバ#2の復帰

サーバ#2を起動させる

サーバ#2が起動し、クラスタに復帰すること。

SAPフェイルオーバグループの移動

Cluster WebUI でサーバ#1からサーバ#2へセカンダリ用のフェイルオーバグループを移動させる。

サーバ#1からサーバ#2へセカンダリ用のフェイルオーバグループが移動すること。
サーバ#2でSAP HANAがセカンダリとして起動すること。

クラスタのリブート

Cluster WebUI でクラスタをリブートさせる。
リブート後、Cluster WebUI プライマリ用のフェイルオーバグループをサーバ#1で起動、セカンダリ用のフェイルオーバグループをサーバ#2で起動させる。
クラスタがリブートすること。
サーバ#1、サーバ#2でSAP HANAが停止すること。
サーバ#1、サーバ#2のリブート後、プライマリ用のフェイルオーバグループがサーバ#1で起動、セカンダリ用のフェイルオーバグループがサーバ#2で起動すること。
サーバ#1でSAP HANAがプライマリとして起動すること。サーバ#2でSAP HANAがセカンダリとして起動すること。

クラスタのサスペンド

Cluster WebUI でクラスタをサスペンドする

クラスタがサスペンドすること。
SAP HANAは起動を継続すること。

クラスタのレジューム

Cluster WebUI でクラスタをレジュームする

クラスタがレジュームすること。
SAP HANAは起動を継続すること。

ハードウェアやソフトウェア障害を想定して以下のコンポーネントに対し擬似障害を発生させ、いずれの動作も問題ないことを確認しています。

  • AWS環境

項目

操作

確認結果

Availability Zone障害
AWS AZモニタ(awsazw)

サーバ#1がプライマリ、サーバ#2がセカンダリの状態で、サーバ#1で疑似障害(検証モード)を発生させる

異常を検出しプライマリ用のフェイルオーバグループがフェイルオーバすること。
(サーバ#1でSAP HANAが停止。サーバ#2でSAP HANAのTakeoverが実行され、運用を継続する)
Availability Zone障害
AWS AZモニタ(awsazw)

サーバ#1がプライマリ、サーバ#2がセカンダリの状態で、サーバ#2で疑似障害(検証モード)を発生させる

異常を検出しセカンダリ用のフェイルオーバグループがフェイルオーバすること。
(サーバ#2でSAP HANAが停止。サーバ#1でSAP HANAのfull sync optionを無効にし、運用を継続する)
  • ネットワーク

項目

操作

確認結果

ネットワーク障害
(プライマリ)

サーバ#1がプライマリ、サーバ#2がセカンダリの状態で、サーバ#1でネットワーク障害を発生させる。(AWSコンソールでサーバ#1のサブネットに関するNetworkACL を変更し、全ての通信を遮断する)

NP解決によりサーバ#1がシャットダウンすること。プライマリ用のフェイルオーバグループがフェイルオーバすること。
(サーバ#2でSAP HANAのTakeoverが実行され、運用を継続する)
ネットワーク障害
(セカンダリ)

サーバ#1がプライマリ、サーバ#2がセカンダリの状態で、サーバ#2でネットワーク障害を発生させる。(AWSコンソールでサーバ#2のサブネットに関するNetworkACL を変更し、全ての通信を遮断する)

NP解決によりサーバ#2がシャットダウンすること。セカンダリ用のフェイルオーバグループがフェイルオーバすること。
(サーバ#1でSAP HANAのfull sync optionを無効にし、運用を継続する)
  • OS

項目

操作

確認結果

サーバの死活監視
(プライマリ)
サーバ#1がプライマリ、サーバ#2がセカンダリの状態で、サーバ#1を停止する。
(shutdown -n -r now コマンドを実行する)
プライマリ用のフェイルオーバグループがフェイルオーバすること。
(サーバ#2でSAP HANAのTakeoverが実行され、運用を継続する)
サーバの死活監視
(セカンダリ)
サーバ#1がプライマリ、サーバ#2がセカンダリの状態で、サーバ#2を停止する。
(shutdown -n -r now コマンドを実行する)
セカンダリ用のフェイルオーバグループがフェイルオーバすること。
(サーバ#1でSAP HANAのfull sync optionを無効にし、運用を継続する)
  • SAP HANA

項目

操作

確認結果

カスタムモニタ
(genw_primary_hana_status)

サーバ#1がプライマリ、サーバ#2がセカンダリの状態で、サーバ#1でSAP HANAプロセス(Indexserver)を停止する。(kill -9)

異常を検出しプライマリ用のフェイルオーバグループがフェイルオーバすること。
(サーバ#1でSAP HANAが停止。サーバ#2でSAP HANAのTakeoverが実行され、運用を継続する)
カスタムモニタ
(genw_secondary_hana_status)

サーバ#1がプライマリ、サーバ#2がセカンダリの状態で、サーバ#2でSAP HANAプロセス(Indexserver)を停止する。(kill -9)

異常を検出しセカンダリ用のフェイルオーバグループがフェイルオーバすること
(サーバ#2でSAP HANAが停止。サーバ#1でSAP HANAのfull sync optionを無効にし、運用を継続する)