すべてのプロダクト
Search
ドキュメントセンター

SAP:SAP HANA 高可用性デプロイメントガイド

最終更新日:Apr 02, 2025

SAP HANA 高可用性デプロイメントガイド

リリース履歴

バージョン

リビジョン 日付

コンテンツの変更

リリース日

1.0

2018/9/7

2.0

2019/4/23

1. デプロイプロセスとドキュメント構造を最適化

2. すべてのスクリーンショットを更新

3. SAP HANA ファイルシステムの LVM 構成プロセスを追加

2019/4/23

2.1

2019/7/4

1. デプロイアーキテクチャを更新

2. NAS パラメータを最適化

2019/7/4

2.2

2020/10/27

1. SAP HANA 認定インスタンス仕様を更新

2020/10/27

2.3

2020/12/10

1. クロックソースの設定、DHCP によるホスト名の自動構成の無効化など、オペレーティングシステムとストレージの構成コンテンツを追加

2. SAP HANA 認定インスタンス仕様を更新

2020/12/10

2.4

2021/05/28

  1. Pacemaker SBD タイムアウトの最適化

2021/05/28

2.5

2021/06/08

1. ファイルシステムの計画と構成を最適化

2021/06/08

2.6

2021/11/11

1. fence_aliyun sbd アルゴリズムを更新

2. クラウド製品のデプロイを最適化

2021/11/11

概要

このドキュメントでは、Alibaba Cloud のゾーン内に SAP HANA 高可用性 (HA) をデプロイする方法について説明します。

説明

このドキュメントは、SAP の標準ドキュメントの代わりとなるものではありません。このドキュメントに記載されているインストール方法とデプロイ方法は、参考情報としてのみ提供されています。デプロイ前に、公式の SAP インストールおよび構成ドキュメントと、このドキュメントで推奨されている SAP ノートをお読みになることをお勧めします。

HANA HA アーキテクチャ

このデプロイメントのアーキテクチャは次のとおりです。

架构设计图

準備

インストールメディア

アクセス方法

アクセス原則

備考

直接アップロード

パッケージを ECS にアップロードする

OSS + ossutil

パッケージを OSS にアップロードしてから ECS にダウンロードする。

ossutil 1.0

VPC ネットワーク計画

ネットワーク

ロケーション

用途

割り当てられたサブネット

サービスネットワーク

華東 2 ゾーン F

ビジネス/SR 用

192.168.10.0/24

ハートビートネットワーク

華東 2 ゾーン F

HA 用

192.168.20.0/24

ホスト計画

ホスト名

ロール

ハートビートアドレス

サービスアドレス

仮想アドレス

saphana-01

Hana プライマリノード

192.168.10.19

192.168.10.168

192.168.10.12

saphana-02

Hana セカンダリノード

192.168.20.20

192.168.10.169

192.168.10.12

ファイルシステム計画

この例のファイルシステムは次のように分割されています。

プロパティ

ファイルシステムサイズ

クラウドディスク容量 * 数

クラウドディスクタイプ

ファイルシステム

VG

LVM ベースのストライプ

マウントポイント

データディスク

900G

300G * 3

SSD または ESSD

XFS

datavg

はい

/hana/data

データディスク

400G

400G * 3

SSD または ESSD

XFS

logvg

いいえ

/hana/log

データディスク

300G

300G * 1

SSD または ESSD

XFS

sharedvg

いいえ

/hana/shared

データディスク

50G

50G * 1

ウルトラディスク

XFS

sapcg

いいえ

/usr/sap

VPC の作成

Virtual Private Cloud (VPC) は、Alibaba Cloud 上に構築された分離されたネットワーク環境です。VPC は論理的に相互に分離されています。VPC は、クラウド上の専用のプライベートネットワークです。IP アドレス範囲の選択、ルートテーブルとゲートウェイの構成など、独自の VPC インスタンスを完全に制御できます。詳細と関連ドキュメントについては、「製品ドキュメント」をご参照ください。

[VPC コンソール] にログインし、VPC を作成する をクリックします。計画どおりに VPC、SAP サービスサブネット、ハートビートサブネットを作成します。

SAP HANA ECS インスタンスの作成

SAP HANA プライマリノード ECS インスタンスの作成

ECS 購入ページ

[ECS 製品ページ] にアクセスして購入ページを開きます。SAP HANA の下のインスタンスタイプを選択し、購入 をクリックします。

支払い方法の選択

次の支払い方法のいずれかを選択します。サブスクリプションまたは従量課金制。

リージョンとゾーンの選択

リージョンとゾーンを選択します。デフォルトでは、ゾーンはランダムに割り当てられます。必要に応じてゾーンを選択できます。リージョンとゾーンの選択の詳細については、「リージョンとゾーン」をご参照ください。この例では、華東 2 ゾーン A が選択されています。

インスタンス仕様の選択

これまでの SAP HANA 認定インスタンスタイプについては、「SAP HANA 認定 ECS インスタンス」をご参照ください。また、SAP 公式 Web サイトにアクセスして、「認定およびサポートされている SAP HANA ハードウェア」を入手することもできます。

イメージの選択

パブリック、カスタム、または共有イメージを選択するか、マーケットプレイスからイメージを選択できます。

パブリック、カスタム、または共有イメージを選択するか、マーケットプレイスからイメージを選択できます。

必要に応じて、SAP HANA のイメージタイプとバージョンを選択できます。「イメージマーケットプレイスから選択」をクリックしてイメージマーケットプレイスに入ります。キーワード「sap」を照会します。この例では、「SUSE Linux Enterprise Server for SAP 12 SP3」イメージが使用されています。

ストレージの構成

システムディスク:必須。オペレーティングシステムのインストールに使用されます。システムディスクのクラウドディスクタイプと容量を指定する必要があります。

データディスク:オプション。クラウドディスクをデータディスクとして作成する場合は、クラウドディスクタイプ、容量、数量、および暗号化するするかどうかを指定する必要があります。空のクラウドディスクを作成するか、スナップショットを使用してクラウドディスクを作成できます。最大 16 個のクラウドディスクをデータディスクとして構成できます。

データディスクの容量は、HANA インスタンスの数に応じて調整する必要があります。

この例では、/hana/data は、同じ容量の 3 つの SSD または ESSD を使用して LVM でストライプ化され、SAP HANA のパフォーマンス要件を満たしています。/hana/log、/hana/shared は単一の SSD または ESSD を使用し、すべてのファイルシステムは XFS です。

SAP HANA ストレージ要件の詳細については、「SAP HANA のサイジング」をご参照ください。

ネットワークタイプの選択

次へ:[ネットワークとセキュリティグループ] をクリックして、ネットワークとセキュリティグループを構成します。

1. ネットワークタイプを選択します。

計画どおりに VPC とビジネス CIDR ブロックを選択します。

2. パブリックネットワーク帯域幅を設定します。

必要に応じて、適切なパブリックネットワーク帯域幅を設定します。

セキュリティグループの選択

セキュリティグループを選択します。セキュリティグループを作成しない場合は、デフォルトのセキュリティグループを保持します。デフォルトのセキュリティグループのルールについては、「デフォルトのセキュリティグループルール」をご参照ください。

ENI 構成

2 番目の ENI は、ECS インスタンスが正常に作成された後に追加する必要があります。

デプロイメントセットの構成

指定されたデプロイメントセットに ECS インスタンスを作成すると、指定されたデプロイメントセットの ECS インスタンスは、物理サーバーに基づいて厳密に分散されます。これにより、ハードウェア障害などの例外が発生した場合にサービスの高可用性が確保されます。

デプロイメントセットの詳細については、「デプロイメントセット」をご参照ください。

この例では、HA アーキテクチャの 2 つの SAP HANA インスタンスがデプロイメントセット S4HANA_HA に追加されます。また、この方法を使用して SAP ASCS および SCS 高可用性デプロイメントの ECS インスタンスを管理することをお勧めします。

作成済みのデプロイメントセットを選択します。使用可能なデプロイメントセットがない場合は、[ECS コンソール] にアクセスしてデプロイメントセットを作成できます。

デプロイメントセットが作成されたら、ページに戻り、デプロイメントセットを選択してシステム構成とグループ化設定を完了します。

SAP HANA セカンダリノード ECS インスタンスの作成

上記の手順に従って、SAP HANA セカンダリノード ECS インスタンスを作成します。

説明

SAP HANA プライマリノード ECS インスタンスと HANA セカンダリノード ECS インスタンスは、同じデプロイメントセットにデプロイする必要があります。

クラウド リソースのデプロイ

ENI の構成

ENI は、VPC の ECS インスタンスに追加できる仮想ネットワークカードです。ENI を使用すると、高可用性クラスタを構築し、低コストでフェールオーバーを実装し、洗練されたネットワーク管理を実現できます。すべてのリージョンで ENI がサポートされています。詳細については、「ENI」をご参照ください。

ENI の作成

この例では、計画どおりに各 ECS インスタンスの ENI を作成します。

[1] [ECS コンソール] にログインし、左側のナビゲーションバーから [ECS コンソールネットワークとセキュリティ > ENIENI を作成する] > [] を選択します。リージョンを選択します。 をクリックします。

[2] 計画どおりに、対応する VPC と vSwitch を選択します。ENI を作成したら、HANA ECS インスタンスにバインドします。

[3] オペレーティングシステムにログインして NIC を構成します。

SUSE グラフィックウィンドウにログインしてネットワーク構成を入力するか、ターミナルから yast2 network を実行し、計画どおりに新しい ENI の静的 IP アドレスとサブネットマスクを構成し、ENI がアクティブであることを確認します。次のコマンドを実行して、ENI の構成とステータスを照会できます。

ip addr sh
説明

プライマリ NIC の内部 IP アドレスを変更する必要がある場合は、「プライマリプライベート IP アドレス」をご参照ください。

HaVip の構成

プライベート高可用性仮想 IP アドレス (HaVip) は、個別に作成およびリリースできるプライベート IP リソースです。HaVip のユニークな点は、ARP を使用して ECS で IP アドレスをブロードキャストできることです。このデプロイメントでは、HaVip はクラスタの仮想 IP アドレスとして使用され、クラスタ内の各ノードにアタッチされます。

HaVip の作成

HaVip は、HANA インスタンスがサービスを提供するために使用され、サービスサブネット上の IP アドレスです。

[VPC コンソール] にログインし、[VPC コンソール高可用性仮想 IP(HAVIP)を作成する] を選択し、 をクリックします。ビジネス CIDR ブロック内の vSwitch (プライマリ NIC) を選択し、必要に応じて自動または手動の IP アドレス割り当てを選択します。

説明

製品の適用については、Alibaba Cloud ソリューションアーキテクト (SA) にお問い合わせください。

SAP HANA プライマリノードとセカンダリノードの関連付け

作成した HaVIP の管理ページにアクセスし、クラスタ内の 2 つの ECS インスタンスをバインドします。

重要

初期バインド後、2 つの ECS インスタンスはスタンバイ状態になります。正しいステータスは、SUSE HAE のクラスタソフトウェアがリソースを引き継いだ後にのみ表示されます。

フェンスの構成

Alibaba Cloud は、SAP システムデプロイメントでフェンス機能を実現するための 2 つのソリューションを提供しています。ソリューション 1:共有ブロックストレージを使用することをお勧めします。選択したリージョンで共有ブロックストレージがサポートされていない場合は、ソリューション 2:fence_aliyun を選択します。

ソリューション 1:共有ブロックストレージ

ECS 共有ブロックストレージとは、複数の ECS インスタンスがデータを同時に読み書きできるデータブロックレベルのストレージデバイスを指します。高い同時実行率、高性能、高信頼性を備えています。単一のブロックは、最大 16 個の ECS インスタンスにアタッチできます。

HA クラスタの SBD デバイスとして、ECS インスタンスと同じリージョンとゾーンの共有ブロックストレージを選択し、HA クラスタの ECS インスタンスにアタッチします。

説明

製品の適用については、Alibaba Cloud ソリューションアーキテクト (SA) にお問い合わせください。

[1] 共有ブロックストレージの作成

[ECS コンソール] にログインし、[ECS ストレージとスナップショット] を選択し、[共有ブロックストレージ] をクリックし、同じリージョンとゾーンに共有ブロックストレージを作成します。

共有ブロックストレージデバイスが作成されたら、[共有ブロックストレージコンソール] に戻り、HA クラスタ内の 2 つの ECS インスタンスにアタッチします。

[2] 共有ブロックストレージの構成

オペレーティングシステムにログインしてディスク情報を確認します。

lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda    253:0    0  100G  0 disk
└─vda1 253:1    0  100G  0 part /
vdb    253:16   0  500G  0 disk
vdc    253:32   0  500G  0 disk
vdd    253:48   0  500G  0 disk
vde    253:64   0   64G  0 disk
vdf    253:80   0   20G  0 disk

この例では、/dev/vdf ディスクは共有ブロックストレージデバイス ID です。

ウォッチドッグの構成(クラスタ内の 2 つのノード)

echo "modprobe softdog" > /etc/init.d/boot.local
echo "softdog" > /etc/modules-load.d/watchdog.conf
modprobe softdog

//ウォッチドッグ構成の確認
ls -l /dev/watchdog
crw------- 1 root root 10, 130 Apr 23 12:09 /dev/watchdog
lsmod | grep -e wdt -e dog
softdog                16384  0 
grep -e wdt -e dog /etc/modules-load.d/watchdog.conf
softdog

SBD の構成(クラスタ内の 2 つのノード)

sbd -d /dev/vdf -4 60 -1 30 create

// SBD パラメータの設定
vim /etc/sysconfig/sbd

// SBD_DEVICE 値を共有ブロックストレージデバイスのデバイス ID に置き換えます
SBD_DEVICE="/dev/vdf"
SBD_STARTMODE="clean"
SBD_OPTS="-W"

SBD ステータスの確認

両方のノードで SBD ステータスを確認します

sbd -d /dev/vdf list

両方の SAP HANA ノードで SBD ステータスがクリアであることを確認します。

sbd -d /dev/vdf list
0       saphana-01      clear
1       saphana-02      clear

SBD 構成の確認

警告

フェンスされたノードが無効になっていることを確認します。この操作により、ノードが再起動されます。

この例では、プライマリノード saphana01 にログインします

sbd -d /dev/vdf message saphana-02 reset

セカンダリノード saphana-02 が正常に再起動した場合、構成は成功です。

セカンダリノードが再起動した後、手動でリセットしてクリア状態にする必要があります。

sbd -d /dev/vdf list
0       saphana-01      clear
1       saphana-02      reset   saphana-01
sbd -d /dev/vdf message saphana-02 clear
sbd -d /dev/vdf list
0       saphana-01      clear
1       saphana-02      clear   saphana-01

ソリューション 2:fence aliyun

Fence_aliyun は Alibaba Cloud プラットフォーム向けに開発され、高可用性環境で SAP システムの障害ノードを分離するために使用されます。Alibaba Cloud API を呼び出すことで、Alibaba Cloud リソースを柔軟にスケジュールおよび管理し、同じゾーンに SAP システムをデプロイして、コア SAP アプリケーションの高可用性デプロイ要件を満たすことができます。

Fence_aliyun は、Alibaba Cloud 環境向けに開発されたオープンソースのフェンスエージェントです。SAP システム高可用性環境の障害ノードを分離するために使用されます。

SUSE Enterprise Server for SAP Applications 12 SP4 以降のバージョンには、fence_aliyun コンポーネントがネイティブに統合されています。このコンポーネントを使用すると、追加のダウンロードやインストールを行うことなく、Alibaba Cloud パブリッククラウドで SAP システムの高可用性デプロイに直接使用できます。

[1] 環境の準備

説明

この例では、Alibaba Cloud SUSE CSP イメージを使用して SUSE コンポーネントをダウンロードまたは更新します。SUSE SMT 更新ソースに直接接続して、SUSE コンポーネントをダウンロードまたは更新できます。

カスタムイメージを使用している場合は、「SUSE Connect コマンドラインツールを使用して SLES を登録する方法」を参照して、SUSE 公式更新リポジトリに接続してください。

python などのオープンソースソフトウェアをインストールするには、インターネットに接続する必要があります。ECS インスタンスまたは NAT ゲートウェイに EIP を構成していることを確認してください。

python と pip のインストール

Fence_aliyun は python3.6 以降のバージョンのみをサポートしています。最小バージョン要件を満たしていることを確認してください。

// Python3 のバージョンの確認。
python3 -V
Python 3.6.15
// Python パッケージ管理ツール pip のバージョンの確認。
pip -V
pip 21.2.4 from /usr/lib/python3.6/site-packages/pip (python 3.6)

Python 3 がインストールされていないか、Python 3.6 より前のバージョンの場合は、python 3.6 以降をインストールする必要があります。

以下は、python 3.6.15 をインストールする例です。

// python3.6 のインストール
wget https://www.python.org/ftp/python/3.6.15/Python-3.6.15.tgz
tar -xf Python-3.6.15.tgz
./configure
make && make install
// インストールの確認
python3 -V

// pip のインストール
curl https://bootstrap.pypa.io/pip/3.6/get-pip.py -o get-pip.py
python3 get-pip.py
// インストールの確認
pip3 -V

[2] aliyun SDK のインストール

説明

aliyun-python-sdk-core バージョンが 2.13.35 以降であり、aliyun-python-sdk-ecs バージョンが 4.24.8 以降であることを確認してください。

python3 -m pip install --upgrade pip
pip3 install --upgrade  aliyun-python-sdk-core
pip3 install --upgrade  aliyun-python-sdk-ecs
// 依存関係パッケージのインストール
pip3 install pycurl pexpect
zypper install libcurl-devel

// インストールの確認
pip3 list | grep aliyun-python
aliyun-python-sdk-core 2.13.35
aliyun-python-sdk-core-v3 2.13.32
aliyun-python-sdk-ecs  4.24.8

[3] RAM ロールの構成

Fence_aliyun は RAM ロールを使用して、ECS インスタンスなどのクラウド リソースのステータスを取得し、インスタンスを起動または停止します。

[Alibaba Cloud コンソール] にログインします。[アクセス制御ポリシー] を選択します。[ポリシー] ページで、[ポリシーの作成] をクリックします。

この例では、ポリシー名は SAP-HA-ROLE-POLICY です。ポリシーの内容は次のとおりです。

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecs:StartInstance",
                "ecs:StopInstance",
                "ecs:RebootInstance",
                "ecs:DescribeInstances"
            ],
            "Resource": [
                "acs:ecs:*:*:instance/*"
            ]
        }
    ]
}

ロールへのアクセス許可ポリシーの付与

コンソールに戻り、[ロール] を選択し、AliyunECSAccessingHBRRole を見つけます。[アクセス許可の追加] をクリックし、[権限を追加する] を選択し、SAP-HA-ROLE-POLICY を AliyunECSAccessingHBRRole ロールに追加します。

ECS インスタンスへの RAM ロールの承認

[ECS コンソール] で、[その他] を選択し、[詳細] を選択し、AliyunECSAccessingHBRRole を選択または手動で作成します。

[4] fence_aliyun のインストールと構成

fence_aliyun の最新バージョンのダウンロード

重要

fence_aliyun をダウンロードするには、github にアクセスする必要があります。ECS インスタンスのネットワーク環境が github に適切にアクセスできることを確認してください。問題が発生した場合は、[チケットを送信] してヘルプを求めてください。

curl https://raw.githubusercontent.com/ClusterLabs/fence-agents/master/agents/aliyun/fence_aliyun.py > /usr/sbin/fence_aliyun

// アクセス許可の構成
chmod 755 /usr/sbin/fence_aliyun
chown root:root /usr/sbin/fence_aliyun

適応ユーザー環境

// インタープリターを python3 に指定します
sed -i "1s|@PYTHON@|$(which python3 2>/dev/null || which python 2>/dev/null)|" /usr/sbin/fence_aliyun
// フェンスエージェントの lib ディレクトリを指定します
sed -i "s|@FENCEAGENTSLIBDIR@|/usr/share/fence|" /usr/sbin/fence_aliyun

インストールの確認

// fence_aliyun を使用して ECS インスタンスの実行ステータスを照会します
// 構文例:
// fence_aliyun --[リージョン ID] --ram-role [RAM ロール] --action status --plug '[ECS インスタンス ID]'
// 例:
fence_aliyun --region cn-beijing --ram-role AliyunECSAccessingHBRRole --action status --plug 'i-xxxxxxxxxxxxxxxxxxxx'

// 構成が正常な場合、インスタンスのステータスが返されます。例:
Status: ON
説明

リージョンとリージョン ID の詳細については、「リージョンとゾーン」をご参照ください。

オペレーティングシステムの構成

ホスト名の変更

HA クラスタの 2 つの ECS インスタンスで、2 つの SAP HANA サーバー間のホスト名解決を構成できます。

この例のファイル /etc/hosts の内容は次のとおりです。

127.0.0.1       localhost
//サービスネットワーク
192.168.10.168  saphana-01      saphana-01
192.168.10.169  saphana-02      saphana-02

//ハートビートネットワーク
192.168.20.19   hana-ha01 hana-ha01
192.168.20.20   hana-ha02 hana-ha02

SSH パスワードなし接続サービスの構成

2 つの HANA サーバーで SSH パスワードなし接続サービスを構成する必要があります。操作は次のとおりです。

認証公開鍵の構成

HANA プライマリノードで次のコマンドを実行します。

ssh-keygen -t rsa
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.10.169

HANA セカンダリノードで次のコマンドを実行します。

ssh-keygen -t rsa
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.10.168

構成の確認

SSH パスワードなし接続サービスを確認します。SSH を介して相互にノードにログインします。両方のログインプロセスでパスワードが不要な場合、サービスは成功です。

DHCP によるホスト名の自動構成の無効化

HANA プライマリノードと HANA セカンダリノードの両方で次のコマンドを実行します。

sed -i '/DHCLIENT_SET_HOSTNAME/ c\DHCLIENT_SET_HOSTNAME="no"' /etc/sysconfig/network/dhcp

etc/hosts 内のファイルの自動更新の無効化

sed -i "s/^ - update_etc_hosts/#- update_etc_hosts/" /etc/cloud/cloud.cfg

クロックソースを tsc に設定

[1] 現在の時間ソース構成を確認します

cat /sys/devices/system/clocksource/clocksource0/current_clocksource
kvm-clock

[2] 使用可能なクロックソースを照会します

cat /sys/devices/system/clocksource/clocksource0/available_clocksource
kvm-clock tsc acpi_pm

[3] クロックソースを tsc に設定します

sudo bash -c 'echo tsc > /sys/devices/system/clocksource/clocksource0/current_clocksource'

設定が成功すると、カーネルメッセージに次の情報が表示されます。

dmesg | less
clocksource: Switched to clocksource tsc

[4] システム起動時のクロックソースを tsc に構成します

/etc/default/grub をバックアップおよび編集し、GRUB_CMDLINE_LINUX に clocksource=tsc tsc=reliable を追加します。

GRUB_CMDLINE_LINUX=" net.ifnames=0 console=tty0 console=ttyS0,115200n8 clocksource=tsc tsc=reliable"

// grub.cfg ファイルを生成します
grub2-mkconfig -o /boot/grub2/grub.cfg

[ECS コンソール] にログインし、ECS インスタンスを再起動して変更を有効にします。

SAP 用 ECS メトリクスコレクター

ECS メトリクスコレクターは、SAP システムが Alibaba Cloud で使用して、将来のパフォーマンス統計と問題分析に必要な仮想マシン構成情報と基盤となる物理リソース使用量情報を収集する監視エージェントです。

SAP アプリケーションとデータベースごとにメトリクスコレクターをインストールする必要があります。監視エージェントのデプロイ方法の詳細については、「SAP デプロイメントガイド用 ECS メトリクスコレクター」をご参照ください。

SAP HANA ファイルシステムのパーティション分割

前のファイルシステム計画によると、LVM を使用してクラウドディスクを管理および構成します。

LVM の詳細については、「LVM HOWTO」をご参照ください。

  • PV&VG の作成

pvcreate /dev/vdb /dev/vdc /dev/vdd /dev/vde /dev/vdf /dev/vdg
vgcreate datavg /dev/vdb /dev/vdc /dev/vdd
vgcreate logvg /dev/vde
vgcreate sharedvg /dev/vdf
vgcreate sapvg /dev/vdg
  • LV の作成

// datavg 内の 3 つの 300GB SSD のストライプを作成します
 lvcreate -l 100%FREE -n datalv -i 3 -I 256 datavg
 lvcreate -l 100%FREE -n loglv logvg
 lvcreate -l 100%FREE -n sharedlv sharedvg
 lvcreate -l 100%FREE -n usrsaplv sapvg
  • マウントポイントを作成し、ファイルシステムをフォーマットします

mkdir -p /usr/sap /hana/data /hana/log /hana/shared
mkfs.xfs /dev/sapvg/usrsaplv
mkfs.xfs /dev/datavg/datalv
mkfs.xfs /dev/logvg/loglv
mkfs.xfs /dev/sharedvg/sharedlv
  • ファイルシステムをマウントし、自動起動構成に追加します

vim /etc/fstab
// 次の項目を追加します。
/dev/mapper/datavg-datalv  /hana/data  xfs defaults    0   0
/dev/mapper/logvg-loglv   /hana/log   xfs defaults    0   0
/dev/mapper/sharedvg-sharedlv    /hana/shared    xfs defaults    0   0
/dev/mapper/sapvg-usrsaplv /usr/sap    xfs defaults    0   0

// ファイルシステムのマウント
mount -a

SAP HANA のインストールと構成

SAP HANA のインストール

説明

SAP HANA のプライマリノードとセカンダリノードのシステム ID とインスタンス ID は同じである必要があります。この例では、SAP HANA のシステム ID は H01、インスタンス ID は 00 です。

SAP HANA のインストールと構成については、「SAP HANA プラットフォーム」をご参照ください。

HANA システムレプリケーションの構成

SLES Cluster HA のインストールと構成

SUSE HAE のインストール

SUSE HAE の操作の詳細については、「SUSE 製品ドキュメント」をご参照ください。

SAP HANA データベースのプライマリノードとセカンダリノードに SUSE HAE と SAPHanaSR がインストールされているかどうかを確認します。

説明

この例では、有料の SUSE イメージが使用されています。イメージには SUSE SMT サーバーがプリインストールされており、コンポーネントの確認とインストールに使用できます。イメージがカスタムイメージまたはその他のイメージの場合は、SUSE 認定イメージを購入して公式の SUSE SMT サーバーに登録するか、zypper リポジトリを手動で構成する必要があります。

次のコンポーネントが正しくインストールされていることを確認します。

// SAP バージョンの SLES 12 のコンポーネント
zypper in -y patterns-sles-sap_server
zypper in -y patterns-ha-ha_sles sap_suse_cluster_connector saptune fence-agents
// SAP バージョンの SLES 15 のコンポーネント
zypper in -y patterns-server-enterprise-sap_server
zypper in -y patterns-ha-ha_sles sap-suse-cluster-connector corosync-qdevice saptune fence-agents

クラスタの構成

SAP HANA インスタンスの VNC から Corosync を構成します。

// クラスタ構成ページに移動します
yast2 cluster

[1] 通信チャネルの構成

  • [チャネル] にはハートビート CIDR ブロックを、[冗長チャネル] にはサービス CIDR ブロックを選択します。

  • [メンバーアドレス] を正しい順序で追加します([冗長チャネル] 入力サービスアドレス)

  • [予期される投票数]:2

  • [トランスポート]:ユニキャスト

[2] セキュリティの構成

「[セキュリティ認証を有効にする]」を選択し、「[認証キーファイルの生成]」をクリックします

[3] Csync2 の構成

  • 同期ホストを追加します

  • [推奨ファイルの追加] をクリックします

  • [事前共有キーの生成] をクリックします

  • [csync2 をオンにする] をクリックします

conntrackd を構成します。デフォルト値を保持し、次の手順に進みます。

[4] サービスの構成

  • クラスタサービスが起動時に自動的に起動しないことを確認します。

構成が完了したら、ファイルを保存して終了します。Corosync 構成ファイルを SAP HANA のセカンダリノードにコピーします。

# scp -pr /etc/corosync/authkey /etc/corosync/corosync.conf root@saphana-02:/etc/corosync/

[5] クラスタの起動

両方のノードで次のコマンドを実行します。

# systemctl start pacemaker

[6] クラスタステータスの表示

これで両方のノードがオンラインになったので、後で管理対象リソースを構成します。

crm_mon -r
Stack: corosync
Current DC: saphana-02 (version 1.1.16-4.8-77ea74d) - partition with quorum
Last updated: Tue Apr 23 11:22:38 2019
Last change: Tue Apr 23 11:22:36 2019 by hacluster via crmd on saphana-02

2 nodes configured
0 resources configured

Online: [ saphana-01 saphana-02 ]

No resources

[7] WEB ページグラフィカル構成の起動

(1) 2 つの ECS インスタンスで Hawk2 サービスをアクティブにします。

// hacluster ユーザーのパスワードを設定します。
passwd hacluster

// サービスを再起動して設定を有効にします。
systemctl restart hawk

(2) Hawk2 へのアクセス

ブラウザを開き、hawk WEB コンソールにアクセスします

https://[ECS インスタンス IP アドレス]:7630

ユーザー名 hacluster とパスワードを入力してログインします。

SAP HANA と SUSE HAE の統合

この例では、SBD フェンスデバイスの 2 つの構成を紹介します。SBD フェンススキームに基づいて、対応する構成スクリプトを選択します。

ソリューション 1:共有ブロックストレージを使用して SBD フェンスを実装する

クラスタ内のノードにログインし、スクリプト内の SID、InstanceNumber、および params ip を SAP システムの値に置き換えます。

この例では、SID:H01、InstanceNumber:00、params ip:192.168.10.12、スクリプトファイル名 HANA_HA_script.txt です

###SAP HANA トポロジは、HANA ランドスケープを監視および分析し、2 つのノード間でステータスを通信するリソースエージェントです##
primitive rsc_SAPHanaTopology_HDB ocf:suse:SAPHanaTopology \
        operations $id=rsc_SAPHanaTopology_HDB-operations \
        op monitor interval=10 timeout=600 \
        op start interval=0 timeout=600 \
        op stop interval=0 timeout=300 \
        params SID=H01 InstanceNumber=00
###このファイルは、仮想 IP とともにクラスタ内のリソースを定義します###
primitive rsc_SAPHana_HDB ocf:suse:SAPHana \
        operations $id=rsc_SAPHana_HDB-operations \
        op start interval=0 timeout=3600 \
        op stop interval=0 timeout=3600 \
        op promote interval=0 timeout=3600 \
        op monitor interval=60 role=Master timeout=700 \
        op monitor interval=61 role=Slave timeout=700 \
        params SID=H01 InstanceNumber=00 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=false
//これは sbd 設定用です##
primitive rsc_sbd stonith:external/sbd \
        op monitor interval=20 timeout=15 \
        meta target-role=Started maintenance=false
//これは VIP リソース設定用です##
primitive rsc_vip IPaddr2 \
        operations $id=rsc_vip-operations \
        op monitor interval=10s timeout=20s \
        params ip=192.168.10.12
ms msl_SAPHana_HDB rsc_SAPHana_HDB \
        meta is-managed=true notify=true clone-max=2 clone-node-max=1 target-role=Started interleave=true maintenance=false
clone cln_SAPHanaTopology_HDB rsc_SAPHanaTopology_HDB \
        meta is-managed=true clone-node-max=1 target-role=Started interleave=true maintenance=false
colocation col_saphana_ip_HDB 2000: rsc_vip:Started msl_SAPHana_HDB:Master
order ord_SAPHana_HDB Optional:cln_SAPHanaTopology_HDB msl_SAPHana_HDB
property cib-bootstrap-options:\
        have-watchdog=true \
        cluster-infrastructure=corosync \
        cluster-name=cluster \
        no-quorum-policy=ignore \
        stonith-enabled=true \
        stonith-action=reboot \
        stonith-timeout=150s
rsc_defaults rsc-options: \
        migration-threshold=5000 \
        resource-stickiness=1000
op_defaults op-options: \
        timeout=600 \
        record-pending=true

ソリューション 2:フェンスエージェントを使用して SBD フェンスを実装する

クラスタノードにログインし、txt ファイルを作成します。前の例のスクリプトをコピーし、SAP HANA のデプロイ状況に基づいて次のパラメータを変更します。

  • plug の値を SAP HANA クラスタ内の 2 つの ECS インスタンスの ID に置き換えます。

  • ram_role の値を、上記で構成した RAM ロールの値に置き換えます。

  • region の値を ECS インスタンスのリージョン ID に置き換えます。

  • IP アドレスをクラスタの HaVip アドレスに置き換えます。

  • SID と InstanceNumber を SAP HANA インスタンスの SID と ID に置き換えます。

  • location パラメータを SAP HANA インスタンスのホスト名に置き換えます。

説明

Alibaba Cloud リージョンとリージョン ID の関係は明白です。「リージョンとゾーン」をご参照ください。

この例のスクリプトファイル名:HANA_HA_script.txt

primitive res_ALIYUN_STONITH_1 stonith:fence_aliyun \
    op monitor interval=120 timeout=60 \
    params plug= 
i-xxxxxxxxxxxxxxxxxxxx //ECS インスタンス ID
 ram_role= 
AliyunECSAccessingHBRRole //RAM ロール
 region= 
cn-beijing //リージョン ID
 \
    meta target-role=Started
primitive res_ALIYUN_STONITH_2 stonith:fence_aliyun \
    op monitor interval=120 timeout=60 \
    params plug= 
i-xxxxxxxxxxxxxxxxxxxx //ECS インスタンス ID
 ram_role= 
AliyunECSAccessingHBRRole //RAM ロール
 region= 
cn-beijing //リージョン ID
 \
    meta target-role=Started
// havip リソース
primitive rsc_vip IPaddr2 \
        operations $id=rsc_vip-operations \
        op monitor interval=10s timeout=20s \
        params ip= 
192.168.10.12 //havip アドレス

// SAP HANA トポロジは、HANA ランドスケープを監視および分析し、2 つのノード間でステータスを通信するリソースエージェントです
primitive rsc_SAPHanaTopology_HDB ocf:suse:SAPHanaTopology \
        operations $id=rsc_SAPHanaTopology_HDB-operations \
        op monitor interval=10 timeout=600 \
        op start interval=0 timeout=600 \
        op stop interval=0 timeout=300 \
        params SID= 
H01 //SAP HANA SID
 InstanceNumber= 
00 //SAP HANA ID

// このファイルは、仮想 IP とともにクラスタ内のリソースを定義します
primitive rsc_SAPHana_HDB ocf:suse:SAPHana \
        operations $id=rsc_SAPHana_HDB-operations \
        op start interval=0 timeout=3600 \
        op stop interval=0 timeout=3600 \
        op promote interval=0 timeout=3600 \
        op monitor interval=60 role=Master timeout=700 \
        op monitor interval=61 role=Slave timeout=700 \
        params SID= 
H01 //SAP HANA SID
 InstanceNumber= 
00 //SAP HANA ID
 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=false

ms msl_SAPHana_HDB rsc_SAPHana_HDB \
        meta is-managed=true notify=true clone-max=2 clone-node-max=1 target-role=Started interleave=true maintenance=false
clone cln_SAPHanaTopology_HDB rsc_SAPHanaTopology_HDB \
        meta is-managed=true clone-node-max=1 target-role=Started interleave=true maintenance=false
colocation col_saphana_ip_HDB 2000: rsc_vip:Started msl_SAPHana_HDB:Master
location  
loc_hana-master_stonith_not_on_hana-master //ロケーションパラメータ
 res_ALIYUN_STONITH_1 -inf:  
hana-master //SAP HANA インスタンスのホスト名

//Stonith 1 は、プライマリノードを制御しているため、プライマリノードで実行しないでください
location  
loc_hana-slave_stonith_not_on_hana-slave //ロケーションパラメータ
 res_ALIYUN_STONITH_2 -inf:  
hana-slave //SAP HANA インスタンスのホスト名

order ord_SAPHana_HDB Optional: cln_SAPHanaTopology_HDB msl_SAPHana_HDB

property cib-bootstrap-options: \
        have-watchdog=false \
        cluster-infrastructure=corosync \
        cluster-name=cluster \
        stonith-enabled=true \
        stonith-action=off \
        stonith-timeout=150s
rsc_defaults rsc-options: \
        migration-threshold=5000 \
        resource-stickiness=1000
op_defaults op-options: \
        timeout=600

root ユーザーとして次のコマンドを実行して、SUSE HAE が SAP HANA リソースを引き継ぐことを許可します。

crm configure load update HANA_HA_script.txt

クラスタステータスの確認

Hawk2 WEB コンソールにログインし、https://[ECS インスタンス IP アドレス]:7630 でサーバーにアクセスします。

ソリューション 1:SUSE HAE クラスタのステータスとダッシュボードは次のとおりです。

hanasr_05

hanasr_06

任意のノードにログインして crmsh コマンドを実行し、クラスタステータスを確認することもできます。

crm_mon -r
Stack: corosync
Current DC: saphana-01 (version 1.1.16-4.8-77ea74d) - partition with quorum
Last updated: Wed Apr 24 11:48:38 2019
Last change: Wed Apr 24 11:48:35 2019 by root via crm_attribute on saphana-01

2 nodes configured
6 resources configured

Online: [ saphana-01 saphana-02 ]

Full list of resources:

rsc_sbd (stonith:external/sbd): Started saphana-01
rsc_vip (ocf::heartbeat:IPaddr2):       Started saphana-01
 Master/Slave Set: msl_SAPHana_HDB [rsc_SAPHana_HDB]
     Masters: [ saphana-01 ]
     Slaves: [ saphana-02 ]
 Clone Set: cln_SAPHanaTopology_HDB [rsc_SAPHanaTopology_HDB]
     Started: [ saphana-01 saphana-02 ]

ソリューション 2:フェンスエージェントの SUSE HAE クラスタのステータスとダッシュボードは次のとおりです。

12

任意のノードにログインして crmsh コマンドを実行し、クラスタステータスを確認することもできます。

crm_mon -r
Stack: corosync
Current DC: hana02 (version 2.0.1+20190417.13d370ca9-3.21.1-2.0.1+20190417.13d370ca9) - partition with quorum
Last updated: Sat Jan 29 13:14:47 2022
Last change: Sat Jan 29 13:13:44 2022 by root via crm_attribute on hana01

2 nodes configured
7 resources configured

Online: [ hana01 hana02 ]

Full list of resources:

res_ALIYUN_STONITH_1    (stonith:fence_aliyun): Started hana02
res_ALIYUN_STONITH_2    (stonith:fence_aliyun): Started hana01
rsc_vip (ocf::heartbeat:IPaddr2):       Started hana01
 Clone Set: msl_SAPHana_HDB [rsc_SAPHana_HDB] (promotable)
     Masters: [ hana01 ]
     Slaves: [ hana02 ]
 Clone Set: cln_SAPHanaTopology_HDB [rsc_SAPHanaTopology_HDB]
     Started: [ hana01 hana02 ]

参考文献