目次にジャンプページナビゲーションにジャンプ: 前のページ[アクセスキーp]/次のページ[アクセスキーn]
documentation.suse.com / SUSE Linux Enterprise High Availabilityのドキュメント / 管理ガイド / 設定および管理 / リモートホストでのサービスの管理
適用項目 SUSE Linux Enterprise High Availability 15 SP6

9 リモートホストでのサービスの管理

リモートホストでサービスを監視および管理できることが、ここ数年の間にますます重要になってきています。SUSE Linux Enterprise High Availability 11 SP3では、監視プラグインを介したリモートホストでのサービスの詳細な監視機能を提供してきました。SUSE Linux Enterprise High Availability 15 SP6では、最近追加されたpacemaker_remoteサービスを使用すると、リモートマシンにクラスタスタックをインストールしていなくても、実際のクラスタノードと同様にリモートホストでリソースを全面的に管理および監視できます。

9.1 監視プラグインを使用したリモートホストでのサービスの監視

仮想マシンの監視はVMエージェント(ハイパーバイザにゲストが出現する場合のみチェックを行う)を使用して行うか、VirtualDomainまたはXenエージェントから呼び出される外部スクリプトによって行うことができます。これまでは、精度の高い監視を行うには、仮想マシン内にHigh Availabilityスタックを完全にセットアップするしか方法がありませんでした。

今回、SUSE Linux Enterprise High Availabilityでは、監視プラグイン(旧称はNagiosプラグイン)に対するサポートを提供することで、リモートホストでサービスを監視できるようになりました。ゲストイメージを変更することなく、ゲストの外部ステータスを収集できます。たとえば、VMゲストはWebサービスまたは単純なネットワークリソースを実行している可能性があり、これらはアクセス可能である必要があります。Nagiosリソースエージェントによって、ゲスト上のWebサービスまたはネットワークリソースを監視できるようになりました。これらのサービスにアクセスできなくなった場合は、SUSE Linux Enterprise High Availabilityがそれぞれのゲストの再起動またはマイグレーションをトリガします。

ゲストがサービス(そのゲストによって使用されるNFSサーバなど)に依存している場合、そのサービスは、クラスタによって管理される通常のリソースか、Nagiosリソースによって監視される外部サービスのどちらかにすることができます。

Nagiosリソースを設定するには、ホスト上に次のパッケージをインストールする必要があります:

  • monitoring-plugins

  • monitoring-plugins-metadata

必要に応じて、YaSTまたはZypperが、これ以上のパッケージに対する依存性を解決します。

一般的な使用例としては、1つのリソースコンテナに属するリソースとして監視プラグインを設定します。このリソースコンテナは通常はVMです。リソースが失敗した場合、コンテナが再起動されます。設定例については、例9.1「監視プラグインのリソースの設定」を参照してください。または、Nagiosリソースエージェントを使用してネットワーク経由でホストまたはサービスを監視する場合、このエージェントを通常のリソースとして設定することもできます。

例 9.1: 監視プラグインのリソースの設定
primitive vm1 VirtualDomain \
    params hypervisor="qemu:///system" config="/etc/libvirt/qemu/vm1.xml" \
    op start interval="0" timeout="90" \
    op stop interval="0" timeout="90" \
    op monitor interval="10" timeout="30"
primitive vm1-sshd nagios:check_tcp \
    params hostname="vm1" port="22" \ 1
    op start interval="0" timeout="120" \ 2
    op monitor interval="10"
group g-vm1-and-services vm1 vm1-sshd \
    meta container="vm1" 3

1

サポートされるパラメータは、監視プラグインの長いオプションと同じです。プラグインは、パラメータhostnameによってサービスと接続します。したがって、この属性の値は解決可能なホスト名かIPアドレスである必要があります。

2

ゲストオペレーティングシステムが起動してサービスが実行されるまでには少し時間がかかるので、監視リソースの起動タイムアウトは十分な長さに設定する必要があります。

3

ocf:heartbeat:Xenocf:heartbeat:VirtualDomain、またはocf:heartbeat:lxcタイプのクラスタリソースコンテナ。VMまたはLinuxコンテナのいずれかに設定できます。

上の例には、check_tcpプラグイン用の1つのリソースしか含まれていませんが、さまざまなプラグインタイプ(たとえば、check_httpcheck_udpなど)用に複数のリソースを設定することもできます。

複数のサービスのホスト名が同じである場合、hostnameパラメータを個別のプリミティブに追加するのではなく、グループに対して指定することもできます。例:

group g-vm1-and-services vm1 vm1-sshd vm1-httpd \
     meta container="vm1" \
     params hostname="vm1"

監視プラグインによって監視されているいずれかのサービスに、VM内で障害が発生した場合は、クラスタがこれを検出し、コンテナリソース(VM)を再起動します。この場合に実行される操作は、サービスの監視操作に関するon-fail属性を指定することで設定できます。デフォルトでは、restart-containerに設定されています。

VMのマイグレーションしきい値を検討する場合は、サービスの障害発生回数が考慮されます。

9.2 pacemaker_remoteを使用したリモートノードでのサービスの管理

pacemaker_remoteサービスを使用すると、High Availabilityクラスタを仮想ノードまたはリモートベアメタルマシンに拡張することができます。クラスタスタックを実行して、クラスタのメンバーになる必要はありません。

SUSE Linux Enterprise High Availabilityでは現在、仮想環境(KVMおよびLXC)、およびこれらの仮想環境内に存在するリソースを起動できるようになりました(PacemakerまたはCorosyncの実行に仮想環境は必要としません)。

クラスタリソースとしての仮想マシンおよびVM内に存在するリソースの両方を管理する使用例では、次の設定を使用できるようになりました。

  • 通常(ベアメタル)クラスタノードは、SUSE Linux Enterprise High Availabilityを実行します。

  • 仮想マシンは、pacemaker_remoteサービスを実行します(VM側で必要な設定はほとんどありません)。

  • 通常クラスタノード上のクラスタスタックはVMを起動し、VM上で実行されているpacemaker_remoteサービスに接続して、それらをリモートノードとしてクラスタに統合します。

リモートノードでクラスタスタックがインストールされていないときは、これには次の意味があります。

  • リモートノードはクォーラムに参加しません。

  • リモートノードはDCになることはできません。

  • リモートノードは、スケーラビリティの制約に制限されません(Corosyncには32ノードのメンバー制限があります)。

remote_pacemakerサービスに関する詳細については(詳細な設定手順から成る複数の使用例を含む)、Pacemaker Remote Quick Startを参照してください。