Red Hat Enterprise Linux 上の Azure VM での SAP HANA の高可用性High availability of SAP HANA on Azure VMs on Red Hat Enterprise Linux

オンプレミス開発の場合、HANA システム レプリケーションまたは共有記憶域を使用して、SAP HANA の高可用性を実現できます。For on-premises development, you can use either HANA System Replication or use shared storage to establish high availability for SAP HANA. Azure 仮想マシン (VM) 上では、Azure VM HANA システム レプリケーションが現在サポートされている唯一の高可用性機能です。On Azure virtual machines (VMs), HANA System Replication on Azure is currently the only supported high availability function. SAP HANA レプリケーション は、1 つのプライマリ ノードと、少なくとも 1 つのセカンダリ ノードで構成されています。SAP HANA Replication consists of one primary node and at least one secondary node. プライマリ ノードのデータに対する変更は、セカンダリ ノードに同期的または非同期的にレプリケートされます。Changes to the data on the primary node are replicated to the secondary node synchronously or asynchronously.

この記事では、仮想マシンのデプロイおよび構成方法、クラスター フレームワークのインストール方法、SAP HANA システム レプリケーションのインストールおよび構成方法について説明します。This article describes how to deploy and configure the virtual machines, install the cluster framework, and install and configure SAP HANA System Replication. サンプルの構成では、インストールのコマンドで、インスタンス番号として 03、HANA システム ID として HN1 が使用されています。In the example configurations, installation commands, instance number 03, and HANA System ID HN1 are used.

はじめに、次の SAP Note およびガイドを確認してくださいRead the following SAP Notes and papers first:

概要Overview

高可用性を実現するために、SAP HANA は 2 台の仮想マシンにインストールされます。To achieve high availability, SAP HANA is installed on two virtual machines. データは、HANA システム レプリケーションを使用してレプリケートされます。The data is replicated by using HANA System Replication.

SAP HANA の高可用性の概要

SAP HANA システム要件の設定では、専用の仮想ホスト名と仮想 IP アドレスが使用されます。SAP HANA System Replication setup uses a dedicated virtual hostname and virtual IP addresses. Azure では、仮想 IP アドレスを使用するためにロード バランサーが必要になります。On Azure, a load balancer is required to use a virtual IP address. ロード バランサーの構成を次に示します。The following list shows the configuration of the load balancer:

  • フロントエンド構成:IP アドレス 10.0.0.13 (hn1-db)Front-end configuration: IP address 10.0.0.13 for hn1-db
  • バックエンド構成:HANA システム レプリケーションに含める必要のあるすべての仮想マシンのプライマリ ネットワーク インターフェイスに接続済みBack-end configuration: Connected to primary network interfaces of all virtual machines that should be part of HANA System Replication
  • プローブ ポート:ポート 62503Probe Port: Port 62503
  • 負荷分散規則:30313 TCP、30315 TCP、30317 TCP、30340 TCP、30341 TCP、30342 TCPLoad-balancing rules: 30313 TCP, 30315 TCP, 30317 TCP, 30340 TCP, 30341 TCP, 30342 TCP

Linux 用デプロイDeploy for Linux

Azure Marketplace には Red Hat Enterprise Linux 7.4 for SAP HANA のイメージが含まれており、これを新しい仮想マシンのデプロイに使用できます。The Azure Marketplace contains an image for Red Hat Enterprise Linux 7.4 for SAP HANA that you can use to deploy new virtual machines.

テンプレートを使用したデプロイDeploy with a template

GitHub にあるいずれかのクイック スタート テンプレートを使用して、必要なすべてのリソースをデプロイできます。You can use one of the quickstart templates that are on GitHub to deploy all the required resources. テンプレートでは、仮想マシン、ロード バランサー、可用性セットなどをデプロイできます。The template deploys the virtual machines, the load balancer, the availability set, and so on. テンプレートをデプロイするには、次の手順に従います。To deploy the template, follow these steps:

  1. Azure portal でデータベース テンプレートを開きます。Open the database template on the Azure portal.
  2. 次のパラメーターを入力します。Enter the following parameters:
    • [Sap System Id](SAP システム ID) :インストールする SAP システムの SAP システム ID を入力します。Sap System ID: Enter the SAP system ID of the SAP system you want to install. この ID は、デプロイされるリソースのプレフィックスとして使われます。The ID is used as a prefix for the resources that are deployed.
    • [OS Type](OS の種類) :いずれかの Linux ディストリビューションを選択します。Os Type: Select one of the Linux distributions. この例では、 [RHEL 7] を選択します。For this example, select RHEL 7.
    • [Db Type](データベースの種類) : [HANA] を選択します。Db Type: Select HANA.
    • [Sap System Size](SAP システムのサイズ) :新しいシステムが提供する SAPS の数を入力します。Sap System Size: Enter the number of SAPS that the new system is going to provide. システムに必要な SAPS の数がわからない場合は、SAP のテクノロジ パートナーまたはシステム インテグレーターにお問い合わせください。If you're not sure how many SAPS the system requires, ask your SAP Technology Partner or System Integrator.
    • [System Availability](システムの可用性) : [HA] を選択します。System Availability: Select HA.
    • [Admin Username, Admin Password or SSH key](管理ユーザー名、管理パスワード、SSH キー) :コンピューターへのサインインに使用できる新しいユーザーが作成されます。Admin Username, Admin Password or SSH key: A new user is created that can be used to sign in to the machine.
    • [Subnet ID](サブネット ID) :VM を既存の VNet にデプロイする場合、その VNet で VM の割り当て先サブネットが定義されているときは、その特定のサブネットの ID を指定します。Subnet ID: If you want to deploy the VM into an existing VNet where you have a subnet defined the VM should be assigned to, name the ID of that specific subnet. 通常、ID は /subscriptions/<subscription ID>/resourceGroups/<resource group name>/providers/Microsoft.Network/virtualNetworks/<virtual network name>/subnets/<subnet name> のようになります。The ID usually looks like /subscriptions/<subscription ID>/resourceGroups/<resource group name>/providers/Microsoft.Network/virtualNetworks/<virtual network name>/subnets/<subnet name>. 新しい仮想ネットワークを作成する場合は、空白のままにしますLeave empty, if you want to create a new virtual network

手動デプロイManual deployment

  1. リソース グループを作成します。Create a resource group.
  2. 仮想ネットワークを作成します。Create a virtual network.
  3. 可用性セットを作成します。Create an availability set.
    更新ドメインの最大数を設定します。Set the max update domain.
  4. ロード バランサー (内部) を作成します。Create a load balancer (internal). Standard Load Balancer をお勧めします。We recommend standard load balancer.
    • 手順 2 で作成した仮想ネットワークを選択します。Select the virtual network created in step 2.
  5. 仮想マシン 1 を作成します。Create virtual machine 1.
    Red Hat Enterprise Linux 7.4 for SAP HANA 以降を使用します。Use at least Red Hat Enterprise Linux 7.4 for SAP HANA. この例では、Red Hat Enterprise Linux 7.4 for SAP HANA のイメージを使用していますhttps://portal.azure.com/#create/RedHat.RedHatEnterpriseLinux75forSAP-ARM 手順 3 で作成した可用性セットを選択します。This example uses the Red Hat Enterprise Linux 7.4 for SAP HANA image https://portal.azure.com/#create/RedHat.RedHatEnterpriseLinux75forSAP-ARM Select the availability set created in step 3.
  6. 仮想マシン 2 を作成します。Create virtual machine 2.
    Red Hat Enterprise Linux 7.4 for SAP HANA 以降を使用します。Use at least Red Hat Enterprise Linux 7.4 for SAP HANA. この例では、Red Hat Enterprise Linux 7.4 for SAP HANA のイメージを使用していますhttps://portal.azure.com/#create/RedHat.RedHatEnterpriseLinux75forSAP-ARM 手順 3 で作成した可用性セットを選択します。This example uses the Red Hat Enterprise Linux 7.4 for SAP HANA image https://portal.azure.com/#create/RedHat.RedHatEnterpriseLinux75forSAP-ARM Select the availability set created in step 3.
  7. データ ディスクを追加します。Add data disks.

重要

フローティング IP は、負荷分散シナリオの NIC セカンダリ IP 構成ではサポートされていません。Floating IP is not supported on a NIC secondary IP configuration in load-balancing scenarios. 詳細については、Azure Load Balancer の制限事項に関する記事を参照してください。For details see Azure Load balancer Limitations. VM に追加の IP アドレスが必要な場合は、2 つ目の NIC をデプロイします。If you need additional IP address for the VM, deploy a second NIC.

注意

パブリック IP アドレスのない VM が、内部 (パブリック IP アドレスがない) Standard の Azure Load Balancer のバックエンド プール内に配置されている場合、パブリック エンドポイントへのルーティングを許可するように追加の構成が実行されない限り、送信インターネット接続はありません。When VMs without public IP addresses are placed in the backend pool of internal (no public IP address) Standard Azure load balancer, there will be no outbound internet connectivity, unless additional configuration is performed to allow routing to public end points. 送信接続を実現する方法の詳細については、「SAP の高可用性シナリオにおける Azure Standard Load Balancer を使用した Virtual Machines のパブリック エンドポイント接続」を参照してください。For details on how to achieve outbound connectivity see Public endpoint connectivity for Virtual Machines using Azure Standard Load Balancer in SAP high-availability scenarios.

  1. Standard Load Balancer を使用している場合は、次の構成手順に従います。If using standard load balancer, follow these configuration steps:

    1. まず、フロントエンド IP プールを作成します。First, create a front-end IP pool:

      1. ロード バランサーを開き、 [frontend IP pool](フロントエンド IP プール) を選択して [Add](追加) を選択しますOpen the load balancer, select frontend IP pool, and select Add.
      2. 新規のフロントエンド IP プールの名前を入力します (例: hana-frontend)。Enter the name of the new front-end IP pool (for example, hana-frontend).
      3. [Assignment](割り当て)[Static](静的) に設定し、IP アドレスを入力します (例: 10.0.0.13)。Set the Assignment to Static and enter the IP address (for example, 10.0.0.13).
      4. [OK] を選択します。Select OK.
      5. 新しいフロントエンド IP プールが作成されたら、プールの IP アドレスを書き留めます。After the new front-end IP pool is created, note the pool IP address.
    2. 次に、バックエンド プールを作成します。Next, create a back-end pool:

      1. ロードバランサーを開き、 [backend pools](バックエンド プール) を選択し、 [Add](追加) を選択します。Open the load balancer, select backend pools, and select Add.
      2. 新しいバックエンド プールの名前を入力します (例: hana-backend)。Enter the name of the new back-end pool (for example, hana-backend).
      3. [Add a virtual machine](仮想マシンの追加) を選択します。Select Add a virtual machine.
      4. ** 仮想マシン**を選択します。Select ** Virtual machine**.
      5. SAP HANA クラスターの仮想マシンとその IP アドレスを選択します。Select the virtual machines of the SAP HANA cluster and their IP addresses.
      6. [追加] を選択します。Select Add.
    3. 次に、正常性プローブを作成します。Next, create a health probe:

      1. ロード バランサーを開き、 [health probes](正常性プローブ) を選択して [Add](追加) を選択します。Open the load balancer, select health probes, and select Add.
      2. 新しい正常性プローブの名前を入力します (例: hana-hp)。Enter the name of the new health probe (for example, hana-hp).
      3. プロトコルとして [TCP] を選択し、ポート 625 03 を選択します。Select TCP as the protocol and port 625 03. [Interval](間隔) の値を 5 に設定し、 [Unhealthy threshold](異常しきい値) の値を 2 に設定します。Keep the Interval value set to 5, and the Unhealthy threshold value set to 2.
      4. [OK] を選択します。Select OK.
    4. 次に、負荷分散規則を作成します。Next, create the load-balancing rules:

      1. ロード バランサーを開き、 [load balancing rules](負荷分散規則) を選択して [Add](追加) を選択します。Open the load balancer, select load balancing rules, and select Add.
      2. 新しいロード バランサー規則の名前を入力します (例: hana-lb)。Enter the name of the new load balancer rule (for example, hana-lb).
      3. 前の手順で作成したフロントエンド IP アドレス、バックエンド プール、正常性プローブを選択します (例: hana-frontendhana-backendhana-hp)。Select the front-end IP address, the back-end pool, and the health probe that you created earlier (for example, hana-frontend, hana-backend and hana-hp).
      4. [HA ポート] を選択します。Select HA Ports.
      5. [idle timeout](アイドル タイムアウト) を 30 分に増やしますIncrease the idle timeout to 30 minutes.
      6. Floating IP を有効にしますMake sure to enable Floating IP.
      7. [OK] を選択します。Select OK.
  2. または、Basic Load Balancer を使用するシナリオの場合は、次の構成手順に従います。Alternatively, if your scenario dictates using basic load balancer, follow these configuration steps:

    1. ロードバランサーを構成します。Configure the load balancer. まず、フロントエンド IP プールを作成します。First, create a front-end IP pool:

      1. ロード バランサーを開き、 [frontend IP pool](フロントエンド IP プール) を選択して [Add](追加) を選択しますOpen the load balancer, select frontend IP pool, and select Add.
      2. 新規のフロントエンド IP プールの名前を入力します (例: hana-frontend)。Enter the name of the new front-end IP pool (for example, hana-frontend).
      3. [Assignment](割り当て)[Static](静的) に設定し、IP アドレスを入力します (例: 10.0.0.13)。Set the Assignment to Static and enter the IP address (for example, 10.0.0.13).
      4. [OK] を選択します。Select OK.
      5. 新しいフロントエンド IP プールが作成されたら、プールの IP アドレスを書き留めます。After the new front-end IP pool is created, note the pool IP address.
    2. 次に、バックエンド プールを作成します。Next, create a back-end pool:

      1. ロードバランサーを開き、 [backend pools](バックエンド プール) を選択し、 [Add](追加) を選択します。Open the load balancer, select backend pools, and select Add.
      2. 新しいバックエンド プールの名前を入力します (例: hana-backend)。Enter the name of the new back-end pool (for example, hana-backend).
      3. [Add a virtual machine](仮想マシンの追加) を選択します。Select Add a virtual machine.
      4. 手順 3 で作成した可用性セットを選択します。Select the availability set created in step 3.
      5. SAP HANA クラスターの仮想マシンを選択します。Select the virtual machines of the SAP HANA cluster.
      6. [OK] を選択します。Select OK.
    3. 次に、正常性プローブを作成します。Next, create a health probe:

      1. ロード バランサーを開き、 [health probes](正常性プローブ) を選択して [Add](追加) を選択します。Open the load balancer, select health probes, and select Add.
      2. 新しい正常性プローブの名前を入力します (例: hana-hp)。Enter the name of the new health probe (for example, hana-hp).
      3. プロトコルとして [TCP] を選択し、ポート 625 03 を選択します。Select TCP as the protocol and port 625 03. [Interval](間隔) の値を 5 に設定し、 [Unhealthy threshold](異常しきい値) の値を 2 に設定します。Keep the Interval value set to 5, and the Unhealthy threshold value set to 2.
      4. [OK] を選択します。Select OK.
    4. SAP HANA 1.0 の場合は、負荷分散規則を作成します。For SAP HANA 1.0, create the load-balancing rules:

      1. ロード バランサーを開き、 [load balancing rules](負荷分散規則) を選択して [Add](追加) を選択します。Open the load balancer, select load balancing rules, and select Add.
      2. 新しいロード バランサー規則の名前を入力します (例: hana-lb-3 03 15)。Enter the name of the new load balancer rule (for example, hana-lb-3 03 15).
      3. 前の手順で作成したフロントエンド IP アドレス、バックエンド プール、正常性プローブを選択します (例: hana-frontend)。Select the front-end IP address, the back-end pool, and the health probe that you created earlier (for example, hana-frontend).
      4. [Protocol](プロトコル)[TCP] に設定し、ポート 3 03 15 を入力します。Keep the Protocol set to TCP, and enter port 3 03 15.
      5. [idle timeout](アイドル タイムアウト) を 30 分に増やしますIncrease the idle timeout to 30 minutes.
      6. Floating IP を有効にしますMake sure to enable Floating IP.
      7. [OK] を選択します。Select OK.
      8. ポート 3 03 17 について、これらの手順を繰り返します。Repeat these steps for port 3 03 17.
    5. SAP HANA 2.0 の場合は、システム データベースの負荷分散規則を作成します。For SAP HANA 2.0, create the load-balancing rules for the system database:

      1. ロード バランサーを開き、 [load balancing rules](負荷分散規則) を選択して [Add](追加) を選択します。Open the load balancer, select load balancing rules, and select Add.
      2. 新しいロード バランサー規則の名前を入力します (例: hana-lb-3 03 13)。Enter the name of the new load balancer rule (for example, hana-lb-3 03 13).
      3. 前の手順で作成したフロントエンド IP アドレス、バックエンド プール、正常性プローブを選択します (例: hana-frontend)。Select the front-end IP address, the back-end pool, and the health probe that you created earlier (for example, hana-frontend).
      4. [Protocol](プロトコル)[TCP] に設定し、ポート 3 03 13 を入力します。Keep the Protocol set to TCP, and enter port 3 03 13.
      5. [idle timeout](アイドル タイムアウト) を 30 分に増やしますIncrease the idle timeout to 30 minutes.
      6. Floating IP を有効にしますMake sure to enable Floating IP.
      7. [OK] を選択します。Select OK.
      8. ポート 3 03 14 について、これらの手順を繰り返します。Repeat these steps for port 3 03 14.
    6. SAP HANA 2.0 の場合は、まずテナント データベースの負荷分散規則を作成します。For SAP HANA 2.0, first create the load-balancing rules for the tenant database:

      1. ロード バランサーを開き、 [load balancing rules](負荷分散規則) を選択して [Add](追加) を選択します。Open the load balancer, select load balancing rules, and select Add.
      2. 新しいロード バランサー規則の名前を入力します (例: hana-lb-3 03 40)。Enter the name of the new load balancer rule (for example, hana-lb-3 03 40).
      3. 前の手順で作成したフロントエンド IP アドレス、バックエンド プール、正常性プローブを選択します (例: hana-frontend)。Select the frontend IP address, backend pool, and health probe you created earlier (for example, hana-frontend).
      4. [Protocol](プロトコル)[TCP] に設定し、ポート 3 03 40 を入力します。Keep the Protocol set to TCP, and enter port 3 03 40.
      5. [idle timeout](アイドル タイムアウト) を 30 分に増やしますIncrease the idle timeout to 30 minutes.
      6. Floating IP を有効にしますMake sure to enable Floating IP.
      7. [OK] を選択します。Select OK.
      8. ポート 3 03 41 と 3 03 42 について、これらの手順を繰り返します。Repeat these steps for ports 3 03 41 and 3 03 42.

SAP HANA に必要なポートについて詳しくは、SAP HANA テナント データベース ガイドのテナント データベースへの接続に関する章または SAP Note 2388694 を参照してください。For more information about the required ports for SAP HANA, read the chapter Connections to Tenant Databases in the SAP HANA Tenant Databases guide or SAP Note 2388694.

重要

Azure Load Balancer の背後に配置された Azure VM では TCP タイムスタンプを有効にしないでください。Do not enable TCP timestamps on Azure VMs placed behind Azure Load Balancer. TCP タイムスタンプを有効にすると正常性プローブが失敗することになります。Enabling TCP timestamps will cause the health probes to fail. パラメーター net.ipv4.tcp_timestamps0 に設定します。Set parameter net.ipv4.tcp_timestamps to 0. 詳しくは、「Load Balancer の正常性プローブ」を参照してください。For details see Load Balancer health probes. SAP Note 2382421 も参照してください。See also SAP note 2382421.

SAP HANA のインストールInstall SAP HANA

このセクションの手順では、次のプレフィックスを使用します。The steps in this section use the following prefixes:

  • [A] :この手順はすべてのノードに適用されます。[A]: The step applies to all nodes.
  • [1] :この手順はノード 1 にのみ適用されます。[1]: The step applies to node 1 only.
  • [2] :この手順は Pacemaker クラスターのノード 2 にのみ適用されます。[2]: The step applies to node 2 of the Pacemaker cluster only.
  1. [A] ディスク レイアウトの設定:論理ボリューム マネージャー (LVM)[A] Set up the disk layout: Logical Volume Manager (LVM).

    データおよびログ ファイルを格納するボリュームには、LVM を使用することをお勧めします。We recommend that you use LVM for volumes that store data and log files. 次の例は、仮想マシンに 4 つのデータ ディスクがアタッチされていて、これを使用して 2 つのボリュームを作成するということを前提としています。The following example assumes that the virtual machines have four data disks attached that are used to create two volumes.

    すべての使用できるディスクの一覧を出力します。List all of the available disks:

    ls /dev/disk/azure/scsi1/lun*
    

    出力例:Example output:

    
    /dev/disk/azure/scsi1/lun0  /dev/disk/azure/scsi1/lun1  /dev/disk/azure/scsi1/lun2  /dev/disk/azure/scsi1/lun3
    

    使用するすべてのディスクの物理ボリュームを作成します。Create physical volumes for all of the disks that you want to use:

    sudo pvcreate /dev/disk/azure/scsi1/lun0
    sudo pvcreate /dev/disk/azure/scsi1/lun1
    sudo pvcreate /dev/disk/azure/scsi1/lun2
    sudo pvcreate /dev/disk/azure/scsi1/lun3
    

    データ ファイル用のボリューム グループを作成します。Create a volume group for the data files. ログ ファイル用に 1 つ、SAP HANA の共有ディレクトリ用に 1 つのボリューム グループを作成します。Use one volume group for the log files and one for the shared directory of SAP HANA:

    sudo vgcreate vg_hana_data_HN1 /dev/disk/azure/scsi1/lun0 /dev/disk/azure/scsi1/lun1
    sudo vgcreate vg_hana_log_HN1 /dev/disk/azure/scsi1/lun2
    sudo vgcreate vg_hana_shared_HN1 /dev/disk/azure/scsi1/lun3
    

    論理ボリュームを作成します。Create the logical volumes. -i スイッチを指定せずに lvcreate を使用すると、線形のボリュームが作成されます。A linear volume is created when you use lvcreate without the -i switch. I/O パフォーマンスを向上させるためにストライプ ボリュームを作成し、SAP HANA VM のストーレジ構成に関する記事に記載されている値にストライプ サイズを合わせることをお勧めします。We suggest that you create a striped volume for better I/O performance, and align the stripe sizes to the values documented in SAP HANA VM storage configurations. -i 引数は、基になる物理ボリュームの数、-I 引数はストライプ サイズにする必要があります。The -i argument should be the number of the underlying physical volumes and the -I argument is the stripe size. このドキュメントでは、2 つの物理ボリュームが使用されるため、-i スイッチ引数は 2 に設定されます。In this document, two physical volumes are used for the data volume, so the -i switch argument is set to 2. データ ボリュームのストライプ サイズは 256KiB です。The stripe size for the data volume is 256KiB. ログ ボリューム用に物理ボリュームが 1 つ使用されるため、ログ ボリューム コマンドに対して -i および -I スイッチは明示的には使用されません。One physical volume is used for the log volume, so no -i or -I switches are explicitly used for the log volume commands.

    重要

    データ、ログ、または共有ボリュームごとに複数の物理ボリュームを使用する場合は、-i スイッチを使用して基になる物理ボリュームの番号に設定します。Use the -i switch and set it to the number of the underlying physical volume when you use more than one physical volume for each data, log, or shared volumes. ストライプ ボリュームを作成するときにストライプ サイズを指定するには、-I スイッチを使用します。Use the -I switch to specify the stripe size, when creating a striped volume.
    ストライプ サイズやディスク数など、推奨されるストレージ構成については、SAP HANA VM ストレージ構成に関する記事を参照してください。See SAP HANA VM storage configurations for recommended storage configurations, including stripe sizes and number of disks.

    sudo lvcreate -i 2 -I 256 -l 100%FREE -n hana_data vg_hana_data_HN1
    sudo lvcreate -l 100%FREE -n hana_log vg_hana_log_HN1
    sudo lvcreate -l 100%FREE -n hana_shared vg_hana_shared_HN1
    sudo mkfs.xfs /dev/vg_hana_data_HN1/hana_data
    sudo mkfs.xfs /dev/vg_hana_log_HN1/hana_log
    sudo mkfs.xfs /dev/vg_hana_shared_HN1/hana_shared
    

    マウント ディレクトリを作成し、すべての論理ボリュームの UUID をコピーしますCreate the mount directories and copy the UUID of all of the logical volumes:

    sudo mkdir -p /hana/data/HN1
    sudo mkdir -p /hana/log/HN1
    sudo mkdir -p /hana/shared/HN1
    # Write down the ID of /dev/vg_hana_data_HN1/hana_data, /dev/vg_hana_log_HN1/hana_log, and /dev/vg_hana_shared_HN1/hana_shared
    sudo blkid
    

    3 つの論理ボリュームの fstab エントリを作成します。Create fstab entries for the three logical volumes:

    sudo vi /etc/fstab
    

    /etc/fstab ファイルに次の行を挿入します。Insert the following line in the /etc/fstab file:

    /dev/disk/by-uuid/<UUID of /dev/mapper/vg_hana_data_HN1-hana_data> /hana/data/HN1 xfs  defaults,nofail  0  2
    /dev/disk/by-uuid/<UUID of /dev/mapper/vg_hana_log_HN1-hana_log> /hana/log/HN1 xfs  defaults,nofail  0  2
    /dev/disk/by-uuid/<UUID of /dev/mapper/vg_hana_shared_HN1-hana_shared> /hana/shared/HN1 xfs  defaults,nofail  0  2
    

    新しいボリュームをマウントします。Mount the new volumes:

    sudo mount -a
    
  2. [A] ディスク レイアウトの設定:プレーン ディスク[A] Set up the disk layout: Plain Disks.

    デモ システムの場合、ご自身の HANA のデータとログ ファイルを 1 つのディスクに配置することができます。For demo systems, you can place your HANA data and log files on one disk. /dev/disk/azure/scsi1/lun0 にパーティションを作成し、xfs でフォーマットします。Create a partition on /dev/disk/azure/scsi1/lun0 and format it with xfs:

    sudo sh -c 'echo -e "n\n\n\n\n\nw\n" | fdisk /dev/disk/azure/scsi1/lun0'
    sudo mkfs.xfs /dev/disk/azure/scsi1/lun0-part1
    
    # Write down the ID of /dev/disk/azure/scsi1/lun0-part1
    sudo /sbin/blkid
    sudo vi /etc/fstab
    

    /etc/fstab ファイルに次の行を挿入します。Insert this line in the /etc/fstab file:

    /dev/disk/by-uuid/<UUID> /hana xfs  defaults,nofail  0  2
    

    ターゲット ディレクトリを作成してディスクをマウントします。Create the target directory and mount the disk:

    sudo mkdir /hana
    sudo mount -a
    
  3. [A] すべてのホストにホスト名解決を設定します。[A] Set up host name resolution for all hosts.

    DNS サーバーを使用するか、すべてのノードの /etc/hosts ファイルを変更することができます。You can either use a DNS server or modify the /etc/hosts file on all nodes. この例では、/etc/hosts ファイルを使用する方法を示しています。This example shows you how to use the /etc/hosts file. 次のコマンドの IP アドレスとホスト名を置き換えます。Replace the IP address and the hostname in the following commands:

    sudo vi /etc/hosts
    

    次の行を /etc/hosts ファイルに挿入します。Insert the following lines in the /etc/hosts file. お使いの環境に合わせて IP アドレスとホスト名を変更します。Change the IP address and hostname to match your environment:

    10.0.0.5 hn1-db-0
    10.0.0.6 hn1-db-1
    
  4. [A] HANA の構成のための RHEL[A] RHEL for HANA configuration

    https://access.redhat.com/solutions/2447641 および次の SAP note で説明されているように RHEL を構成します。Configure RHEL as described in https://access.redhat.com/solutions/2447641 and in the following SAP notes:

  5. [A] SAP HANA をインストールします[A] Install the SAP HANA

    SAP HANA システム レプリケーションをインストールするには、https://access.redhat.com/articles/3004101 の手順に従います。To install SAP HANA System Replication, follow https://access.redhat.com/articles/3004101.

    • HANA DVD から hdblcm プログラムを実行します。Run the hdblcm program from the HANA DVD. プロンプトで次の値を入力します。Enter the following values at the prompt:
    • Choose installation (インストールの選択):1 を入力します。Choose installation: Enter 1.
    • Select additional components for installation (追加でインストールするコンポーネントの選択):1 を入力します。Select additional components for installation: Enter 1.
    • Enter Installation Path (インストール パスの入力) [/hana/shared]:Enter キーを押します。Enter Installation Path [/hana/shared]: Select Enter.
    • Enter Local Host Name (ローカル ホスト名の入力) [..]:Enter キーを押します。Enter Local Host Name [..]: Select Enter.
    • Do you want to add additional hosts to the system? (システムに別のホストを追加しますか?)Do you want to add additional hosts to the system? (y/n) [n]:Enter キーを押します。(y/n) [n]: Select Enter.
    • Enter SAP HANA System ID (SAP HANA のシステム ID を入力):HANA の SID を入力します。例:HN1Enter SAP HANA System ID: Enter the SID of HANA, for example: HN1.
    • Enter Instance Number [00] (インスタンス番号 (00) の入力):HANA のインスタンス番号を入力します。Enter Instance Number [00]: Enter the HANA Instance number. Azure テンプレートを使用した場合、またはこの記述の手動デプロイに関するセクションに従った場合は、「03」を入力します。Enter 03 if you used the Azure template or followed the manual deployment section of this article.
    • Select Database Mode / Enter Index (データベース モードの選択/インデックスの入力) [1]:Enter キーを押します。Select Database Mode / Enter Index [1]: Select Enter.
    • Select System Usage / Enter Index [4] (システム使用率の選択/インデックス (4) の入力):システムの使用率の値を選択します。Select System Usage / Enter Index [4]: Select the system usage value.
    • Enter Location of Data Volumes (データ ボリュームの場所の入力) [/hana/data/HN1]:Enter キーを押します。Enter Location of Data Volumes [/hana/data/HN1]: Select Enter.
    • Enter Location of Log Volumes (ログ ボリュームの場所の入力) [/hana/log/HN1]:Enter キーを押します。Enter Location of Log Volumes [/hana/log/HN1]: Select Enter.
    • Restrict maximum memory allocation? (メモリの最大割り当てを制限しますか?)Restrict maximum memory allocation? [n]:Enter キーを押します。[n]: Select Enter.
    • Enter Certificate Host Name For Host '...' (ホスト '...' の証明書のホスト名を入力):Enter キーを押します。Enter Certificate Host Name For Host '...' [...]: Select Enter.
    • Enter SAP Host Agent User (sapadm) Password (SAP ホスト エージェントのユーザー (sapadm) パスワードを入力):ホスト エージェントのユーザー パスワードを入力します。Enter SAP Host Agent User (sapadm) Password: Enter the host agent user password.
    • Confirm SAP Host Agent User (sapadm) Password (SAP ホスト エージェントのユーザー (sapadm) パスワードを確認):確認用にホスト エージェントのユーザー パスワードを再入力します。Confirm SAP Host Agent User (sapadm) Password: Enter the host agent user password again to confirm.
    • Enter System Administrator (hdbadm) Password (システム管理者 (hdbadm) のパスワードを入力):システム管理者のパスワードを入力します。Enter System Administrator (hdbadm) Password: Enter the system administrator password.
    • Confirm System Administrator (hdbadm) Password (システム管理者 (hdbadm) のパスワードを確認):確認用にシステム管理者のパスワードを再入力します。Confirm System Administrator (hdbadm) Password: Enter the system administrator password again to confirm.
    • Enter System Administrator Home Directory (システム管理者のホーム ディレクトリの入力) [/usr/sap/HN1/home]:Enter キーを押します。Enter System Administrator Home Directory [/usr/sap/HN1/home]: Select Enter.
    • Enter System Administrator Login Shell (システム管理者のログイン シェルの入力) [/bin/sh]:Enter キーを押します。Enter System Administrator Login Shell [/bin/sh]: Select Enter.
    • Enter System Administrator User ID (システム管理者のユーザー ID の入力) [1001]:Enter キーを押します。Enter System Administrator User ID [1001]: Select Enter.
    • Enter ID of User Group (sapsys) (ユーザー グループ (sapsys) の ID を入力) [79]:Enter キーを押します。Enter ID of User Group (sapsys) [79]: Select Enter.
    • Enter Database User (SYSTEM) Password (データベース ユーザー (SYSTEM) のパスワードを入力):データベース ユーザーのパスワードを入力します。Enter Database User (SYSTEM) Password: Enter the database user password.
    • Confirm Database User (SYSTEM) Password (データベース ユーザー (SYSTEM) のパスワードを確認):確認用にデータベース ユーザーのパスワードを再入力します。Confirm Database User (SYSTEM) Password: Enter the database user password again to confirm.
    • Restart system after machine reboot? (コンピューターの再起動後にシステムを再起動しますか?)Restart system after machine reboot? [n]:Enter キーを押します。[n]: Select Enter.
    • Do you want to continue? (続行してもよろしいですか?)Do you want to continue? (y/n):概要を確認します。(y/n): Validate the summary. y」と入力して続行します。Enter y to continue.
  6. [A] SAP Host Agent をアップグレードします。[A] Upgrade the SAP Host Agent.

    SAP Software Center から最新の SAP Host Agent アーカイブをダウンロードし、次のコマンドを実行してエージェントをアップグレードします。Download the latest SAP Host Agent archive from the SAP Software Center and run the following command to upgrade the agent. アーカイブのパスを置き換えて、ダウンロードしたファイルを示すようにします。Replace the path to the archive to point to the file that you downloaded:

    sudo /usr/sap/hostctrl/exe/saphostexec -upgrade -archive <path to SAP Host Agent SAR>
    
  7. [A] ファイアウォールを構成します[A] Configure firewall

    Azure ロード バランサーのプローブ ポート用にファイアウォール規則を作成します。Create the firewall rule for the Azure load balancer probe port.

    sudo firewall-cmd --zone=public --add-port=62503/tcp
    sudo firewall-cmd --zone=public --add-port=62503/tcp --permanent
    

SAP HANA 2.0 システム レプリケーションの構成Configure SAP HANA 2.0 System Replication

このセクションの手順では、次のプレフィックスを使用します。The steps in this section use the following prefixes:

  • [A] :この手順はすべてのノードに適用されます。[A]: The step applies to all nodes.
  • [1] :この手順はノード 1 にのみ適用されます。[1]: The step applies to node 1 only.
  • [2] :この手順は Pacemaker クラスターのノード 2 にのみ適用されます。[2]: The step applies to node 2 of the Pacemaker cluster only.
  1. [A] ファイアウォールを構成します[A] Configure firewall

    HANA システム レプリケーションおよびクライアント トラフィックを許可するファイアウォール規則を作成します。Create firewall rules to allow HANA System Replication and client traffic. 必要なポートは、すべての SAP 製品の TCP/IP ポートのページにあります。The required ports are listed on TCP/IP Ports of All SAP Products. 次のコマンドは、HANA 2.0 システム レプリケーションと、データベース SYSTEMDB、HN1 および NW1 へのクライアント トラフィックを許可する単なる例です。The following commands are just an example to allow HANA 2.0 System Replication and client traffic to database SYSTEMDB, HN1 and NW1.

    sudo firewall-cmd --zone=public --add-port=40302/tcp --permanent
    sudo firewall-cmd --zone=public --add-port=40302/tcp
    sudo firewall-cmd --zone=public --add-port=40301/tcp --permanent
    sudo firewall-cmd --zone=public --add-port=40301/tcp
    sudo firewall-cmd --zone=public --add-port=40307/tcp --permanent
    sudo firewall-cmd --zone=public --add-port=40307/tcp
    sudo firewall-cmd --zone=public --add-port=40303/tcp --permanent
    sudo firewall-cmd --zone=public --add-port=40303/tcp
    sudo firewall-cmd --zone=public --add-port=40340/tcp --permanent
    sudo firewall-cmd --zone=public --add-port=40340/tcp
    sudo firewall-cmd --zone=public --add-port=30340/tcp --permanent
    sudo firewall-cmd --zone=public --add-port=30340/tcp
    sudo firewall-cmd --zone=public --add-port=30341/tcp --permanent
    sudo firewall-cmd --zone=public --add-port=30341/tcp
    sudo firewall-cmd --zone=public --add-port=30342/tcp --permanent
    sudo firewall-cmd --zone=public --add-port=30342/tcp
    
  2. [1] テナント データベースを作成します。[1] Create the tenant database.

    SAP HANA 2.0 または MDC を使用している場合は、ご自身の SAP NetWeaver システムに対してテナント データベースを作成します。If you're using SAP HANA 2.0 or MDC, create a tenant database for your SAP NetWeaver system. NW1 をご自身の SAP システムの SID に置き換えます。Replace NW1 with the SID of your SAP system.

    <hanasid>adm として次のコマンドを実行します。Execute as <hanasid>adm the following command:

    hdbsql -u SYSTEM -p "passwd" -i 03 -d SYSTEMDB 'CREATE DATABASE NW1 SYSTEM USER PASSWORD "passwd"'
    
  3. [1] 最初のノードでシステム レプリケーションを構成します[1] Configure System Replication on the first node:

    <hanasid>adm としてデータベースをバックアップします。Backup the databases as <hanasid>adm:

    hdbsql -d SYSTEMDB -u SYSTEM -p "passwd" -i 03 "BACKUP DATA USING FILE ('initialbackupSYS')"
    hdbsql -d HN1 -u SYSTEM -p "passwd" -i 03 "BACKUP DATA USING FILE ('initialbackupHN1')"
    hdbsql -d NW1 -u SYSTEM -p "passwd" -i 03 "BACKUP DATA USING FILE ('initialbackupNW1')"
    

    システム PKI ファイルをセカンダリ サイトにコピーします。Copy the system PKI files to the secondary site:

    scp /usr/sap/HN1/SYS/global/security/rsecssfs/data/SSFS_HN1.DAT   hn1-db-1:/usr/sap/HN1/SYS/global/security/rsecssfs/data/
    scp /usr/sap/HN1/SYS/global/security/rsecssfs/key/SSFS_HN1.KEY  hn1-db-1:/usr/sap/HN1/SYS/global/security/rsecssfs/key/
    

    プライマリ サイトを作成します。Create the primary site:

    hdbnsutil -sr_enable --name=SITE1
    
  4. [2] 2 番目のノードでシステム レプリケーションを構成します[2] Configure System Replication on the second node:

    2 番目のノードを登録して、システム レプリケーションを開始します。Register the second node to start the system replication. <hanasid>adm として次のコマンドを実行します。Run the following command as <hanasid>adm:

    sapcontrol -nr 03 -function StopWait 600 10
    hdbnsutil -sr_register --remoteHost=hn1-db-0 --remoteInstance=03 --replicationMode=sync --name=SITE2
    
  5. [1] レプリケーションの状態をチェックする[1] Check replication status

    レプリケーションの状態をチェックし、すべてのデータベースが同期されるまで待機します。状態が不明な場合、ファイアウォール設定を確認します。Check the replication status and wait until all databases are in sync. If the status remains UNKNOWN, check your firewall settings.

    sudo su - hn1adm -c "python /usr/sap/HN1/HDB03/exe/python_support/systemReplicationStatus.py"
    # | Database | Host     | Port  | Service Name | Volume ID | Site ID | Site Name | Secondary | Secondary | Secondary | Secondary | Secondary     | Replication | Replication | Replication    |
    # |          |          |       |              |           |         |           | Host      | Port      | Site ID   | Site Name | Active Status | Mode        | Status      | Status Details |
    # | -------- | -------- | ----- | ------------ | --------- | ------- | --------- | --------- | --------- | --------- | --------- | ------------- | ----------- | ----------- | -------------- |
    # | SYSTEMDB | hn1-db-0 | 30301 | nameserver   |         1 |       1 | SITE1     | hn1-db-1  |     30301 |         2 | SITE2     | YES           | SYNC        | ACTIVE      |                |
    # | HN1      | hn1-db-0 | 30307 | xsengine     |         2 |       1 | SITE1     | hn1-db-1  |     30307 |         2 | SITE2     | YES           | SYNC        | ACTIVE      |                |
    # | NW1      | hn1-db-0 | 30340 | indexserver  |         2 |       1 | SITE1     | hn1-db-1  |     30340 |         2 | SITE2     | YES           | SYNC        | ACTIVE      |                |
    # | HN1      | hn1-db-0 | 30303 | indexserver  |         3 |       1 | SITE1     | hn1-db-1  |     30303 |         2 | SITE2     | YES           | SYNC        | ACTIVE      |                |
    #
    # status system replication site "2": ACTIVE
    # overall system replication status: ACTIVE
    #
    # Local System Replication State
    # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    #
    # mode: PRIMARY
    # site id: 1
    # site name: SITE1
    

SAP HANA 1.0 システム レプリケーションの構成Configure SAP HANA 1.0 System Replication

このセクションの手順では、次のプレフィックスを使用します。The steps in this section use the following prefixes:

  • [A] :この手順はすべてのノードに適用されます。[A]: The step applies to all nodes.
  • [1] :この手順はノード 1 にのみ適用されます。[1]: The step applies to node 1 only.
  • [2] :この手順は Pacemaker クラスターのノード 2 にのみ適用されます。[2]: The step applies to node 2 of the Pacemaker cluster only.
  1. [A] ファイアウォールを構成します[A] Configure firewall

    HANA システム レプリケーションおよびクライアント トラフィックを許可するファイアウォール規則を作成します。Create firewall rules to allow HANA System Replication and client traffic. 必要なポートは、すべての SAP 製品の TCP/IP ポートのページにあります。The required ports are listed on TCP/IP Ports of All SAP Products. 次のコマンドは、HANA 2.0 システム レプリケーションを許可する単なる例です。The following commands are just an example to allow HANA 2.0 System Replication. お使いの SAP HANA 1.0 インストールにそれを適用します。Adapt it to your SAP HANA 1.0 installation.

    sudo firewall-cmd --zone=public --add-port=40302/tcp --permanent
    sudo firewall-cmd --zone=public --add-port=40302/tcp
    
  2. [1] 必要なユーザーを作成します。[1] Create the required users.

    root として次のコマンドを実行します。Run the following command as root. 太字の文字列 (HANA システム ID HN1、インスタンス番号 03) を、ご自身の SAP HANA のインストールの値に置き換えてください。Make sure to replace bold strings (HANA System ID HN1 and instance number 03) with the values of your SAP HANA installation:

    PATH="$PATH:/usr/sap/HN1/HDB03/exe"
    hdbsql -u system -i 03 'CREATE USER hdbhasync PASSWORD "passwd"'
    hdbsql -u system -i 03 'GRANT DATA ADMIN TO hdbhasync'
    hdbsql -u system -i 03 'ALTER USER hdbhasync DISABLE PASSWORD LIFETIME'
    
  3. [A] キーストア エントリを作成します。[A] Create the keystore entry.

    root として次のコマンドを実行して、新しいキーストア エントリを作成します。Run the following command as root to create a new keystore entry:

    PATH="$PATH:/usr/sap/HN1/HDB03/exe"
    hdbuserstore SET hdbhaloc localhost:30315 hdbhasync passwd
    
  4. [1] データベースをバックアップします。[1] Back up the database.

    root としてデータベースをバックアップします。Back up the databases as root:

    PATH="$PATH:/usr/sap/HN1/HDB03/exe"
    hdbsql -d SYSTEMDB -u system -i 03 "BACKUP DATA USING FILE ('initialbackup')"
    

    マルチテナント インストールを使用する場合は、テナント データベースもバックアップします。If you use a multi-tenant installation, also back up the tenant database:

    hdbsql -d HN1 -u system -i 03 "BACKUP DATA USING FILE ('initialbackup')"
    
  5. [1] 最初のノードでシステム レプリケーションを構成します。[1] Configure System Replication on the first node.

    <hanasid>adm としてプライマリ サイトを作成します。Create the primary site as <hanasid>adm:

    su - hdbadm
    hdbnsutil -sr_enable –-name=SITE1
    
  6. [2] セカンダリ ノードでシステム レプリケーションを構成します。[2] Configure System Replication on the secondary node.

    <hanasid>adm としてセカンダリ サイトを登録します。Register the secondary site as <hanasid>adm:

    HDB stop
    hdbnsutil -sr_register --remoteHost=hn1-db-0 --remoteInstance=03 --replicationMode=sync --name=SITE2
    HDB start
    

Pacemaker クラスターの作成Create a Pacemaker cluster

Setting up Pacemaker on Red Hat Enterprise Linux in Azure」 (Azure で Red Hat Enterprise Linux に Pacemaker を設定する) の手順に従って、この HANA サーバーに対して基本的な Pacemaker クラスターを作成します。Follow the steps in Setting up Pacemaker on Red Hat Enterprise Linux in Azure to create a basic Pacemaker cluster for this HANA server.

SAP HANA クラスター リソースの作成Create SAP HANA cluster resources

すべてのノード に、SAP HANA リソース エージェントをインストールします。Install the SAP HANA resource agents on all nodes. このパッケージを含むリポジトリを必ず有効にします。Make sure to enable a repository that contains the package. RHEL 8. x HA が有効なイメージを使用している場合、追加のリポジトリを有効にする必要はありません。You don't need to enable additional repositories, if using RHEL 8.x HA-enabled image.

# Enable repository that contains SAP HANA resource agents
sudo subscription-manager repos --enable="rhel-sap-hana-for-rhel-7-server-rpms"
   
sudo yum install -y resource-agents-sap-hana

次いで HANA トポロジを作成します。Next, create the HANA topology. Pacemaker クラスター ノードのいずれかで、次のコマンドを実行します。Run the following commands on one of the Pacemaker cluster nodes:

sudo pcs property set maintenance-mode=true

# Replace the bold string with your instance number and HANA system ID
sudo pcs resource create SAPHanaTopology_HN1_03 SAPHanaTopology SID=HN1 InstanceNumber=03 \
op start timeout=600 op stop timeout=300 op monitor interval=10 timeout=600 \
clone clone-max=2 clone-node-max=1 interleave=true

次に、HANA リソースを作成します。Next, create the HANA resources.

注意

この記事には、Microsoft が使用しなくなった "スレーブ" という用語への言及が含まれています。This article contains references to the term slave, a term that Microsoft no longer uses. ソフトウェアからこの用語が削除された時点で、この記事から削除します。When the term is removed from the software, we’ll remove it from this article.

RHEL 7. x でクラスターを構築する場合は、次のコマンドを使用します。If building a cluster on RHEL 7.x, use the following commands:

# Replace the bold string with your instance number, HANA system ID, and the front-end IP address of the Azure load balancer.
#
sudo pcs resource create SAPHana_HN1_03 SAPHana SID=HN1 InstanceNumber=03 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=false \
op start timeout=3600 op stop timeout=3600 \
op monitor interval=61 role="Slave" timeout=700 \
op monitor interval=59 role="Master" timeout=700 \
op promote timeout=3600 op demote timeout=3600 \
master notify=true clone-max=2 clone-node-max=1 interleave=true

sudo pcs resource create vip_HN1_03 IPaddr2 ip="10.0.0.13"
sudo pcs resource create nc_HN1_03 azure-lb port=62503
sudo pcs resource group add g_ip_HN1_03 nc_HN1_03 vip_HN1_03

sudo pcs constraint order SAPHanaTopology_HN1_03-clone then SAPHana_HN1_03-master symmetrical=false
sudo pcs constraint colocation add g_ip_HN1_03 with master SAPHana_HN1_03-master 4000

sudo pcs property set maintenance-mode=false

RHEL 8. x でクラスターを構築する場合は、次のコマンドを使用します。If building a cluster on RHEL 8.x, use the following commands:

# Replace the bold string with your instance number, HANA system ID, and the front-end IP address of the Azure load balancer.
#
sudo pcs resource create SAPHana_HN1_03 SAPHana SID=HN1 InstanceNumber=03 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=false \
op start timeout=3600 op stop timeout=3600 \
op monitor interval=61 role="Slave" timeout=700 \
op monitor interval=59 role="Master" timeout=700 \
op promote timeout=3600 op demote timeout=3600 \
promotable meta notify=true clone-max=2 clone-node-max=1 interleave=true

sudo pcs resource create vip_HN1_03 IPaddr2 ip="10.0.0.13"
sudo pcs resource create nc_HN1_03 azure-lb port=62503
sudo pcs resource group add g_ip_HN1_03 nc_HN1_03 vip_HN1_03

sudo pcs constraint order SAPHanaTopology_HN1_03-clone then SAPHana_HN1_03-clone symmetrical=false
sudo pcs constraint colocation add g_ip_HN1_03 with master SAPHana_HN1_03-clone 4000

sudo pcs property set maintenance-mode=false

クラスターの状態が正常であることと、すべてのリソースが起動されていることを確認します。Make sure that the cluster status is ok and that all of the resources are started. リソースがどのノードで実行されているかは重要ではありません。It's not important on which node the resources are running.

注意

上記の構成のタイムアウトはほんの一例であり、特定の HANA のセットアップに適合させる必要がある場合があります。The timeouts in the above configuration are just examples and may need to be adapted to the specific HANA setup. たとえば、SAP HANA データベースの起動により時間がかかる場合は、開始タイムアウトを長くする必要がある可能性があります。For instance, you may need to increase the start timeout, if it takes longer to start the SAP HANA database.

sudo pcs status

# Online: [ hn1-db-0 hn1-db-1 ]
#
# Full list of resources:
#
# azure_fence     (stonith:fence_azure_arm):      Started hn1-db-0
#  Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
#      Started: [ hn1-db-0 hn1-db-1 ]
#  Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
#      Masters: [ hn1-db-0 ]
#      Slaves: [ hn1-db-1 ]
#  Resource Group: g_ip_HN1_03
#      nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hn1-db-0
#      vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hn1-db-0

Pacemaker クラスターで HANA アクティブ/読み取り可能のシステム レプリケーションを構成するConfigure HANA active/read enabled system replication in Pacemaker cluster

SAP HANA 2.0 SPS 01 以降では、SAP HANA システム レプリケーションでアクティブ/読み取り可能のセットアップを使用できます。この場合、読み取り処理の多いワークロードに対して SAP HANA システム レプリケーションのセカンダリ システムを積極的に活用できます。Starting with SAP HANA 2.0 SPS 01 SAP allows Active/Read-Enabled setups for SAP HANA System Replication, where the secondary systems of SAP HANA system replication can be used actively for read-intense workloads. クラスターでこのような設定をサポートするには、2 番目の仮想 IP アドレスが必要です。これにより、クライアントはセカンダリの読み取り可能な SAP HANA データベースにアクセスできるようになります。To support such setup in a cluster a second virtual IP address is required which allows clients to access the secondary read-enabled SAP HANA database. 引き継ぎの実行後もセカンダリ レプリケーション サイトにアクセスできるようにするには、クラスターが SAPHana リソースのセカンダリに仮想 IP アドレスを移行する必要があります。To ensure that the secondary replication site can still be accessed after a takeover has occurred the cluster needs to move the virtual IP address around with the secondary of the SAPHana resource.

このセクションでは、2 番目の仮想 IP を使用して Red Hat 高可用性クラスターで HANA のアクティブ/読み取り可能のシステム レプリケーションを管理するために必要な追加の手順について説明します。This section describes the additional steps that are required to manage HANA Active/Read enabled system replication in a Red Hat high availability cluster with second virtual IP.

先に進む前に、上に記載したドキュメントを参照して、SAP HANA データベースを管理する Red Hat 高可用性クラスターの構成が完了していることを確認してください。Before proceeding further, make sure you have fully configured Red Hat High Availability Cluster managing SAP HANA database as described in above segments of the documentation.

読み取り可能なセカンダリを備えた SAP HANA の高可用性

アクティブ/読み取り可能のセットアップ用の Azure Load Balancer の追加設定Additional setup in Azure load balancer for active/read-enabled setup

2 番目の仮想 IP をプロビジョニングするための追加の手順を進めるには、「手動デプロイ」セクションの説明に従って Azure Load Balancer の構成が完了していることを確認してください。To proceed with additional steps on provisioning second virtual IP, make sure you have configured Azure Load Balancer as described in Manual Deployment section.

  1. 標準 ロード バランサーの場合は、前のセクションで作成したのと同じロード バランサーで、下の追加手順に従います。For standard load balancer, follow below additional steps on the same load balancer that you had created in earlier section.

    a.a. 2 番目のフロントエンド IP プールを作成する:Create a second front-end IP pool:

    • ロード バランサーを開き、 [frontend IP pool](フロントエンド IP プール) を選択して [Add](追加) を選択しますOpen the load balancer, select frontend IP pool, and select Add.
    • この 2 番目のフロントエンド IP プールの名前を入力します (例: hana-secondaryIP)。Enter the name of the second front-end IP pool (for example, hana-secondaryIP).
    • [割り当て][静的] に設定し、IP アドレスを入力します (例: 10.0.0.14)。Set the Assignment to Static and enter the IP address (for example, 10.0.0.14).
    • [OK] を選択します。Select OK.
    • 新しいフロントエンド IP プールが作成されたら、プールの IP アドレスを書き留めます。After the new front-end IP pool is created, note the pool IP address.

    b.b. 次に、正常性プローブを作成します。Next, create a health probe:

    • ロード バランサーを開き、 [health probes](正常性プローブ) を選択して [Add](追加) を選択します。Open the load balancer, select health probes, and select Add.
    • 新しい正常性プローブの名前を入力します (例: hana-secondaryhp)。Enter the name of the new health probe (for example, hana-secondaryhp).
    • プロトコルとして [TCP] を、ポートは 62603 を選択します。Select TCP as the protocol and port 62603. [Interval](間隔) の値を 5 に設定し、 [Unhealthy threshold](異常しきい値) の値を 2 に設定します。Keep the Interval value set to 5, and the Unhealthy threshold value set to 2.
    • [OK] を選択します。Select OK.

    c.c. 次に、負荷分散規則を作成します。Next, create the load-balancing rules:

    • ロード バランサーを開き、 [load balancing rules](負荷分散規則) を選択して [Add](追加) を選択します。Open the load balancer, select load balancing rules, and select Add.
    • 新しいロード バランサー規則の名前を入力します (例: hana-secondarylb)。Enter the name of the new load balancer rule (for example, hana-secondarylb).
    • 前の手順で作成したフロントエンド IP アドレス、バックエンド プール、正常性プローブを選択します (例: hana-secondaryIPhana-backendhana-secondaryhp)。Select the front-end IP address , the back-end pool, and the health probe that you created earlier (for example, hana-secondaryIP, hana-backend and hana-secondaryhp).
    • [HA ポート] を選択します。Select HA Ports.
    • [idle timeout](アイドル タイムアウト) を 30 分に増やしますIncrease the idle timeout to 30 minutes.
    • Floating IP を有効にしますMake sure to enable Floating IP.
    • [OK] を選択します。Select OK.

HANA アクティブ/読み取り可能のシステム レプリケーションの構成Configure HANA active/read enabled system replication

HANA システム レプリケーションを構成する手順については、「SAP HANA 2.0 システム レプリケーションの構成」セクションを参照してください。The steps to configure HANA system replication are described in Configure SAP HANA 2.0 System Replication section. 読み取り可能なセカンダリ シナリオをデプロイする場合、2 番目のノードでシステム レプリケーションを構成するときに、次のコマンドを hanasid adm として実行します。If you are deploying read-enabled secondary scenario, while configuring system replication on the second node, execute following command as hanasid adm:

sapcontrol -nr 03 -function StopWait 600 10 

hdbnsutil -sr_register --remoteHost=hn1-db-0 --remoteInstance=03 --replicationMode=sync --name=SITE2 --operationMode=logreplay_readaccess 

アクティブ/読み取り可能のセットアップ用のセカンダリ仮想 IP アドレス リソースの追加Adding a secondary virtual IP address resource for an active/read-enabled setup

2 番目の仮想 IP と適切なコロケーション制約は、次のコマンドを使用して構成できます。The second virtual IP and the appropriate colocation constraint can be configured with the following commands:

pcs property set maintenance-mode=true

pcs resource create secvip_HN1_03 ocf:heartbeat:IPaddr2 ip="10.40.0.16"

pcs resource create secnc_HN1_03 ocf:heartbeat:azure-lb port=62603

pcs resource group add g_secip_HN1_03 secnc_HN1_03 secvip_HN1_03

RHEL 8.x: 
pcs constraint colocation add g_secip_HN1_03 with slave SAPHana_HN1_03-clone 4000
RHEL 7.x:
pcs constraint colocation add g_secip_HN1_03 with slave SAPHana_HN1_03-master 4000

pcs property set maintenance-mode=false

クラスターの状態が正常であることと、すべてのリソースが起動されていることを確認します。Make sure that the cluster status is ok and that all of the resources are started. 2 番目の仮想 IP は、セカンダリ サイトで SAPHana セカンダリ リソースと共に実行されます。The second virtual IP will run on the secondary site along with SAPHana secondary resource.

sudo pcs status

# Online: [ hn1-db-0 hn1-db-1 ]
#
# Full List of Resources:
#   rsc_hdb_azr_agt     (stonith:fence_azure_arm):      Started hn1-db-0
#   Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]:
#     Started: [ hn1-db-0 hn1-db-1 ]
#   Clone Set: SAPHana_HN1_03-clone [SAPHana_HN1_03] (promotable):
#     Masters: [ hn1-db-0 ]
#     Slaves: [ hn1-db-1 ]
#   Resource Group: g_ip_HN1_03:
#     nc_HN1_03         (ocf::heartbeat:azure-lb):      Started hn1-db-0
#     vip_HN1_03        (ocf::heartbeat:IPaddr2):       Started hn1-db-0
#   Resource Group: g_secip_HN1_03:
#     secnc_HN1_03      (ocf::heartbeat:azure-lb):      Started hn1-db-1
#     secvip_HN1_03     (ocf::heartbeat:IPaddr2):       Started hn1-db-1

次のセクションでは、実行する典型的なフェールオーバー テストのセットを示します。In next section, you can find the typical set of failover tests to execute.

読み取り可能なセカンダリが構成されている HANA クラスターをテストするときに、2 番目の仮想 IP の動作に注意してください。Be aware of the second virtual IP behavior, while testing a HANA cluster configured with read-enabled secondary:

  1. SAPHana_HN1_HDB03 クラスター リソースを hn1-db-1 に移行すると、2 番目の仮想 IP がもう一方のサーバー hn1-db-0 に移行します。When you migrate SAPHana_HN1_HDB03 cluster resource to hn1-db-1, the second virtual IP will move to the other server hn1-db-0. AUTOMATED_REGISTER = "false" に設定していて、HANA システム レプリケーションが自動的に登録されていない場合は、2 番目の仮想 IP は hn1-0 で実行されます。このサーバーが使用可能で、クラスター サービスがオンラインになっているためです。If you have configured AUTOMATED_REGISTER="false" and HANA system replication is not registered automatically, then the second virtual IP will run on hn1-db-0, as the server is available and cluster services are online.

  2. サーバーのクラッシュをテストする場合、2 番目の仮想 IP リソース (rsc_secip_HN1_HDB03) と Azure Load Balancer のポート リソース (rsc_secnc_HN1_HDB03) は、プライマリ仮想 IP リソースと共にプライマリ サーバー上で実行されます。When testing server crash, the second virtual IP resources (rsc_secip_HN1_HDB03) and Azure load balancer port resource (rsc_secnc_HN1_HDB03) will run on the primary server alongside the primary virtual IP resources. セカンダリ サーバーが停止している間、読み取り可能な HANA データベースに接続されているアプリケーションは、プライマリ HANA データベースに接続します。While the secondary server is down, the applications that are connected to the read-enabled HANA database will connect to the primary HANA database. この動作が想定されているのは、セカンダリ サーバーが使用できない間、読み取り可能な HANA データベースに接続されているアプリケーションがアクセス不能にならないようにするためです。The behavior is expected as you do not want applications that are connected to read-enabled HANA database to be inaccessible while the time secondary server is unavailable.

  3. セカンダリ サーバーが使用可能で、クラスター サービスがオンラインになっているときは、HANA システム レプリケーションがセカンダリとして登録されていなくても、2 番目の仮想 IP とポート リソースが自動的にセカンダリ サーバーに移行します。When the secondary server is available and the cluster services are online, the second virtual IP and port resources will automatically move to the secondary server, even though HANA system replication may not be registered as secondary. そのサーバーでクラスター サービスを開始する前に、セカンダリ HANA データベースを読み取り可能として登録しておく必要があります。You need to make sure that you register the secondary HANA database as read enabled before you start cluster services on that server. パラメーター AUTOMATED_REGISTER = true を設定することで、セカンダリを自動的に登録するように HANA インスタンスのクラスター リソースを構成できます。You can configure the HANA instance cluster resource to automatically register the secondary by setting parameter AUTOMATED_REGISTER=true.

  4. フェールオーバーとフォールバックの間は、2 番目の仮想 IP を使用して HANA データベースに接続するアプリケーションの既存の接続が中断される場合があります。During failover and fallback, the existing connections for applications, using the second virtual IP to connect to the HANA database may be interrupted.

クラスターの設定をテストするTest the cluster setup

ここでは、設定をテストする方法について説明します。This section describes how you can test your setup. テストを開始する前に、Pacemaker に (pcs status での) 失敗したアクションがないこと、予期しない場所の制約 (たとえば移行テストの残り物) がないこと、HANA が (たとえば systemReplicationStatus で) 同期していることを確認します。Before you start a test, make sure that Pacemaker does not have any failed action (via pcs status), there are no unexpected location constraints (for example leftovers of a migration test) and that HANA is sync state, for example with systemReplicationStatus:

[root@hn1-db-0 ~]# sudo su - hn1adm -c "python /usr/sap/HN1/HDB03/exe/python_support/systemReplicationStatus.py"

移行をテストするTest the migration

テスト開始前のリソースの状態:Resource state before starting the test:

Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
    Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
    Masters: [ hn1-db-0 ]
    Slaves: [ hn1-db-1 ]
Resource Group: g_ip_HN1_03
    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hn1-db-0
    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hn1-db-0

SAP HANA マスター ノードは、次のコマンドを実行すると移行できます。You can migrate the SAP HANA master node by executing the following command:

# On RHEL 7.x 
[root@hn1-db-0 ~]# pcs resource move SAPHana_HN1_03-master
# On RHEL 8.x
[root@hn1-db-0 ~]# pcs resource move SAPHana_HN1_03-clone --master

AUTOMATED_REGISTER="false" が設定されている場合、このコマンドでは、SAP HANA マスター ノードおよび hn1-db-1 への仮想 IP アドレスを含むグループを移行できます。If you set AUTOMATED_REGISTER="false", this command should migrate the SAP HANA master node and the group that contains the virtual IP address to hn1-db-1.

移行が完了すると、'sudo pcs status' の出力は次のようになります。Once the migration is done, the 'sudo pcs status' output looks like this

Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
    Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
    Masters: [ hn1-db-1 ]
    Stopped: [ hn1-db-0 ]
Resource Group: g_ip_HN1_03
    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hn1-db-1
    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hn1-db-1

hn1-db-0 上の SAP HANA リソースは停止されます。The SAP HANA resource on hn1-db-0 is stopped. その場合は、次のコマンドを実行して HANA のインスタンスをセカンダリとして構成してください。In this case, configure the HANA instance as secondary by executing this command:

[root@hn1-db-0 ~]# su - hn1adm

# Stop the HANA instance just in case it is running
hn1adm@hn1-db-0:/usr/sap/HN1/HDB03> sapcontrol -nr 03 -function StopWait 600 10
hn1adm@hn1-db-0:/usr/sap/HN1/HDB03> hdbnsutil -sr_register --remoteHost=hn1-db-1 --remoteInstance=03 --replicationMod
e=sync --name=SITE1

移行では場所の制約が作成されますが、これは再度削除する必要があります。The migration creates location constraints that need to be deleted again:

# Switch back to root
exit
[root@hn1-db-0 ~]# pcs resource clear SAPHana_HN1_03-master

'pcs status' を使用して HANA リソースの状態を監視します。Monitor the state of the HANA resource using 'pcs status'. hn1-db-0 上で HANA が起動されている場合、出力は次のようになりますOnce HANA is started on hn1-db-0, the output should look like this

Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
    Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
    Masters: [ hn1-db-1 ]
    Slaves: [ hn1-db-0 ]
Resource Group: g_ip_HN1_03
    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hn1-db-1
    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hn1-db-1

Azure フェンス エージェントをテストするTest the Azure fencing agent

注意

この記事には、Microsoft が使用しなくなった "スレーブ" という用語への言及が含まれています。This article contains references to the term slave, a term that Microsoft no longer uses. ソフトウェアからこの用語が削除された時点で、この記事から削除します。When the term is removed from the software, we’ll remove it from this article.

テスト開始前のリソースの状態:Resource state before starting the test:

Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
    Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
    Masters: [ hn1-db-1 ]
    Slaves: [ hn1-db-0 ]
Resource Group: g_ip_HN1_03
    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hn1-db-1
    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hn1-db-1

SAP HANA がマスターとして実行されているノードで、ネットワーク インターフェイスを無効にして Azure フェンス エージェントのセットアップをテストできます。You can test the setup of the Azure fencing agent by disabling the network interface on the node where SAP HANA is running as Master. ネットワーク エラーをシミュレートする方法の説明については、Red Hat のサポート情報記事 79523 を参照してください。See Red Hat Knowledgebase article 79523 for a description on how to simulate a network failure. この例では、net_breaker スクリプトを使用して、ネットワークに対するすべてのアクセスをブロックします。In this example we use the net_breaker script to block all access to the network.

[root@hn1-db-1 ~]# sh ./net_breaker.sh BreakCommCmd 10.0.0.6

クラスターの構成によっては、仮想マシンが再起動するか停止します。The virtual machine should now restart or stop depending on your cluster configuration. stonith-action 設定を off に設定すると、仮想マシンが停止し、実行中の仮想マシンにリソースが移行されます。If you set the stonith-action setting to off, the virtual machine is stopped and the resources are migrated to the running virtual machine.

AUTOMATED_REGISTER="false" を設定した場合、仮想マシンを再起動すると、SAP HANA リソースがセカンダリとしての起動に失敗します。After you start the virtual machine again, the SAP HANA resource fails to start as secondary if you set AUTOMATED_REGISTER="false". その場合は、次のコマンドを実行して HANA のインスタンスをセカンダリとして構成してください。In this case, configure the HANA instance as secondary by executing this command:

su - hn1adm

# Stop the HANA instance just in case it is running
hn1adm@hn1-db-1:/usr/sap/HN1/HDB03> sapcontrol -nr 03 -function StopWait 600 10
hn1adm@hn1-db-1:/usr/sap/HN1/HDB03> hdbnsutil -sr_register --remoteHost=hn1-db-0 --remoteInstance=03 --replicationMode=sync --name=SITE2

# Switch back to root and clean up the failed state
exit
# On RHEL 7.x
[root@hn1-db-1 ~]# pcs resource cleanup SAPHana_HN1_03-master
# On RHEL 8.x
[root@hn1-db-1 ~]# pcs resource cleanup SAPHana_HN1_03 node=<hostname on which the resource needs to be cleaned>

テスト後のリソースの状態:Resource state after the test:

Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
    Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
    Masters: [ hn1-db-0 ]
    Slaves: [ hn1-db-1 ]
Resource Group: g_ip_HN1_03
    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hn1-db-0
    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hn1-db-0

手動フェールオーバーをテストするTest a manual failover

テスト開始前のリソースの状態:Resource state before starting the test:

Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
    Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
    Masters: [ hn1-db-0 ]
    Slaves: [ hn1-db-1 ]
Resource Group: g_ip_HN1_03
    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hn1-db-0
    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hn1-db-0

hn1-db-0 ノードでクラスターを停止して、手動フェールオーバーをテストできます。You can test a manual failover by stopping the cluster on the hn1-db-0 node:

[root@hn1-db-0 ~]# pcs cluster stop

フェールオーバー後、クラスターを再度開始できます。After the failover, you can start the cluster again. AUTOMATED_REGISTER="false" を設定した場合、hn1-db-0 ノードの SAP HANA リソースはセカンダリとして起動できません。If you set AUTOMATED_REGISTER="false", the SAP HANA resource on the hn1-db-0 node fails to start as secondary. その場合は、次のコマンドを実行して HANA のインスタンスをセカンダリとして構成してください。In this case, configure the HANA instance as secondary by executing this command:

[root@hn1-db-0 ~]# pcs cluster start
[root@hn1-db-0 ~]# su - hn1adm

# Stop the HANA instance just in case it is running
hn1adm@hn1-db-0:/usr/sap/HN1/HDB03> sapcontrol -nr 03 -function StopWait 600 10
hn1adm@hn1-db-0:/usr/sap/HN1/HDB03> hdbnsutil -sr_register --remoteHost=hn1-db-1 --remoteInstance=03 --replicationMode=sync --name=SITE1

# Switch back to root and clean up the failed state
hn1adm@hn1-db-0:/usr/sap/HN1/HDB03> exit
# On RHEL 7.x
[root@hn1-db-1 ~]# pcs resource cleanup SAPHana_HN1_03-master
# On RHEL 8.x
[root@hn1-db-1 ~]# pcs resource cleanup SAPHana_HN1_03 node=<hostname on which the resource needs to be cleaned>

テスト後のリソースの状態:Resource state after the test:

Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
    Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
    Masters: [ hn1-db-1 ]
     Slaves: [ hn1-db-0 ]
Resource Group: g_ip_HN1_03
    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hn1-db-1
    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hn1-db-1

手動フェールオーバーをテストするTest a manual failover

テスト開始前のリソースの状態:Resource state before starting the test:

Clone Set: SAPHanaTopology_HN1_03-clone [SAPHanaTopology_HN1_03]
    Started: [ hn1-db-0 hn1-db-1 ]
Master/Slave Set: SAPHana_HN1_03-master [SAPHana_HN1_03]
    Masters: [ hn1-db-0 ]
    Slaves: [ hn1-db-1 ]
Resource Group: g_ip_HN1_03
    nc_HN1_03  (ocf::heartbeat:azure-lb):      Started hn1-db-0
    vip_HN1_03 (ocf::heartbeat:IPaddr2):       Started hn1-db-0

hn1-db-0 ノードでクラスターを停止して、手動フェールオーバーをテストできます。You can test a manual failover by stopping the cluster on the hn1-db-0 node:

[root@hn1-db-0 ~]# pcs cluster stop

次のステップNext steps