使用 Pacemaker 配置故障转移群集
安装 Pacemaker 集群
Pacemaker 是一个高可用性集群资源管理器 (CRM),可用于管理资源,并确保在发生节点故障时资源仍然可用。首先,我们需要安装 Pacemaker 包和 pcs 命令行工具。在两个节点上,运行:sudo yum install -y pacemaker pcs在两个节点上运行
firewall-cmd
命令,并允许 Pacemaker 的流量(TCP 端口 2224、3121、21064 和 UDP 端口 5405):
sudo 防火墙cmd --permanent --add-service=high-availability sudo 防火墙cmd --reload启动并启用 pcsd 服务。同样,在两个节点上运行这些:
sudo systemctl 启动 pcsd.service sudo systemctl 启用 pcsd.service再次在两个节点上设置用户密码
hacluster
,该密码是在软件包安装期间创建的。此用户将用于向其他集群节点进行身份验证并在集群上执行操作:
sudo passwd hacluster在 上
node1
,以hacluster
用户身份进行身份验证:
sudo pcs cluster auth NODE1 NODE2生成并同步 corosync 配置
node1
:
sudo pcs cluster setup --name cluster_name NODE1 NODE2
启动集群node1
:
sudo pcs cluster start--all
配置集群资源
现在集群已启动并运行,我们可以创建集群资源。首先,我们将创建一个 IP 地址资源,然后创建一个 Apache HTTP 服务器资源。创建资源后,我们可以设置资源约束,以确保 IP 地址始终在 Apache HTTP 服务器之前启动,并且这两个资源始终在同一节点上一起运行。在 上向集群添加一个 IP 地址资源node1
:
sudo pcs 资源创建 cluster_ip ocf:heartbeat:IPaddr2 ip=192.168.1.100 cidr_netmask=24 op 监视间隔=30 秒
在两个节点上安装 Apache HTTP 服务器,并在防火墙中打开 HTTP 端口:
sudo yum install -y httpd sudo 防火墙cmd --permanent --add-service=http sudo 防火墙cmd --reload在两个节点上,启用健康监控的状态 URL:
sudo cat > /var/www/html/index.html <<EOF SetHandler 服务器状态 需要本地 EOF将 Apache HTTP 服务器资源添加到集群
node1
:
sudo pcs 资源创建 apache ocf:heartbeat:apache configfile=/etc/httpd/conf/httpd.conf statusurl="https://localhost/server-status" op 监视间隔=1 分钟
设置共置约束node1
,确保集群资源在同一个节点上运行:
sudo pcs 约束 colocation 添加 apache 和 cluster_ip INFINITY
再次node1
,设置顺序约束,以确保集群资源以正确的顺序启动:
sudo pcs 约束顺序 cluster_ip 然后 apache
验证以下资源限制node1
:
sudo pcs 约束
验证集群资源的状态node1
:
sudo pcs状态
现在我们已经成功使用 Pacemaker 配置了故障转移群集!如果发生节点故障,资源将自动移动到群集中的工作节点。
想要了解更多?
如果您喜欢这个简短的教程并想了解有关 Pacemaker 的更多信息,请查看我的LPIC-3 304 虚拟化和高可用性预备课程。本课程涵盖 Pacemaker,以及支持高可用性和虚拟化的其他几种技术和服务。免责声明:本内容来源于第三方作者授权、网友推荐或互联网整理,旨在为广大用户提供学习与参考之用。所有文本和图片版权归原创网站或作者本人所有,其观点并不代表本站立场。如有任何版权侵犯或转载不当之情况,请与我们取得联系,我们将尽快进行相关处理与修改。感谢您的理解与支持!
请先 登录后发表评论 ~