GNU/Linux >> Linux の 問題 >  >> Linux

高可用性Linux用にPacemakerクラスターをセットアップする方法

システム管理者として、システムのアーキテクチャと設計のすべての可能なレベルで高可用性を促進することが不可欠であり、SAP環境も例外ではありません。この記事では、Red Hat Enterprise Linux(RHEL)Pacemakerを活用してSAP NetWeaver Advanced Business Application Programming(ABAP)SAP Central Service(ASCS)/ Enqueue Replication Server(ERS)の高可用性(HA)を実現する方法について説明します。

>

[次のこともお勧めします:AnsibleforLinuxシステム管理者向けクイックスタートガイド]

SAPには3層アーキテクチャがあります:

  • プレゼンテーション層 -SAPアプリケーションと対話するためのGUIを提示します
  • アプリケーション層 -1つ以上のアプリケーションサーバーとメッセージサーバーが含まれています
  • データベースレイヤー -すべてのSAP関連データ(Oracleなど)を含むデータベースが含まれています

この記事では、主にアプリケーション層に焦点を当てています。アプリケーションサーバーインスタンスは、SAPシステムの実際のデータ処理機能を提供します。システム要件に基づいて、SAPシステムの負荷を処理するために複数のアプリケーションサーバーが作成されます。アプリケーション層のもう1つの主要コンポーネントは、ABAP SAPセントラルサービス(ASCS)です。中央サービスは、メッセージサーバー(MS)とエンキューサーバー(ES)の2つの主要コンポーネントで構成されています。メッセージサーバーは、すべてのアプリケーションサーバー間の通信チャネルとして機能し、負荷の分散を処理します。エンキューサーバーはロックメカニズムを制御します。

アプリケーション層とデータベース層の高可用性

ロードバランサーを使用し、複数のアプリケーションサーバーにユーザーからの要求を処理させることで、アプリケーションサーバーの高可用性を実装できます。アプリケーションサーバーがクラッシュした場合、そのサーバーに接続しているユーザーのみが影響を受けます。ロードバランサーからアプリケーションサーバーを削除して、クラッシュを特定します。 ASCSの高可用性を実現するには、エンキューレプリケーションサーバー(ERS)を使用してロックテーブルエントリをレプリケートします。データベースレイヤーでは、プライマリデータベースとセカンダリデータベースの間にネイティブデータベースレプリケーションを設定して、高可用性を確保できます。

PacemakerによるRHEL高可用性の概要

RHEL High Availabilityを使用すると、サービスを中断することなく、クラスター内でサービスを1つのノードから別のノードにシームレスにフェイルオーバーできます。 ASCSとERSは、RHELペースメーカークラスターに統合できます。 ASCSノードに障害が発生した場合、クラスターパッケージはERSノードに移行し、システムを停止せずにMSインスタンスとESインスタンスが実行を継続します。 ERSノードに障害が発生した場合でも、MSとESはASCSノードで引き続き実行されるため、システムは影響を受けません。この場合、ESインスタンスとERSインスタンスは同じノードで実行する必要がないため、ERSインスタンスはASCSノードで実行されません。

RHELペースメーカーの構成

RHELPacemakerクラスターでASCSノードとERSノードを構成する方法は2つあります。プライマリ/セカンダリ およびスタンドアロンプライマリ/セカンダリ このアプローチは、すべてのRHEL7マイナーリリースでサポートされています。スタンドアロンアプローチは、RHEL7.5以降でサポートされています。 RHELは、すべての新規デプロイメントにスタンドアロンアプローチを使用することを推奨しています。

クラスター構成

クラスタ構成の大まかな手順は次のとおりです。

  1. クラスターの両方のノードにPacemakerパッケージをインストールします。
    # yum -y install pcs pacemaker
  2. HACLUSTERを作成します のユーザーID。
    # passwd hacluster
    pcsを使用するには クラスタを構成してノード間で通信するには、各ノードでユーザーID haclusterのパスワードを設定する必要があります。 、これはpcsです 管理アカウント。ユーザーhaclusterのパスワードをお勧めします 各ノードで同じである。
  3. pcsを有効にして開始します サービス。
    # systemctl enable pcsd.service; systemctl start pcsd.service
  4. pcsを認証します hacluster ユーザー
    pcsを認証します ユーザーhacluster クラスタ内のノードごとに。次のコマンドは、ユーザー haclusterを認証します node1 2ノードクラスター(node1.example.comおよびnode2.example.com)の両方のノード。
    # pcs cluster auth node1.example.com node2.example.com
    Username: hacluster
    Password:
    node1.example.com: Authorized
    node2.example.com: Authorized
  5. クラスターを作成します。
    クラスターnwha node1とnode2を使用して作成されます:
    # pcs cluster setup --name nwha node1 node2
  6. クラスターを開始します。
    # pcs cluster start --all
  7. 再起動後にクラスターが自動起動できるようにします。
    # pcs cluster enable --all

ASCSおよびERSインスタンスのリソースの作成

クラスタが設定されたので、ASCSノードとERSノードのリソースを追加する必要があります。大まかな手順は次のとおりです。

  1. resource-agents-sapをインストールします すべてのクラスターノードで。
    # yum install resource-agents-sap
  2. クラスターによって管理されるリソースとして共有ファイルシステムを構成します。
    /sapmntなどの共有ファイルシステム 、/usr/sap/trans/usr/sap/SYS 次のコマンドを使用して、クラスターに自動マウントされたリソースとして追加されます。
    # pcs resource create <resource-name> Filesystem device=’<path-of-filesystem>’ directory=’<directory-name>’ fstype=’<type-of-fs>’

    例:
    # pcs resource create sid_fs_sapmnt Filesystem device='nfs_server:/export/sapmnt' directory='/sapmnt' fstype='nfs'
  3. ASCSのリソースグループを構成します。
    ASCSノードの場合、必要な3つのリソースグループは次のとおりです(ASCSのインスタンスIDが00であると想定)。
    • ASCSの仮想IPアドレス
    • ASCSファイルシステム(たとえば、/usr/sap/<SID>/ASCS00
    • ASCSプロファイルインスタンス(たとえば、/sapmnt/<SID>/profile/<SID>_ASCS00_<hostname>
  4. ERSのリソースグループを構成します。
    ERSノードの場合、必要な3つのリソースグループは次のとおりです(30のERSのインスタンスIDを想定)。
    • ERSの仮想IPアドレス
    • ERSファイルシステム(たとえば、/usr/sap/<SID>/ERS30
    • ERSプロファイルインスタンス(たとえば、/sapmnt/<SID>/profile/<SID>_ERS30_<hostname>
  5. 制約を作成します。
    ASCSおよびERSリソースグループの制約を次のように設定します。
    • 両方のリソースグループが同じノードで実行されないように制限します
    • フェイルオーバーの際にERSが実行されていたノードでASCSを実行します
    • 開始/停止順序シーケンスを維持する
    • 必要なファイルシステムがマウントされた後にのみクラスターが開始されるようにします

クラスターフェイルオーバーテスト

ASCSがnode1で実行されていると仮定します ERSはnode2で実行されます 最初は。 node1 の場合 ダウンすると、ASCSとERSの両方が node2に移行します 。定義された制約により、ERSは node2では実行されません 。

node1 戻ってくると、ERSは node1に移行します ASCSがnode2に残っている間 。コマンド#pcs statusを使用します クラスタのステータスを確認します。

[無料コース:仮想化とインフラストラクチャの移行の技術概要。 ]

まとめ

RHEL Pacemakerは、SAPの高可用性クラスターを実現するための優れたユーティリティです。 STONITHを構成してフェンシングを実行し、データの整合性を確保し、クラスター内の障害のあるノードによるリソースの使用を回避することもできます。

すべての自動化愛好家は、Ansibleモジュールpacemaker_clusterを使用して、Ansibleを使用してPacemakerクラスターを制御できます。システムを保護するのと同じくらい、自分の面倒を見て安全を確保してください。


Linux
  1. LinuxにSpotifyアプリケーションをインストールする方法

  2. CentOS7でPacemakerを使用してNginx高可用性クラスターをセットアップする方法

  3. Linux クラスタリング (高可用性) のチュートリアル

  1. LinuxでMimeタイプのアプリケーションを見つける方法は?

  2. LinuxでJNIアプリケーションの動的ライブラリをコンパイルするには?

  3. Linux で特定のプログラムのプロセス ID を設定する方法

  1. Linuxでプリンタを設定する方法

  2. Linuxでcronジョブを設定する方法

  3. Ubuntu 16.04でPacemaker、Corosync、およびCrmshを使用してNginx高可用性を設定する方法