pacemaker怎样集群

联启 网络工具 14

本文目录导读:

pacemaker怎样集群-第1张图片-电脑手机工具软件下载 - 免费实用工具合集 | 联启科技

  1. 基础环境准备(所有节点执行)
  2. 安装软件包(所有节点)
  3. 配置 Corosync 通信(主节点操作)
  4. 启动集群服务(主节点)
  5. 配置集群属性(可选但重要)
  6. 创建集群资源(VIP 示例)
  7. 验证集群效果
  8. 常见问题与补充
  9. 最终效果

Pacemaker 是一个高可用性集群资源管理器,在理解“Pacemaker 怎样集群”时,通常指的是如何搭建一个基于 Pacemaker + Corosync(通信层)的高可用集群。

下面是一个标准的 Pacemaker + Corosync 集群搭建流程,以 CentOS/RHEL 7/8/9Rocky Linux 为例,假设你需要配置一个 2 节点集群(node1 和 node2)来管理 IP 资源。

基础环境准备(所有节点执行)

  • 配置主机名与 hosts 解析

    • node1 主机名:node1.cluster.local
    • node2 主机名:node2.cluster.local
    • /etc/hosts 中添加:
      168.1.10 node1.cluster.local node1
      192.168.1.20 node2.cluster.local node2
  • 关闭防火墙与 SELinux

    systemctl stop firewalld
    systemctl disable firewalld
    setenforce 0
    # 永久关闭:修改 /etc/selinux/config 为 disabled
  • 时间同步(NTP/Chrony)

    集群对时间非常敏感,确保所有节点时间一致。

  • 节点间 SSH 免密登录(可选,但推荐)

    ssh-keygen
    ssh-copy-id node1
    ssh-copy-id node2

安装软件包(所有节点)

# 安装高可用软件包组(包含 pacemaker, corosync, pcs 等)
yum install -y pacemaker pcs psmisc policycoreutils-python-utils
# 查看版本确认安装成功
rpm -qa | grep -E "pacemaker|corosync|pcs"

配置 Corosync 通信(主节点操作)

Pacemaker 依赖 Corosync 组通信,我们使用 pcs 工具来创建集群。

  • 启动 pcsd 服务(所有节点)

    systemctl start pcsd
    systemctl enable pcsd
  • 设置 hacluster 用户密码(所有节点,密码需一致)

    echo "yourpassword" | passwd --stdin hacluster
  • 在主节点上执行集群认证与创建

    # 1. 对两个节点进行认证(输入密码)
    pcs host auth node1 node2 -u hacluster -p yourpassword
    # 2. 创建集群,命名为 my_cluster
    pcs cluster setup my_cluster node1 node2

    补充说明: 如果要配置多播或单播,可以使用 --start 参数,对于生产环境建议在 /etc/corosync/corosync.conf 中确认 transport: knet(新版本)或 udpupcs cluster setup 会自动完成这些配置。

启动集群服务(主节点)

# 启动所有节点的集群服务
pcs cluster start --all
# 设置为开机自启
pcs cluster enable --all
# 检查集群状态
pcs status
# 或者详细查看 corosync
corosync-cfgtool -s

你应该看到:

  • 所有节点处于 Online 状态。
  • 没有资源在运行(因为还没配置)。

配置集群属性(可选但重要)

为了避免“脑裂”等问题,建议配置:

# 禁用 stonith(测试环境无 fence 设备时必须禁用,生产环境应配置)
pcs property set stonith-enabled=false
# 设置集群不检查仲裁(2节点集群如果无仲裁设备需要禁用)
pcs property set no-quorum-policy=ignore
# 查看所有属性
pcs property list

创建集群资源(VIP 示例)

创建一个虚拟 IP(VIP)资源,IP 会在节点间漂移:

# 创建资源:类型为 ocf:heartbeat:IPaddr2, 参数 ip=192.168.1.100
pcs resource create vip_cluster ocf:heartbeat:IPaddr2 ip=192.168.1.100 cidr_netmask=24 op monitor interval=30s

验证集群效果

# 查看资源状态
pcs status resources
# 模拟故障:在 node1 上停止 pacemaker
pcs cluster stop node1
# 在主节点上查看状态,vip 应该立即漂移到 node2
pcs status
# 你会看到 vip_cluster 在 node2 上 running

常见问题与补充

  1. 单播 vs 多播:如果你的网络不支持多播(例如云环境),pcs cluster setup 会自动使用单播(knet 协议)。

  2. fencing(STONITH):生产环境必须配置,STONITH(Shoot The Other Node In The Head)设备(如 IPMI、iLO、磁盘锁)是防脑裂的关键。

  3. 集群资源类型

    • ocf(Open Cluster Framework):标准集群资源,如 IP、Filesystem、MySQL、Nginx 等。
    • lsb(Linux Standard Base):普通 systemd 服务单元。
    • systemd:直接管理 systemd 单元。
  4. 资源约束

    • 让资源在 node1 优先运行:pcs constraint location vip_cluster prefers node1
    • 让两个资源在一起运行:pcs constraint colocation add res1 with res2
    • 启动顺序:pcs constraint order start res1 then res2
  5. 管理命令总结

    • pcs cluster start --all:启动所有节点。
    • pcs cluster stop --all:停止所有节点。
    • pcs node standby node1:将 node1 变为备用,资源移走。
    • pcs node unstandby node1:恢复 node1。

最终效果

搭建完成后,你的集群应该能实现:

  • 高可用 VIP:当 node1 宕机,VIP 会在几十秒内自动漂移到 node2。
  • 服务持续运行:即使节点故障,用户通过 VIP 访问的服务不会中断。
  • 资源管理:通过 pcs status 可以查看所有资源的状态和分布。

这个流程就是 Pacemaker + Corosync 标准集群的搭建方式,若有具体场景(如搭配 NFS、MySQL、Nginx),可以根据需求定义资源组和约束。

标签: Pacemaker 集群

抱歉,评论功能暂时关闭!