Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
8.4. pacemaker_remote サービス
pacemaker_remote
サービスを使用するとノードに corosync
を実行させることなくクラスターに統合、クラスター側でリソースをクラスターノードのように管理させることができるようになります。これにより、仮想環境で pacemaker
や corosync
を実行することなく、Pacemaker クラスターで仮想環境 (KVM/LXC) およびその仮想環境内に存在するリソース群を管理させることができるようになります。
pacemaker_remote
サービスの説明では次のような用語を使用しています。
- クラスターノード -High Availability サービス (
pacemaker
とcorosync
) を実行しているノード - リモートノード —
pacemaker_remote
を実行しているノード、corosync
クラスターメンバーシップを必要とせずクラスターにリモートで統合 - コンテナー — 追加リソースを含んでいる Pacemaker リソース (例えば webserver リソースを含んでいる KVM 仮想マシンリソースなど)
- コンテナーリモートノード —
pacemaker_remote
サービスを実行している仮想ゲストのリモートノード、クラスター管理の仮想ゲストリソースがクラスターで起動されリモートノードとしてクラスターに統合されるというようなリモートノード事例を指す場合に使用 - pacemaker_remote — Pacemaker クラスター環境、スタンドアローン (非クラスター) 環境、いずれの環境下でもゲストノード (KVM and LXC) 内のアプリケーションをリモートで管理できるサービスデーモン (Pacemaker のローカルリソース管理デーモン (LRMD) の拡張バージョンで、ゲスト上にある LSB、OCF、upstart、systemd などのリソースの管理およびモニタリングをリモートで行うことが可能、またリモートノードで
pcs
を使用することも可) - LXC —
libvirt-lxc
Linux コンテナードライバーで定義される Linux Container
pacemaker_remote
サービスを実行している Pacemaker クラスターには次のような特徴があります。
- 仮想リモートノードは
pacemaker_remote
サービスを実行します (仮想マシン側ではほとんど設定を必要としません)。 - クラスターノードで実行しているクラスタースタック (
pacemaker
とcorosync
) は仮想マシンを起動し直ちにpacemaker_remote
サービスへ接続、クラスター内に仮想マシンを統合できるようにします。
仮想マシンリモートノードとクラスターノードとの主な違いとは、リモートノードはクラスタースタックを実行していないという点です。つまり、リモートノードは定足数を採用していません。これはリモートノードがクラスタースタックに関連するスケーラビリティの制限には縛られないということにもなります。定足数の制限以外、リモートノードはリソース管理に関してはクラスターノードと同じように動作します。クラスターでは各リモートノード上のリソースを完全に管理、モニタリングすることができます。リモートノードに対して制約を作り、スタンバイモードにしたり、クラスターノードで行うような動作をリモートノードに行わせることもできます。リモートノードはクラスターノード同様クラスターの状態出力に表示されます。
8.4.1. コンテナーリモートノードのリソースオプション
仮想マシンまたは LXC リソースがリモートノードとして動作するよう設定している場合には
VirtualDomain
リソースを作成して仮想マシンを管理させます。VirtualDomain
リソースに設定できるオプションの詳細については次のコマンドで確認してください。
# pcs resource describe VirtualDomain
VirtualDomain
リソースオプションの他にもリソースをリモートノードとして有効にして接続パラメーターを定義するメタデータオプションを設定することもできます。表8.3「KVM/LXC リソースをリモートノードとして設定するメタデータオプション」 にメタデータオプションを示します。
表8.3 KVM/LXC リソースをリモートノードとして設定するメタデータオプション
フィールド | デフォルト | 説明 |
---|---|---|
remote-node
|
<none>
|
このリソースで定義するリモートノードの名前、リソースをリモートノードとして有効にしてノードの識別に使用する固有名を定義する (他にパラメーターが設定されていない場合はこの値がポート 3121 で接続するホスト名とみなされる) 警告: この値はいずれのリソース、ノード ID とも重複不可
|
remote-port
|
3121
| pacemaker_remote へのゲスト接続に使用するカスタムのポートを設定
|
remote-addr
| remote-node value used as hostname
|
リモートノード名がゲストのホスト名ではない場合に接続する IP アドレスまたはホスト名
|
remote-connect-timeout
|
60s
|
保留中のゲスト接続がタイムアウトするまでの時間
|
次のコマンドでは
vm-guest1
と言う名前の VirtualDomain
リソースを作成しています。remote-node
メタ属性を使ってリソースを実行することができるリモートノードになります。
# pcs resource create vm-guest1 VirtualDomain hypervisor="qemu:///system" config="vm-guest1.xml" meta remote-node=guest1