第 2 章 Pacemaker 入门
要熟悉您用来创建 Pacemaker 集群的工具和进程,您可以执行以下流程。这些内容适用于想了解集群软件以及如何管理它,而不需要配置集群的用户。
这些步骤并不会创建受支持的红帽集群。受支持的红帽集群至少需要两个节点并配置隔离设备。有关红帽对 RHEL 高可用性集群的支持政策、要求和限制的详情,请参考 RHEL 高可用性集群的支持政策。
2.1. 学习使用 Pacemaker 复制链接链接已复制到粘贴板!
通过这个过程,您将了解如何使用 Pacemaker 设置集群、如何显示集群状态以及如何配置集群服务。这个示例创建了一个 Apache HTTP 服务器作为集群资源,并显示了集群在资源失败时如何响应。
在本例中:
-
节点为
z1.example.com
。 - 浮动 IP 地址为 192.168.122.120。
先决条件
- 运行 RHEL 8 的单个节点
- 与节点静态分配的一个 IP 地址在同一网络上的浮动 IP 地址
-
运行的节点的名称位于
/etc/hosts
文件中
流程
从 High Availability 频道安装红帽高可用性附加组件软件包,并启动并启用
pcsd
服务。yum install pcs pacemaker fence-agents-all systemctl start pcsd.service systemctl enable pcsd.service
# yum 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