Pacemakerの他ノードリソース制御機能「pacemaker_remote」について紹介します。
Pacemakerとは
Pacemakerは、一連のマシン間で関連する「サービス起動」と「サービス復旧」をコントロールするためのクラスタソフトウェアです。
Pacemakerの概要については、こちらも参照ください。
→クラスタ構成ソフトウェア「Pacemaker」と「Heartbeat」「Corosync」の関係性
他ノードリソース制御機能「pacemaker_remote」とは
概要
pacemaker_remoteとは、Pacemaker本体で他ノード(実マシン/仮想マシン/コンテナ)上のリソースを制御する機能です。
pacemaker_remoteを使用すると、他ノードのリソースを実際のクラスタと同様に管理することが可能となり、高可用性スタックの従来のビューを拡張して、新しいレイヤーを含めることができます。
ユースケース
pacemaker_remoteサービスは、次のようなケースに対応できます。
・Pacemakerクラスタで仮想マシンリソースを管理したいが、Pacemakerがそれらの仮想マシン内に存在するリソースも管理できるようにしたい
・Corosyncの16ノード制限を超えて拡張したい
動作要件
pacemaker_remoteは、Pacemakerからの接続ホストの形で動作し、Pacemakerから接続を行います。
他ノード側には、Pacemaker本体は必要なく「pacemaker_remoteプロセス」と「リソースエージェント」が動作できる環境が必要です。
構成
クラスタノード
クラスタノードとは「CorosyncとすべてのPacemakerコンポーネントの高可用性スタックを実行しているノード」が該当します。
クラスタノードは以下の機能を提供します。
・クラスタリソース実行
・Pacemakerコマンドラインツールの実行(crm_mon/crm_resource)
・フェンシングアクション実行
・クラスタクォーラムカウント
・クラスタ指定コントローラ(DC)機能 など
PACEMAKER_REMOTE
pacemaker_remoteは「ホストが完全なクラスタスタックを実行せずにPacemakerノードとして使用できるようにするためのサービスデーモン」です。Pacemakerのローカルリソース管理デーモン(LRMD:Local Resource Management Daemon)の拡張バージョンとして機能します。
pacemaker_remoteを実行しているノードでは、クラスタリソースと同様のコマンドラインツールを実行できます。しかし、「フェンシング実行」「定足数投票」「DC適格性」などの機能は実行できません。
リモートノード
リモートノードは「pacemaker_remoteを実行している物理ホスト」を指します。
リモートノードには、クラスタとの通信を管理する特別なリソースがあります。
ゲストノード
ゲストノードとは「pacemaker_remoteを実行している仮想ホスト」を指します。
Pacemakerバージョンサポート
pacemaker_remoteを使用する場合は、「Pacemaker 1.1.12以降」を利用することが推奨されています。
最後に
Pacemakerの拡張機能として利用できる「pacemaker_remote」を活用することで、より効率的なクラスタ環境を構築できるケースもあります。
弊社にご連絡をいただければ、「pacemaker_remoteを適用できるのか?」「適用すべきではないのか?」についてのご提案も行えます。
まずは、お気軽にお問い合わせください。
参考元サイト