他ノードリソース制御機能「pacemaker_remote」とは?

    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を適用できるのか?」「適用すべきではないのか?」についてのご提案も行えます。

    まずは、お気軽にお問い合わせください。

     

    参考元サイト

    SNSでもご購読できます。