Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

8.4.4. 設定の概要: KVM リモートノード

本セクションでは、libvirt と KVM 仮想ゲストを使って Pacemaker に仮想マシンを起動させてからそのマシンをリモートノードとして統合させる手順についての概要を簡単に説明しています。
  1. 仮想化ソフトウェアのインストールと、クラスターノードでの libvirtd サービスの有効化が完了したら、すべてのクラスターノードと仮想マシンに /etc/pacemaker/authkey のパスで authkey を配置します。これにより安全なリモート通信と認証が行えるようになります。
    次のコマンドで authkey を作成します。
    # dd if=/dev/urandom of=/etc/pacemaker/authkey bs=4096 count=1
  2. pacemaker_remote パッケージのインストール、pacemaker_remote サービスの起動、このサービスの起動時の実行を有効化、ファイアウォールでの TCP ポート 3121 の通信の許可をすべての仮想マシンでそれぞれ行います。
    # yum install pacemaker-remote resource-agents
    # systemctl start pacemaker_remote.service
    # systemctl enable pacemaker_remote.service
    # firewall-cmd --add-port 3121/tcp --permanent
  3. 各仮想マシンに静的ネットワークアドレスと固有のホスト名を与えます。
  4. 仮想マシン管理用の VirtualDomain リソースエージェントを作成するため、Pacemaker にディスク上のファイルにダンプする仮想マシンの XML 設定ファイルが必要になります。例えば、guest1 と言う名前の仮想マシンを作成している場合は、次のコマンドを使ってホスト上のいずれかの場所にあるファイルに XML をダンプします。
    # virsh dumpxml guest1 > /virtual_machines/guest1.xml
  5. VirtualDomain リソースを作成し、remote-note リソースメタオプションを設定して仮想マシンがリソースを実行できるリモートノードであることを示します。
    以下の例では、メタ属性の remote-node=guest1 使って、このリソースが guest1 と言うホスト名でクラスターに統合可能なリモートノードであることを pacemaker に伝えています。仮想マシンが起動すると、クラスターによりホスト名 guest1 で仮想マシンの pacemaker_remote サービスへの通信が試行されます。
    # pcs resource create vm-guest1 VirtualDomain hypervisor="qemu:///system" config="vm-guest1.xml" meta remote-node=guest1
  6. VirtualDomain リソースの作成が完了したら、リモートノードはクラスター内の他のノードと全く同じように扱うことができるようになります。例えば、リソースを作成してリソースの制約をそのリソースに配置しリモートノードで実行させることができます。
    # pcs resource create webserver apache params configfile=/etc/httpd/conf/httpd.conf op monitor interval=30s
    # pcs constraint webserver prefers guest1
    リモートノードがクラスターに統合されたら、リモートノードで Pacemaker を実行しているかのようにリモートノード自体で pcs コマンドを実行できるようになります。