内容简介:本文风哥教程参考Linux官方文档、Red Hat Enterprise Linux官方文档、Ansible Automation Platform官方文档、Docker官方文档、Kubernetes官方文档和Podman官方文档等内容,详细介绍了相关技术的配置和使用方法。
本文档风哥主要介绍高可用集群架构的设计与实施方法,包括架构设计、技术选型、部署实施等内容。
Part01-基础概念与理论知识
1.1 高可用集群概述
可用性 = (总时间 – 故障时间) / 总时间 × 100%
目标:99.9%、99.99%、99.999%
# 高可用技术
Pacemaker + Corosync:集群资源管理
Keepalived:VIP漂移
HAProxy:负载均衡
Part02-生产环境规划与建议
2.1 架构设计原则
1. 消除单点故障
2. 故障自动检测
3. 故障自动转移
4. 数据一致性保证
Part03-生产环境项目实施方案
3.1 Pacemaker集群部署
$ sudo dnf install pacemaker corosync pcs -y
# 启动pcs服务
$ sudo systemctl start pcsd
$ sudo systemctl enable pcsd
# 设置hacluster用户密码
$ sudo passwd hacluster
# 节点认证
$ sudo pcs cluster auth node1 node2 -u hacluster -p password
# 创建集群
$ sudo pcs cluster setup mycluster node1 node2
# 启动集群
$ sudo pcs cluster start –all
# 查看集群状态
$ sudo pcs status
Cluster name: mycluster
Stack: corosync
Current DC: node1 (version 2.0.3-5.el8) – partition with quorum
Last updated: Mon Apr 6 10:00:00 2026
Last change: Mon Apr 6 10:00:00 2026 by hacluster via crmd on node1
2 nodes configured
0 resources configured
Online: [ node1 node2 ]
3.2 配置集群资源
$ sudo pcs property set stonith-enabled=false
# 配置VIP资源
$ sudo pcs resource create VirtualIP ocf:heartbeat:IPaddr2 \
ip=192.168.1.100 cidr_netmask=24 op monitor interval=30s
# 配置Web服务资源
$ sudo pcs resource create WebServer ocf:heartbeat:apache \
configfile=/etc/httpd/conf/httpd.conf op monitor interval=30s
# 配置资源约束
$ sudo pcs constraint colocation add WebServer with VirtualIP INFINITY
$ sudo pcs constraint order VirtualIP then WebServer
# 查看资源配置
$ sudo pcs resource show
VirtualIP (ocf::heartbeat:IPaddr2): Started node1
WebServer (ocf::heartbeat:apache): Started node1
Part04-生产案例与实战讲解
4.1 案例:Web服务高可用集群
# 1. 环境准备
# node1: 192.168.1.10
# node2: 192.168.1.11
# VIP: 192.168.1.100
# 2. 安装软件
$ sudo dnf install pacemaker corosync pcs httpd -y
# 3. 配置集群
$ sudo pcs cluster setup webcluster node1 node2
$ sudo pcs cluster start –all
# 4. 配置资源
$ sudo pcs resource create VIP ocf:heartbeat:IPaddr2 ip=192.168.1.100
$ sudo pcs resource create HTTP ocf:heartbeat:apache
# 5. 测试故障转移
$ sudo pcs cluster standby node1
$ sudo pcs status
Online: [ node2 ]
风哥提示:
Part05-风哥经验总结与分享
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
