3.3. Pacemaker の設定
HANA スケールアウト環境が設定され、HANA システムレプリケーションが想定どおりに動作している場合は、RHEL HA アドオンを使用して HANA スケールアウトシステムレプリケーション環境を管理するように HA クラスターを設定できます。
Pacemaker のスプリットブレイン設定を防ぐには、追加のクォーラムインスタンスが必要です。この例では、ノードを追加します。このソリューションで majoritymaker と呼ばれるこのノードは、適切な設定の奇数個のクラスターノードに必要です。これは、Pacemaker とパブリックネットワークのみを必要とする追加のミニマリストホストです。このノードでは、SAP HANA データベースはインストールされておらず、ストレージ設定は廃止されています。
前提条件
-
saphostagentをインストールし、/usr/sap/hostcontrol/exe/sapcontrol が存在するか確認している。詳細は、1031096 - Installing Package SAPHOSTAGENT を参照してください。 - RHEL High Availability リポジトリーがシステムに設定されていることを確認している。この設定なしでは Pacemaker をインストールできません。
- すべてのシステムに root としてログインしている。
このドキュメントの RHEL システムの登録およびリポジトリーの有効化 セクションで説明されているように、クラスターのパッケージをインストールするために、すべてのクラスターノードが登録され、必要なリポジトリーが有効化されていることを確認している。
[root@dc1hana01]# subscription-manager repos --list-enabled +----------------------------------------------------------+ Available Repositories in /etc/yum.repos.d/redhat.repo +----------------------------------------------------------+ Repo ID: rhel-8-for-x86_64-baseos-e4s-rpms Repo Name: Red Hat Enterprise Linux 8 for x86_64 - BaseOS - Update Services for SAP Solutions (RPMs) Repo URL: <Your repo URL> Enabled: 1 Repo ID: rhel-8-for-x86_64-sap-solutions-e4s-rpms Repo Name: Red Hat Enterprise Linux 8 for x86_64 - SAP Solutions - Update Services for SAP Solutions (RPMs) Repo URL: <Your repo URL> Enabled: 1 Repo ID: ansible-2.8-for-rhel-8-x86_64-rpms Repo Name: Red Hat Ansible Engine 2.8 for RHEL 8 x86_64 (RPMs) Repo URL: <Your repo URL> Enabled: 1 Repo ID: rhel-8-for-x86_64-highavailability-e4s-rpms Repo Name: Red Hat Enterprise Linux 8 for x86_64 - High Availability - Update Services for SAP Solutions (RPMs) Repo URL: <Your repo URL> Enabled: 1 Repo ID: rhel-8-for-x86_64-appstream-e4s-rpms Repo Name: Red Hat Enterprise Linux 8 for x86_64 - AppStream - Update Services for SAP Solutions (RPMs) Repo URL: <Your repo URL> Enabled: 1 yum repolist Updating Subscription Management repositories. repo id repo name advanced-virt-for-rhel-8-x86_64-rpms Advanced Virtualization for RHEL 8 x86_64 (RPMs) ansible-2.8-for-rhel-8-x86_64-rpms Red Hat Ansible Engine 2.8 for RHEL 8 x86_64 (RPMs) rhel-8-for-x86_64-appstream-e4s-rpms Red Hat Enterprise Linux 8 for x86_64 - AppStream - Update Services for SAP Solutions (RPMs) rhel-8-for-x86_64-baseos-e4s-rpms Red Hat Enterprise Linux 8 for x86_64 - BaseOS - Update Services for SAP Solutions (RPMs) rhel-8-for-x86_64-highavailability-e4s-rpms Red Hat Enterprise Linux 8 for x86_64 - High Availability - Update Services for SAP Solutions (RPMs) rhel-8-for-x86_64-sap-netweaver-e4s-rpms Red Hat Enterprise Linux 8 for x86_64 - SAP NetWeaver - Update Services for SAP Solutions (RPMs) rhel-8-for-x86_64-sap-solutions-e4s-rpms Red Hat Enterprise Linux 8 for x86_64 - SAP Solutions - Update Services for SAP Solutions (RPMs)
手順
- クラスターを設定します。詳細は、高可用性クラスターの設定と管理 を参照してください。
クラスター内の各ノード (
majoritymakerを含む) に、Red Hat High Availability Add-On ソフトウェアパッケージと、High Availability チャネルから利用可能なすべてのフェンスエージェントをインストールします。[root]# yum -y install pcs pacemaker fence-agentsまたは、特定の fence-agents のみをインストールすることもできます。
[root]# yum install fence-agents-sbd fence-agents-ipmilanfirewalledデーモンを実行している場合は、以下のコマンドを実行して Red Hat High Availability Add-On が必要とするポートを有効にします。[root]# firewall-cmd --permanent --add-service=high-availability [root]# firewall-cmd --add-service=high-availabilityこの設定の後、各クラスターノードでユーザー
haclusterのパスワードを設定します。[root]# passwd hacluster Changing password for user hacluster. New password: Retype new password: passwd: all authentication tokens updated successfully.各ノードで次のコマンドを実行してデーモンを起動し、有効にします。
[root]# systemctl start [root]# pcsd.service systemctl enable pcsd.service1 つのノードのみで、
haclusterユーザーを認証する必要があります。このコマンドには、クラスターの一部であるすべてのノードを含めることが重要です。パスワードを指定しない場合は、前の手順で定義したhaclusterパスワードの入力を求められます。RHEL 8.x の場合は以下を実行します。[root@dc1hana01]# pcshost auth -u hacluster -p <clusterpassword> dc1hana01 dc1hana02 dc1hana03 dc1hana04 dc2hana01 dc2hana02 dc2hana03 dc2hana04 majoritymaker Username: hacluster Password: majoritymaker: Authorized dc1hana03: Authorized dc1hana02: Authorized dc1hana01: Authorized dc2hana01: Authorized dc2hana02: Authorized dc1hana04: Authorized dc2hana04: Authorized dc2hana03: Authorized同じノード上の
pcs clusterセットアップを使用して、corosync設定を生成および同期します。RHEL 8 の例では、2 つのクラスターネットワークを使用している場合も示されています。[root@dc1hana01]# pcs cluster setup scale_out_hsr majoritymaker addr=10.10.10.41 addr=192.168.102.100 dc1hana01 addr=10.10.10.21 addr=192.168.102.101 dc1hana02 addr=10.10.10.22 addr=192.168.102.102 dc1hana03 addr=10.10.10.23 addr=192.168.102.103 dc1hana04 addr=10.10.10.24 addr=192.168.102.104 dc2hana01 addr=10.10.10.31 addr=192.168.102.201 dc2hana02 addr=10.10.10.33 addr=192.168.102.202 dc2hana03 addr=10.10.10.34 addr=192.168.212.203 dc2hana04 addr=10.10.10.10 addr=192.168.102.204 Destroying cluster on nodes: dc1hana01, dc1hana02, dc1hana03, dc1hana04, dc2hana01, dc2hana02, dc2hana03, dc2hana04, majoritymaker... dc1hana01: Stopping Cluster (pacemaker)... dc1hana04: Stopping Cluster (pacemaker)... dc1hana03: Stopping Cluster (pacemaker)... dc2hana04: Stopping Cluster (pacemaker)... dc2hana01: Stopping Cluster (pacemaker)... dc2hana03: Stopping Cluster (pacemaker)... majoritymaker: Stopping Cluster (pacemaker)... dc2hana02: Stopping Cluster (pacemaker)... dc1hana02: Stopping Cluster (pacemaker)... dc2hana01: Successfully destroyed cluster dc2hana03: Successfully destroyed cluster dc1hana04: Successfully destroyed cluster dc1hana03: Successfully destroyed cluster dc2hana02: Successfully destroyed cluster dc1hana01: Successfully destroyed cluster dc1hana02: Successfully destroyed cluster dc2hana04: Successfully destroyed cluster majoritymaker: Successfully destroyed cluster Sending 'pacemaker_remote authkey' to 'dc1hana01', 'dc1hana02', 'dc1hana03', 'dc1hana04', 'dc2hana01', 'dc2hana02', 'dc2hana03', 'dc2hana04', 'majoritymaker' dc1hana01: successful distribution of the file 'pacemaker_remote authkey' dc1hana04: successful distribution of the file 'pacemaker_remote authkey' dc1hana03: successful distribution of the file 'pacemaker_remote authkey' dc2hana01: successful distribution of the file 'pacemaker_remote authkey' dc2hana02: successful distribution of the file 'pacemaker_remote authkey' dc2hana03: successful distribution of the file 'pacemaker_remote authkey' dc2hana04: successful distribution of the file 'pacemaker_remote authkey' majoritymaker: successful distribution of the file 'pacemaker_remote authkey' dc1hana02: successful distribution of the file 'pacemaker_remote authkey' Sending cluster config files to the nodes... dc1hana01: Succeeded dc1hana02: Succeeded dc1hana03: Succeeded dc1hana04: Succeeded dc2hana01: Succeeded dc2hana02: Succeeded dc2hana03: Succeeded dc2hana04: Succeeded majoritymaker: Succeeded Starting cluster on nodes: dc1hana01, dc1hana02, dc1hana03, dc1hana04, dc2hana01, dc2hana02, dc2hana03, dc2hana04, majoritymaker... dc2hana01: Starting Cluster... dc1hana03: Starting Cluster... dc1hana01: Starting Cluster... dc1hana02: Starting Cluster... dc1hana04: Starting Cluster... majoritymaker: Starting Cluster... dc2hana02: Starting Cluster... dc2hana03: Starting Cluster... dc2hana04: Starting Cluster... Synchronizing pcsd certificates on nodes dc1hana01, dc1hana02, dc1hana03, dc1hana04, dc2hana01, dc2hana02, dc2hana03, dc2hana04, majoritymaker... majoritymaker: Success dc1hana03: Success dc1hana02: Success dc1hana01: Success dc2hana01: Success dc2hana02: Success dc2hana03: Success dc2hana04: Success dc1hana04: Success Restarting pcsd on the nodes in order to reload the certificates... dc1hana04: Success dc1hana03: Success dc2hana03: Success majoritymaker: Success dc2hana04: Success dc1hana02: Success dc1hana01: Success dc2hana01: Success dc2hana02: Success次のクラスターコマンドを使用して、すべてのノードでサービスを有効にします。
[root@dc1hana01]# pcs cluster enable --all dc1hana01: Cluster Enabled dc1hana02: Cluster Enabled dc1hana03: Cluster Enabled dc1hana04: Cluster Enabled dc2hana01: Cluster Enabled dc2hana02: Cluster Enabled dc2hana03: Cluster Enabled dc2hana04: Cluster Enabled majoritymaker: Cluster Enabledすべての手順を完了すると、クラスターとノードが設定されます。リソースエージェントを設定する最初の手順は、アクセスできなくなったノードを再起動する STONITH を使用してフェンシングメソッドを設定することです。サポートされている環境では、この STONITH 設定が必要です。
ハードウェアまたは仮想化環境に適したフェンスエージェントを使用して、環境に合わせて STONITH を設定します。以下は、STONITH 用のフェンスデバイスを設定する一般的な例です。
[root@dc1hana01]# pcs stonith create <stonith id> <fence_agent> ipaddr=<fence device> login=<login> passwd=<passwd>注記各デバイスの設定は異なり、この環境では STONITH を設定することが必須です。サポートが必要な場合は、Red Hat Support チームに直接お問い合わせください。詳細は、RHEL High Availability クラスターのサポートポリシー - フェンシング/STONITH の一般的な要件 および フェンシング設定 を参照してください。
設定後、クラスターのステータスは次の出力のようになります。これは、Red Hat Enterprise 仮想化環境のフェンシングデバイスの例です。
[root@dc1hana01]# pcs status Cluster name: hanascaleoutsr Stack: corosync Current DC: dc2hana01 (version 1.1.18-11.el7_5.4-2b07d5c5a9) - partition with quorum Last updated: Tue Mar 26 13:03:01 2019 Last change: Tue Mar 26 13:02:54 2019 by root via cibadmin on dc1hana01 9 nodes configured 1 resource configured Online: [ dc1hana01 dc1hana02 dc1hana03 dc1hana04 dc2hana01 dc2hana02 dc2hana03 dc2hana04 majoritymaker ] Full list of resources: fencing (stonith:fence_rhevm): Started dc1hana01 Daemon Status: corosync: active/enabled pacemaker: active/enabled pcsd: active/enabled
3.3.1. Scale-Out システム用の SAP HANA リソースエージェントのインストール リンクのコピーリンクがクリップボードにコピーされました!
リソースエージェントを設定する際に、resource-agent-sap-hana-scaleout パッケージが、majoritymaker を含むすべてのシステムにインストールされました。
[root@dc1hana01]# yum install resource-agents-sap-hana-scaleout
正しいリポジトリーが接続されていることを確認します。yum repolist には、以下が含まれている必要があります。
root# yum repolist
"rhel-x86_64-server-sap-hana-<version>” RHEL Server SAP HANA (v. <version> for 64-bit <architecture>).
3.3.2. すべての SAP HANA インスタンスでの srConnectionChanged() フックの有効化 リンクのコピーリンクがクリップボードにコピーされました!
SAP の Implementing a HA/DR Provider に記載されているように、SAP HANA の最新バージョンでは、SAP HANA が特定のイベントの通知を送信できるようにする「フック」が提供されています。srConnectionChanged() フックを使用すると、クラスターのアクションを必要とする SAP HANA System Replication のステータスの変更が発生したことを検出するクラスターの機能を向上させ、偶発的なテイクオーバーが回避すべき状況でトリガーされないようにすることで、データ損失/データ破損を避けることができます。SAP HANA 2.0 SPS06 以降およびsrConnectionChanged() フックをサポートするためのコンポーネントを提供する resource-agents-sap-hana-scaleout パッケージのバージョンを使用する場合は、クラスターのセットアップを続行する前にフックを有効にする必要があります。
手順
- 共有デバイス上の各データセンターの 1 つのノードにフックをインストールします。詳細は、Implementing a HA/DR Provider を参照してください。
フックを設定するために、hana 共有フォルダーにディレクトリーを作成します。これは、SAP HANA データベースから追加データを作成するように設定されています。これを有効にするには、システムを停止し、
global.iniファイルに 2 つの設定パラメーターを追加する必要があります。このソリューションの次の例では、ha_dr_provider_SAPHanaSrとtraceの設定を示しています。[root@dc1hana01]# su - rh1adm [rh1adm@dc1hana01]% sapcontrol -nr 10 -function StopSystem *[rh1adm@dc1hana01]% cat <<EOF >> /hana/shared/RH1/global/hdb/custom/config/global.ini [ha_dr_provider_SAPHanaSR] provider = SAPHanaSR path = /usr/share/SAPHanaSR-ScaleOut execution_order = 1 [trace] ha_dr_saphanasr = info EOF各クラスターノードで、
sudo visudo /etc/sudoers.d/20-saphanaを実行して/etc/sudoers.d/20-saphanaファイルを作成し、以下の内容を追加して、srConnectionChanged()フックが呼び出されたときにフックスクリプトがノード属性を更新できるようにします。rh1adm ALL=(ALL) NOPASSWD: /usr/sbin/crm_attribute -n hana_rh1_glob_srHook -v * -t crm_config -s SAPHanaSR rh1adm ALL=(ALL) NOPASSWD: /usr/sbin/crm_attribute -n hana_rh1_gsh -v * -l reboot -t crm_config -s SAPHanaSR Defaults:rh1adm !requirettyデフォルト設定が必要な理由に関する詳細は、The srHook attribute is set to SFAIL in a Pacemaker cluster managing SAP HANA system replication, even though replication is in a healthy state を参照してください。
インテグレーションが成功したら、SAP HANA データベースを起動します。
# Execute the following commands on one HANA node in every datacenter [root]# su - rh1adm [rh1adm]% sapcontrol -nr 10 -function StartSystemフックスクリプトが期待どおりに動作していることを確認します。HANA インスタンスの停止など、フックをトリガーするアクションを実行します。次に、以下のメソッドを使用して、フックがログに何か記録したか確認します。
[rh1adm@dc1hana01]% cdtrace [rh1adm@dc1hana01]% awk '/ha_dr_SAPHanaSR.*crm_attribute/ \ { printf "%s %s %s %s\n",$2,$3,$5,$16 }' nameserver_* 2018-05-04 12:34:04.476445 ha_dr_SAPHanaSR SFAIL 2018-05-04 12:53:06.316973 ha_dr_SAPHanaSR SOKSAP HANA フックが機能していることを確認する方法は、M_HA_DR_PROVIDERS の監視 を参照してください。
3.3.3. Pacemaker リソースの設定 リンクのコピーリンクがクリップボードにコピーされました!
Pacemaker 設定プロセスでは、HANA と Pacemaker 環境を制御する 2 つのリソースエージェント (SAPHanaTopology と SAPHanaController) を作成する必要があります。さらに、エンドユーザーと SAP アプリケーションサーバーの接続用に、Pacemaker で仮想 IP アドレスを設定する必要があります。実行されたアクションに基づいて、リソースエージェントが正しい順序で実行され、仮想 IP アドレスが適切なホストにマップされるように、2 つの依存関係が追加されます。
前提条件
設定中に不要な影響を回避するために、クラスターの
maintenance-modeを設定している。[root@dc1hana01]# pcs property set maintenance-mode=true
3.3.3.1. SAPHanaTopology リソースの設定 リンクのコピーリンクがクリップボードにコピーされました!
SAPHanaTopologyリソースエージェントは、各ノード上の SAP HANA System Replication のステータスと設定を収集します。さらに、SAP HANA インスタンスの起動、停止、監視に必要なローカル SAP HostAgent を起動および監視します。リソースエージェントには、インストールされている SAP HANA 環境に応じて次の属性があります。Expand 属性名
必須/オプション
デフォルト値
説明
SID
はい
null
SAP HANA インストールの SAP システム識別子 (SID) (すべてのノードで同一である必要があります)。例: RH2
InstanceNumber
はい
null
SAP HANA インストールのインスタンス番号 (すべてのノードで同一である必要があります)。例: 02
このソリューションでは、SID は RH1 に設定され、インスタンス番号は 10 に設定されています。
注記タイムアウトとモニターのパラメーターは最初のデプロイメントに推奨され、環境のテスト中に変更できます。環境内のノードのサイズや数など、いくつかの依存関係があります。
クラスター全体の 1 つのホストで、RHEL 8.x に対して root として次のコマンドを実行します。
[root@dc1hana01]# pcs resource create rsc_SAPHanaTopology_RH1_HDB10 SAPHanaTopology SID=RH1 InstanceNumber=10 op methods interval=0s timeout=5 op monitor interval=10 timeout=600 clone clone-max=6 clone-node-max=1 interleave=true --disabledPacemaker でリソースが作成されると、クローンが作成されます。
注記clone-node-maxパラメーターは、シングルノード上で起動できるリソースエージェントのコピーの数を定義します。インターリーブとは、このクローンが順序制約を使用して別のクローンに依存している場合、その別のクローンのすべてのインスタンスが起動するのを待つのではなく、その別のクローンのローカルインスタンスが起動した後に起動できることを意味します。clone-maxパラメーターは、起動できるクローンの数を定義します。たとえば、サイトあたり 2 ノードの最小設定の場合は、SAPHanaControllerおよびSAPHanaTopologyにclone-max=4を使用する必要があります。サイトあたり 3 ノード (スタンバイノードは含まない) の場合は、6 を使用する必要があります。次のコマンドを使用してリソースが起動したら、ノード属性の形式で保存された収集情報を表示できます。
root# pcs status --full
3.3.3.2. SAPHanaController リソースの設定 リンクのコピーリンクがクリップボードにコピーされました!
SAPHanaTopology リソースエージェントの設定プロセスが完了すると、SAPHanaController リソースエージェントを設定できます。SAP Hana Topology リソースエージェントはデータのみを収集しますが、SAPHanaTopology リソースエージェントは以前に収集されたデータに基づいて SAP 環境を制御します。次の表に示すように、5 つの重要な設定パラメーターによってクラスター機能が定義されます。
| 属性名 | 必須/オプション | デフォルト値 | 説明 |
| SID | はい | null | SAP HANA インストールの SAP システム識別子 (SID) (すべてのノードで同一である必要があります)。例: RH2 |
| InstanceNumber | はい | null | SAP HANA インストールのインスタンス番号 (すべてのノードで同一である必要があります)。例: 02 |
| PREFER_SITE_TAKEOVER | いいえ | null | リソースエージェントは、プライマリーをローカルで再起動するのではなく、セカンダリーインスタンスに切り替えることを優先する必要がありますか? true: セカンダリーサイトへのテイクオーバーを優先します。false: ローカルでの再起動を優先します。never: いかなる状況でも他のノードへのテイクオーバーを開始しません。 |
| AUTOMATED_REGISTER | いいえ | false | テイクオーバーイベントが発生し、DUPLICATE_PRIMARY_TIMEOUT の有効期限が切れた場合、以前のプライマリーインスタンスをセカンダリーとして登録する必要がありますか? ("false": いいえ、手動介入が必要になります。"true": はい、以前のプライマリーはリソースエージェントによってセカンダリーとして登録されます) [1]。 |
| DUPLICATE_PRIMARY_TIMEOUT | いいえ | 7200 | デュアルプライマリー状況が発生した場合に、2 つのプライマリータイムスタンプ間に必要な時間差 (秒単位)。時間差が時間ギャップより小さい場合、クラスターは 1 つまたは両方のインスタンスを "WAITING" ステータスで保持します。これは、システム管理者にテイクオーバーに対応する機会を与えるためです。時間差が経過した後、AUTOMATED_REGISTER が true に設定されている場合、障害が発生した以前のプライマリーはセカンダリーとして登録されます。新しいプライマリーへの登録後、以前のプライマリー上のすべてのデータはシステムレプリケーションによって上書きされます。 |
[1] - テストおよび概念実証 (PoC) 環境のベストプラクティスとして、障害が発生したプライマリーインスタンスが自動的にセカンダリーインスタンスとして登録されるのを防ぐために、AUTOMATED_REGISTER をデフォルト値 (AUTOMATED_REGISTER="false") のままにしておくことを推奨します。テスト後、フェイルオーバーシナリオが期待どおりに機能する場合 (特に実稼働環境の場合)、テイクオーバー後にシステムレプリケーションがタイムリーに再開され、中断が回避されるように AUTOMATED_REGISTER="true" を設定することを推奨します。AUTOMATED_REGISTER="false" の場合、プライマリーノードで障害が発生したときは、セカンダリー HANA System Replication ノードとして手動で登録する必要があります。
次のコマンドは、RHEL 8.x で SAPHanaController プロモート可能リソースを作成する方法の例です。この例は、SID RH1、InstanceNumber 10、Prefer Site Takeover と Automated_REGISTER の値が true、および Duplicate Primary Timeout が 7200 というパラメーターに基づいています。
[root@dc1hana01]# pcs resource create rsc_SAPHana_RH1_HDB10 SAPHanaController SID=RH1 InstanceNumber=10 PREFER_SITE_TAKEOVER=true DUPLICATE_PRIMARY_TIMEOUT=7200 AUTOMATED_REGISTER=true op demote interval=0s timeout=320 op methods interval=0s timeout=5 op monitor interval=59 role="Promoted" timeout=700 op monitor interval=61 role="Unpromoted" timeout=700 op promote interval=0 timeout=3600 op start interval=0 timeout=3600 op stop interval=0 timeout=3600 promotable clone-max=6 promoted-node-max=1 interleave=true --disabled
clone-max の場合、コマンドにリストされている HDB_WORKER の数の 2 倍を使用してください。
/usr/sap/hostctrl/exe/sapcontrol -nr 10 -function GetSystemInstanceList
GetSystemInstanceList
OK
hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
dc1hana01,10,51013,51014,0.3,HDB|HDB_WORKER,GREEN
dc1hana02,10,51013,51014,0.3,HDB|HDB_WORKER,GREEN
dc1hana03,10,51013,51014,0.3,HDB|HDB_WORKER,GREEN
dc1hana04,10,51013,51014,0.3,HDB|HDB_STANDBY, GREEN
このソリューションでは、SAPHanaController の作成後、次のコマンドを使用してリソースをプロモート可能なリソースとして定義します (SID は RH1、InstanceNumber は 10)。
詳細は、マルチステートリソース: 複数のモードを持つリソース を参照してください。
3.3.3.3. 仮想 IP アドレスを管理するためのリソースの設定 リンクのコピーリンクがクリップボードにコピーされました!
クラスターには、プライマリー SAP HANA スケールアウトサイトのマスターネームサーバーにアクセスするためにクライアントが使用する仮想 IP アドレスを管理するためのリソースを含める必要があります。
次のコマンドは、仮想 IP 10.0.0.250 を持つ IPaddr2 リソースを作成する方法の例です。
[root@dc1hana01]# pcs resource create rsc_ip_SAPHana_RH1_HDB10 ocf:heartbeat:IPaddr2 ip=10.0.0.250 op monitor interval="10s" timeout="20s"
3.3.4. 制約の作成 リンクのコピーリンクがクリップボードにコピーされました!
正しく動作させるには、SAPHanaController リソースが起動する前に SAPHanaTopology リソースが起動していること、また、SAPHanaController のマスターリソースが実行されるノードに仮想 IP アドレスが存在することを確認します。この手順を使用して、必要な 4 つの制約を作成します。
手順: SAPHana の前に SAPHanaTopology を起動する
次のコマンドは、リソースの開始順序を義務付ける制約を作成する方法の例です。
制約を作成します。
[root@dc1hana01]# pcs constraint order start rsc_SAPHanaTopology_RH1_HDB10-clone then start rsc_SAPHana_RH1_HDB10-cloneIPaddr2リソースをプロモートしたSAPHanaリソースと同じ場所に配置します。[root@dc1hana01]# pcs constraint colocation add rsc_ip_SAPHana_RH1_HDB10 with promoted rsc_SAPHana_RH1_HDB10-cloneクラスター環境でアクティブなロールを使用するために、
majoritymakerを回避します。[root@dc1hana01]# pcs constraint location add topology-avoids-majoritymaker rsc_SAPHanaTopology_RH1_HDB10-clone majoritymaker -INFINITY resource-discovery=never [root@dc1hana01]# pcs constraint location add hana-avoids-majoritymaker rsc_SAPHana_RH1_HDB10-clone majoritymaker -INFINITY resource-discovery=nevermaintenance-modeを無効にします。maintenance-modeを false に設定した後、maintenance-modeを使用してリソースを起動します。すべての設定が完了する前に pacemaker の動作を回避するために、上記の例では--disabledを使用しています。デフォルトでは、リソースは作成されるとすぐに起動されます。--disabledの場合、次のコマンドを使用してリソースを起動できます。[root@dc1hana01]# pcs resource enable <resource-name>maintenance-modeを終了するには、以下を使用してください。[root@dc1hana01]# pcs property set maintenance-mode=false次の 3 つのコマンドを実行して、クラスター環境が正しく動作していることを確認します。
-
pcs statusは、すべてのリソースの概要と、それらが正しく機能しているかを示します。 -
pcs status --fullは、クラスター環境のすべてのリソースの概要と追加の属性情報を提供します。 SAPHanaSR-showAttr --sid=RH1は、属性情報に基づいた読みやすい概要を提供します。maintenance-modeを無効にしてから数分後に正しいステータスが表示されます。[root@dc1hana01]# pcs status Cluster name: hanascaleoutsr Stack: corosync Current DC: dc2hana01 (version 1.1.18-11.el7_5.4-2b07d5c5a9) - partition with quorum Last updated: Tue Mar 26 14:26:38 2019 Last change: Tue Mar 26 14:25:47 2019 by root via crm_attribute on dc1hana01 9 nodes configured 20 resources configured Online: [ dc1hana01 dc1hana02 dc1hana03 dc1hana04 dc2hana01 dc2hana02 dc2hana03 dc2hana04 majoritymaker ] Full list of resources: fencing (stonith:fence_rhevm): Started dc1hana01 Clone Set: rsc_SAPHanaTopology_RH1_HDB10-clone [rsc_SAPHanaTopology_RH1_HDB10] Started: [ dc1hana01 dc1hana02 dc1hana03 dc1hana04 dc2hana01 dc2hana02 dc2hana03 dc2hana04 ] Stopped: [ majoritymaker ] Clone Set: msl_rsc_SAPHana_RH1_HDB10 [rsc_SAPHana_RH1_HDB10] (promotable): Promoted: [ dc1hana01 ] Unpromoted: [ dc1hana02 dc1hana03 dc1hana04 dc2hana01 dc2hana02 dc2hana03 dc2hana04 ] Stopped: [ majoritymaker ] rsc_ip_SAPHana_RH1_HDB10 (ocf::heartbeat:IPaddr2): Started dc1hana01 Daemon Status: corosync: active/enabled pacemaker: active/enabled pcsd: active/enabled [root@dc1hana01]# SAPHanaSR-showAttr --sid=RH1 Global prim srHook sync_state ------------------------------ global DC1 SOK SOK Sit lpt lss mns srr --------------------------------- DC1 1553607125 4 dc1hana01 P DC2 30 4 dc2hana01 S H clone_state roles score site -------------------------------------------------------- 1 PROMOTED promoted1 promoted:worker promoted 150 DC1 2 DEMOTED promoted2:slave:worker:slave 110 DC1 3 DEMOTED slave:slave:worker:slave -10000 DC1 4 DEMOTED promoted3:slave:standby:standby 115 DC1 5 DEMOTED promoted2 promoted:worker promoted 100 DC2 6 DEMOTED promoted3:slave:worker:slave 80 DC2 7 DEMOTED slave:slave:worker:slave -12200 DC2 8 DEMOTED promoted1:slave:standby:standby 80 DC2 9 :shtdown:shtdown:shtdown
-