8.4.4. 設定の概要: KVM リモートノード
本セクションでは、
libvirt と KVM 仮想ゲストを使って Pacemaker に仮想マシンを起動させてからそのマシンをリモートノードとして統合させる手順についての概要を簡単に説明しています。
- 仮想化ソフトウェアのインストールと、クラスターノードでの
libvirtdサービスの有効化が完了したら、すべてのクラスターノードと仮想マシンに/etc/pacemaker/authkeyのパスでauthkeyを配置します。これにより安全なリモート通信と認証が行えるようになります。次のコマンドでauthkeyを作成します。# dd if=/dev/urandom of=/etc/pacemaker/authkey bs=4096 count=1 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- 各仮想マシンに静的ネットワークアドレスと固有のホスト名を与えます。
- 仮想マシン管理用の
VirtualDomainリソースエージェントを作成するため、Pacemaker にディスク上のファイルにダンプする仮想マシンの XML 設定ファイルが必要になります。例えば、guest1と言う名前の仮想マシンを作成している場合は、次のコマンドを使ってホスト上のいずれかの場所にあるファイルに XML をダンプします。# virsh dumpxml guest1 > /virtual_machines/guest1.xml 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=guest1VirtualDomainリソースの作成が完了したら、リモートノードはクラスター内の他のノードと全く同じように扱うことができるようになります。例えば、リソースを作成してリソースの制約をそのリソースに配置しリモートノードで実行させることができます。# pcs resource create webserver apache params configfile=/etc/httpd/conf/httpd.conf op monitor interval=30s # pcs constraint webserver prefers guest1リモートノードがクラスターに統合されたら、リモートノードで Pacemaker を実行しているかのようにリモートノード自体でpcsコマンドを実行できるようになります。