第46章 Pacemaker の使用の開始


Pacemaker クラスターの作成に使用するツールとプロセスに慣れるために、次の手順を実行できます。ここで説明する内容は、クラスターソフトウェアの概要と、作業用のクラスターを設定せずに管理する方法に関心のあるユーザーを対象としています。

注記

ここで説明する手順では、2 つ以上のノードとフェンシングデバイスの設定が必要となるサポート対象の Red Hat クラスターは作成されません。Red Hat のサポートポリシー、要件、および制限の詳細は、RHEL 高可用性クラスターのサポートポリシー を参照してください。

46.1. Pacemaker の使用方法

ここでは、Pacemaker を使用してクラスターを設定する方法、クラスターのステータスを表示する方法、およびクラスターサービスを設定する方法を学習します。この例では、Apache HTTP サーバーをクラスターリソースとして作成し、リソースに障害が発生した場合のクラスターの応答方法を表示します。

この例では、以下のように設定されています。

  • ノード: z1.example.com
  • Floating IP アドレス: 192.168.122.120

前提条件

  • RHEL 8 を実行しているノード 1 つ
  • このノードで静的に割り当てられている IP アドレスの 1 つと同じネットワーク上にあるフローティング IP アドレス
  • /etc/hosts ファイルに、実行中のノード名が含まれている

手順

  1. High Availability チャンネルから Red Hat High Availability Add-On ソフトウェアパッケージをインストールし、pcsd サービスを起動して有効にします。

    Copy to Clipboard Toggle word wrap
    # yum install pcs pacemaker fence-agents-all
    ...
    # systemctl start pcsd.service
    # systemctl enable pcsd.service

    firewalld デーモンを実行している場合は、Red Hat High Availability Add-On で必要なポートを有効にします。

    Copy to Clipboard Toggle word wrap
    # firewall-cmd --permanent --add-service=high-availability
    # firewall-cmd --reload
  2. クラスターの各ノードにユーザー hacluster のパスワードを設定し、pcs コマンドを実行するノードにあるクラスターの各ノードに対して、hacluster ユーザーの認証を行います。この例では、ノードを 1 つだけ使用し、そのノードからコマンドを実行していますが、このステップはサポート対象の Red Hat High Availability マルチノードクラスターを設定する際に必要となるため、この手順に含まれています。

    Copy to Clipboard Toggle word wrap
    # passwd hacluster
    ...
    # pcs host auth z1.example.com
  3. メンバーを 1 つ含む my_cluster という名前のクラスターを作成し、クラスターのステータスを確認します。この 1 つのコマンドで、クラスターが作成され、起動します。

    Copy to Clipboard Toggle word wrap
    # pcs cluster setup my_cluster --start z1.example.com
    ...
    # pcs cluster status
    Cluster Status:
     Stack: corosync
     Current DC: z1.example.com (version 2.0.0-10.el8-b67d8d0de9) - partition with quorum
     Last updated: Thu Oct 11 16:11:18 2018
     Last change: Thu Oct 11 16:11:00 2018 by hacluster via crmd on z1.example.com
     1 node configured
     0 resources configured
    
    PCSD Status:
      z1.example.com: Online
  4. Red Hat High Availability クラスターでは、クラスターのフェンシングを設定することが必要になります。この要件の理由については、Red Hat ナレッジベースソリューション Fencing in a Red Hat High Availability Cluster で説明されています。ただし、ここでは基本的な Pacemaker コマンドの使用方法を説明することを目的としているため、stonith-enabled クラスターのオプションを false に設定し、フェンシングを無効にします。

    警告

    stonith-enabled=false の使用は、実稼働クラスターには完全に適していません。これにより、障害が発生したノードが適切にフェンスされていることを装うようにクラスターに指示されます。

    Copy to Clipboard Toggle word wrap
    # pcs property set stonith-enabled=false
  5. システムに Web ブラウザーを設定し、Web ページを作成して簡単なテキストメッセージを表示します。firewalld デーモンを実行している場合は、httpd で必要なポートを有効にします。

    注記

    システムの起動時に使用する場合は、systemctl enable で、クラスターが管理するサービスを有効にしないでください。

    Copy to Clipboard Toggle word wrap
    # yum install -y httpd wget
    ...
    # firewall-cmd --permanent --add-service=http
    # firewall-cmd --reload
    
    # cat <<-END >/var/www/html/index.html
    <html>
    <body>My Test Site - $(hostname)</body>
    </html>
    END

    Apache リソースエージェントが Apache のステータスを取得できるようにするため、既存の設定に以下の内容を追加して、ステータスサーバーの URL を有効にします。

    Copy to Clipboard Toggle word wrap
    # cat <<-END > /etc/httpd/conf.d/status.conf
    <Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
    Allow from ::1
    </Location>
    END
  6. クラスターが管理するリソース IPaddr2 および apache を作成します。IPaddr2 リソースは、物理ノードにすでに関連付けられていない Floating IP アドレスです。IPaddr2 リソースの NIC デバイスが指定されていない場合、Floating IP は、ノードで使用される静的に割り当てられた IP アドレスと同じネットワーク上に存在している必要があります。

    利用可能なリソースタイプのリストを表示する場合は、pcs resource list コマンドを使用します。指定したリソースタイプに設定できるパラメーターを表示する場合は、pcs resource describe resourcetype コマンドを使用します。たとえば、以下のコマンドは、apache タイプのリソースに設定できるパラメーターを表示します。

    Copy to Clipboard Toggle word wrap
    # pcs resource describe apache
    ...

    この例では、IP アドレスリソースと apache リソースの両方が apachegroup グループに含まれるように設定します。これにより、両リソースが一緒に保存され、作業用のマルチノードクラスターを設定する際に、同じノードで実行できます。

    Copy to Clipboard Toggle word wrap
    # pcs resource create ClusterIP ocf:heartbeat:IPaddr2 ip=192.168.122.120 --group apachegroup
    
    # pcs resource create WebSite ocf:heartbeat:apache configfile=/etc/httpd/conf/httpd.conf statusurl="http://localhost/server-status" --group apachegroup
    
    # pcs status
    Cluster name: my_cluster
    Stack: corosync
    Current DC: z1.example.com (version 2.0.0-10.el8-b67d8d0de9) - partition with quorum
    Last updated: Fri Oct 12 09:54:33 2018
    Last change: Fri Oct 12 09:54:30 2018 by root via cibadmin on z1.example.com
    
    1 node configured
    2 resources configured
    
    Online: [ z1.example.com ]
    
    Full list of resources:
    
    Resource Group: apachegroup
        ClusterIP  (ocf::heartbeat:IPaddr2):       Started z1.example.com
        WebSite    (ocf::heartbeat:apache):        Started z1.example.com
    
    PCSD Status:
      z1.example.com: Online
    ...

    クラスターリソースを設定したら、pcs resource config コマンドを使用して、そのリソースに設定したオプションを表示します。

    Copy to Clipboard Toggle word wrap
    # pcs resource config WebSite
    Resource: WebSite (class=ocf provider=heartbeat type=apache)
     Attributes: configfile=/etc/httpd/conf/httpd.conf statusurl=http://localhost/server-status
     Operations: start interval=0s timeout=40s (WebSite-start-interval-0s)
                 stop interval=0s timeout=60s (WebSite-stop-interval-0s)
                 monitor interval=1min (WebSite-monitor-interval-1min)
  7. ブラウザーで、設定済みの Floating IP アドレスを使用して作成した Web サイトを開くように指定します。定義したテキストメッセージが表示されるはずです。
  8. Apache Web サービスを停止し、クラスターのステータスを確認します。killall -9 を使用して、アプリケーションレベルのクラッシュをシミュレートします。

    Copy to Clipboard Toggle word wrap
    # killall -9 httpd

    クラスターのステータスを確認します。Web サービスは停止したためアクションは失敗しますが、クラスターソフトウェアがサービスを再起動したため、Web サイトに引き続きアクセスできることが確認できるはずです。

    Copy to Clipboard Toggle word wrap
    # pcs status
    Cluster name: my_cluster
    ...
    Current DC: z1.example.com (version 1.1.13-10.el7-44eb2dd) - partition with quorum
    1 node and 2 resources configured
    
    Online: [ z1.example.com ]
    
    Full list of resources:
    
    Resource Group: apachegroup
        ClusterIP  (ocf::heartbeat:IPaddr2):       Started z1.example.com
        WebSite    (ocf::heartbeat:apache):        Started z1.example.com
    
    Failed Resource Actions:
    * WebSite_monitor_60000 on z1.example.com 'not running' (7): call=13, status=complete, exitreason='none',
        last-rc-change='Thu Oct 11 23:45:50 2016', queued=0ms, exec=0ms
    
    PCSD Status:
        z1.example.com: Online

    サービスが再開すると、障害が発生したリソースの障害 (failure) ステータスが削除されるため、クラスターステータスを確認する際に、障害が発生したアクションの通知が表示されなくなります。

    Copy to Clipboard Toggle word wrap
    # pcs resource cleanup WebSite
  9. クラスターと、クラスターのステータスを確認したら、ノードでクラスターサービスを停止します。(この手順を試すために、実際にサービスを起動したノードが 1 つだけであっても) --all パラメーターを追加してください。これにより実際のマルチノードクラスターの全ノードでクラスターサービスが停止します。

    Copy to Clipboard Toggle word wrap
    # pcs cluster stop --all
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat, Inc.