第 2 章 Pacemaker 入门
要熟悉您用来创建 Pacemaker 集群的工具和进程,您可以执行以下流程。这些内容适用于想了解集群软件以及如何管理它,而不需要配置集群的用户。
这些步骤并不会创建受支持的红帽集群。受支持的红帽集群至少需要两个节点并配置隔离设备。有关红帽对 RHEL 高可用性集群的支持政策、要求和限制的详情,请参考 RHEL 高可用性集群的支持政策。
2.1. 学习使用 Pacemaker 复制链接链接已复制到粘贴板!
通过这个过程,您将了解如何使用 Pacemaker 设置集群、如何显示集群状态以及如何配置集群服务。这个示例创建了一个 Apache HTTP 服务器作为集群资源,并显示了集群在资源失败时如何响应。
在本例中:
-
节点为
z1.example.com
。 - 浮动 IP 地址为 192.168.122.120。
先决条件
- 一个用于运行 RHEL 9 的单个节点
- 一个浮动的 IP 地址,它与一个节点静态分配的 IP 地址处于同一个网络。
-
运行的节点的名称位于
/etc/hosts
文件中
步骤
从 High Availability 频道安装 Red Hat High Availability Add-On 软件包,然后启动并启用
pcsd
服务。dnf install pcs pacemaker fence-agents-all systemctl start pcsd.service systemctl enable pcsd.service
# dnf install pcs pacemaker fence-agents-all ... # systemctl start pcsd.service # systemctl enable pcsd.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您正在运行
firewalld
守护进程,启用红帽高可用性附加组件所需的端口。firewall-cmd --permanent --add-service=high-availability firewall-cmd --reload
# firewall-cmd --permanent --add-service=high-availability # firewall-cmd --reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在集群的每个节点上为用户
hacluster
设置密码,并为您要从中运行pcs
命令的集群中每个节点验证用户hacluster
。本例只使用一个节点,您要从这个节点中运行命令。把这一步包括在这个步骤的原因是,它是配置一个被支持的红帽高可用性多节点集群的一个必要步骤。passwd hacluster pcs host auth z1.example.com
# passwd hacluster ... # pcs host auth z1.example.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建名为
my_cluster
的集群,具有一个成员并检查集群的状态。这个命令会创建并启动集群。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 红帽高可用性集群要求为集群配置隔离功能。在红帽知识库解决方案 Red Hat High Availability Cluster 中的隔离 中描述了此要求的原因。但是,这里只显示如何使用基本的 Pacemaker 命令,因此将
stonith-enabled
集群选项设置为false
来禁用隔离功能。警告对生产集群而言,不要使用
stonith-enabled=false
。它通知集群,假设出现故障的节点已被安全隔离。pcs property set stonith-enabled=false
# pcs property set stonith-enabled=false
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在您的系统中配置网页浏览器并创建一个网页来显示简单文本信息。如果您正在运行
firewalld
守护进程,启用httpd
所需的端口。注意不要使用
systemctl enable
启用任何由集群管理的服务在系统引导时启动。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要让 Apache 资源代理获得 Apache 状态,在现有配置中添加以下内容来启用状态服务器 URL。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
IPaddr2
和apache
资源,供集群管理。IPaddr2
资源是一个浮动 IP 地址,它不能是已经与物理节点关联的浮动 IP 地址。如果没有指定IPaddr2
资源的 NIC 设备,浮动 IP 必须位于与静态分配的 IP 地址相同的网络中。您可以使用
pcs resource list
命令显示所有可用资源类型的列表。您可以使用pcs resource describe resourcetype
命令显示您可以为指定资源类型设置的参数。例如,以下命令显示您可以为类型apache
的资源设置的参数:pcs resource describe apache
# pcs resource describe apache ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在这个示例中,IP 地址资源和 apache 资源都配置为名为
apachegroup
的组的一部分,这样可确保在配置正常工作的多节点集群时让资源在同一节点中运行。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 配置群集资源后,您可以使用
pcs resource config
命令显示为该资源配置的选项。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 将浏览器指向使用您配置的浮动 IP 地址创建的网站。这个命令会显示您定义的文本信息。
停止 apache web 服务并检查集群的状态。使用
killall -9
模拟应用程序级别的崩溃。killall -9 httpd
# killall -9 httpd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查集群状态。您应该看到停止 web 服务会导致操作失败,但集群软件会重启该服务,您应该仍然可以访问网站。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以在服务启动并再次运行后,清除失败的资源中的失败状态。当您查看集群状态时,失败的操作通知将不再出现。
pcs resource cleanup WebSite
# pcs resource cleanup WebSite
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 当您完成查看集群和集群状态后,停止节点上的集群服务。虽然在这里只在一个节点中只启动这个服务,但包含了
--all
参数,它会停止在一个实际的多节点集群中的所有节点上的集群服务。pcs cluster stop --all
# pcs cluster stop --all
Copy to Clipboard Copied! Toggle word wrap Toggle overflow