9.4.5. 配置概述:KVM 客户机节点
本节概述了使用
libvirt
和 KVM 虚拟机执行 Pacemaker 启动虚拟机并将该虚拟机整合为客户机节点的步骤。
- 配置
VirtualDomain
资源,如 第 9.3 节 “将虚拟域配置为资源” 所述。 - 在运行 Red Hat Enterprise Linux 7.3 及更早版本的系统上,按照以下步骤将路径
/etc/pacemaker/authkey
放置到每个集群节点和虚拟机上。这可保护远程通信和身份验证。在每个节点上输入以下一组命令,以创建具有安全权限的 authkey
目录。#
mkdir -p --mode=0750 /etc/pacemaker
#chgrp haclient /etc/pacemaker
- 以下命令显示了创建加密密钥的一种方法:您应该仅创建一次密钥,然后将它复制到所有节点。
#
dd if=/dev/urandom of=/etc/pacemaker/authkey bs=4096 count=1
- 对于 Red Hat Enterprise Linux 7.4,在每个虚拟机上输入以下命令来安装
pacemaker_remote
软件包,启动pcsd
服务并启用它在启动时运行,并通过防火墙允许 TCP 端口 3121。#
yum install pacemaker-remote resource-agents pcs
#systemctl start pcsd.service
#systemctl enable pcsd.service
#firewall-cmd --add-port 3121/tcp --permanent
#firewall-cmd --add-port 2224/tcp --permanent
#firewall-cmd --reload
对于 Red Hat Enterprise Linux 7.3 和更早版本,在每个虚拟机上运行以下命令,以安装pacemaker_remote
软件包、启动pacemaker_remote
服务并使其在启动时运行,并允许 TCP 端口 3121 通过防火墙。#
yum install pacemaker-remote resource-agents pcs
#systemctl start pacemaker_remote.service
#systemctl enable pacemaker_remote.service
#firewall-cmd --add-port 3121/tcp --permanent
#firewall-cmd --add-port 2224/tcp --permanent
#firewall-cmd --reload
- 为每个虚拟机分配一个静态网络地址和唯一主机名,适用于所有节点。有关为客户机虚拟机设置静态 IP 地址的详情,请参考 虚拟化部署和管理指南。
- 对于 Red Hat Enterprise Linux 7.4 及更高版本,请使用以下命令将现有
VirtualDomain
资源转换为客户机节点。这个命令必须在集群节点中运行,而不必在要添加的客户端节点中运行。除了转换资源外,这个命令会将/etc/pacemaker/authkey
复制到客户机节点,并在客户机节点上启动并启用pacemaker_remote
守护进程。pcs cluster node add-guest hostname resource_id [options]
对于 Red Hat Enterprise Linux 7.3 及更早版本,使用以下命令将现有的VirtualDomain
资源转换为客户机节点。这个命令必须在集群节点中运行,而不必在要添加的客户端节点中运行。pcs cluster remote-node add hostname resource_id [options]
- 创建
VirtualDomain
资源后,您可以像在集群中的任何其他节点一样对待客户机节点。例如,您可以创建资源并在客户机节点中运行的资源上放置资源约束,如下命令可在集群节点中运行。从 Red Hat Enterprise Linux 7.3 开始,您可以在组中包括客户机节点,它们允许您对存储设备、文件系统和虚拟机进行分组。#
pcs resource create webserver apache configfile=/etc/httpd/conf/httpd.conf op monitor interval=30s
#pcs constraint location webserver prefers guest1