pacemaker+corosync+haporxy高可用集群部署

# 安装 Corosync以及pacemaker 部署

yum install -y pacemaker pcs psmisc policycoreutils-python corosync fence-agents-all

systemctl start pcsd.service

systemctl enable pcsd.service

# 修改密码(全执行)

echo ‘HAcluster123‘ | passwd --stdin hacluster

# 验证集群

pcs cluster auth node71.ityunv.com node72.ityunv.com node73.ityunv.com -u hacluster -p HAcluster123 --force

# 创建集群

pcs cluster setup --name k8s_cluster01 node71.ityunv.com node72.ityunv.com node73.ityunv.com

# 启动集群

pcs cluster start --all

# 检查配置是否正确

crm_verify -L -V #一般情况会跳出个错误;

pcs property set stonith-enabled=false #禁用stonith;

pcs property set no-quorum-policy=ignore #无法仲裁时,选择忽略;

# 相关常用参数总结

pcs cluster enable --all #设置集群开机自动;

corosync-cfgtool -s #检查各节点通信状态(显示为no faults即为OK);

pcs status corosync #查看coyosync状态;

pcs status

crm: 是suse封装和开发维护的一个命令工具,功能强大并强烈推荐使用,但是红帽以及centos安装pacemaker以及corosync是不提供的,所以需要手动安装;

cd /etc/yum.repos.d/

wget http://download.opensuse.org/repositories/network:/ha-clustering:/Stable/CentOS_CentOS-7/clustering.repo

yum makecache && yum -y install crmsh

#二、配置haproxy实现与corosync和pacemaker结合

# 2.1 安装并配置haproxy

yum install -y haproxy

mv /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak01

echo -e "net.ipv4.ip_nonlocal_bind = 1" >> /etc/sysctl.conf

sysctl -p

# 2.2 修改配置文件,如下:

cat > /etc/haproxy/haproxy.cfg << EOF

global

log 127.0.0.1 local0

log 127.0.0.1 local1 notice

maxconn 4096

chroot /usr/share/haproxy

user haproxy

group haproxy

daemon

defaults

log global

mode tcp

timeout connect 5000ms

timeout client 50000ms

timeout server 50000ms

frontend stats-front

bind *:8088

mode http

default_backend stats-back

backend stats-back

mode http

balance source

stats uri /stats

stats auth admin:king111

listen Kubernetes-Cluster

bind 192.168.61.100:6443

balance leastconn

mode tcp

server k8s_71 192.168.61.71:6443 check inter 2000 fall 3

server k8s_72 192.168.61.72:6443 check inter 2000 fall 3

server k8s_73 192.168.61.73:6443 check inter 2000 fall 3

EOF

# 启动服务

systemctl restart haproxy

systemctl status haproxy

# 2.3 配置VIP 并 将Haproxy加入到PCS集群

# 需要Haproxy节点把开机启动项关闭, crm 进入 PCS 命令行模式:

systemctl disable haproxy

#第一种方式通过CRM进行配置:

crm config

primitive crm-vip ocf:heartbeat:IPaddr2 params ip=192.168.61.100 cidr_netmask=24 nic=eno16777984 op start interval=0s timeout=20s op stop interval=0s timeout=20s op monitor interval=20s timeout=30s meta priority=100

primitive haproxy systemd:haproxy op start interval=0s timeout=20s op stop interval=0s timeout=20s op monitor interval=20s timeout=30s meta priority=100 target-role=Started

colocation haproxy-with-vip inf: crm-vip:Started haproxy:Started

verify

commit

exit

# 查看状态:

crm status

# 第二种方式通过pcs进行配置:

pcs resource create pcs-vip ocf:heartbeat:IPaddr2 ip=192.168.61.100 cidr_netmask=24 nic=eno16777984 op monitor interval=15s

pcs resource create haproxy systemd:haproxy op monitor interval="5s"

pcs constraint colocation add pcs-vip haproxy INFINITY

pcs constraint order pcs-vip then haproxy

# 查看状态:

pcs status

# 删除资源

pcs resource delete haproxy

pcs resource delete pcs-vip

pcs resource delete crm-vip

#2.4 验证集群高可用

#可以自行试验,重启任意主机,看是否VIP切换到其他节点:

ip a

原文地址:https://www.cnblogs.com/ityunv/p/9173088.html

时间: 2024-10-07 15:35:29

pacemaker+corosync+haporxy高可用集群部署的相关文章

[ Openstack ] Openstack-Mitaka 高可用之 Pacemaker+corosync+pcs 高可用集群

目录 Openstack-Mitaka 高可用之 概述    Openstack-Mitaka 高可用之 环境初始化    Openstack-Mitaka 高可用之 Mariadb-Galera集群部署    Openstack-Mitaka 高可用之 memcache    Openstack-Mitaka 高可用之 Pacemaker+corosync+pcs高可用集群    Openstack-Mitaka 高可用之 认证服务(keystone)    Openstack-Mitaka

Pacemaker+corosync实现高可用集群

一:Pacemaker和corosync概述: Pacemaker(心脏起搏器),是一个集群管理资源器.但是其不提供心跳信息.pacemaker是一个延续的CRM.Pacemaker到了V3的版本以后 拆分了多个项目,其中pacemaker就是拆分出来的资源管理器. Heart 3.0拆分之后的组成部分: *Heartbeat:将原来的消息通信层独立为heartbeat项目,新的heartbeat只负责维护集群各个节点的信息以及他们之间的通信. *Cluster Glue:相当于一个中间层,它用

pacemaker+corosync/heartbeat高可用集群对比及资源代理RA脚本

一.Pacemaker概念 (1)Pacemaker(心脏起搏器),是一个高可用的群集资源管理器.它实现最大可用性资源管理的节点和资源级故障检测和恢复,通过使用首选集群基础设施(Corosync或Heartbeat)提供的消息和成员能力. 它可以监测并恢复节点和服务级别的故障,实现进程级高可用.它适合各种大小集群,可以编写脚本,可以管理作为心脏起搏器集群的一部分.再次说明一下,pacemaker是个资源管理器,不是提供心跳信息的,因为它似乎是一个普遍的误解,corosync/heartbeat的

线上测试高可用集群部署文档【我的技术我做主】

线上测试高可用集群部署文档 目录: 目录:1 项目需求:2 实现方式:2 拓扑图:3 系统及软件版本:3 安装步骤:4 IP分配:4 LVS和keepalived的安装和配置:4 LVS主配置:4 LVS2备 配置:7 web服务器配置9 Mysql-MHA高可用:13 Mysql主配置:13 manager管理端操作:15 VIP切换:16 测试:26 下面是centos5.6的系统环境,如果是centos6版本,只需改动少许地方即可,步骤一致 . ---- by 金戈铁马行飞燕 项目需求:

SpringCloud组件:Eureka高可用集群部署

高可用集群部署 Eureka 服务注册中心.构建项目使用 idea 开发工具创建一个 SpringBoot 项目,添加 Eureka Server 依赖即可, pom.xml 配置文件如下所示: ...... <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>

Spark 概述及其高可用集群部署

Spark入门 一. 学习目标 目标1:熟悉Spark相关概念 目标2:搭建一个Spark集群 二. Spark概述 2.1什么是Spark(官网:http://spark.apache.org) Spark是一种快速.通用.可扩展的大数据分析引擎,2009年诞生于加州大学伯克利分校AMPLab,2010年开源,2013年6月成为Apache孵化项目,2014年2月成为Apache顶级项目.目前,Spark生态系统已经发展成为一个包含多个子项目的集合,其中包含SparkSQL.Spark Str

Centos7上利用corosync+pacemaker+crmsh构建高可用集群

一.高可用集群框架 资源类型: primitive(native):表示主资源 group:表示组资源,组资源里包含多个主资源 clone:表示克隆资源 master/slave:表示主从资源 资源约束方式: 位置约束:定义资源对节点的倾向性 排序约束:定义资源彼此能否运行在同一节点的倾向性 顺序约束:多个资源启动顺序的依赖关系 HA集群常用的工作模型: A/P:两节点,active/passive,工作于主备模型 A/A:两节点,active/active,工作于主主模型 N-M:N>M,N个

Puppet自动化高可用集群部署

前言:随着公司应用需求的增加,需要不断的扩展,服务器数量也随之增加,当服务器数量不断增加,我们会发现一台puppetmaster响应很慢,压力大,解析缓慢,有什么优化的方案吗?可以使用Puppetmaster配置多端口,结合Nginx web代理,这样puppetmaster承受能力至少可以提升10倍以上. 一.安装配置mongrel服务: 要使用puppet多端口配置,需要指定mongrel类型,默认没有安装,需要安装.在Puppetmaster服务器端执行如下命令(前提是已经安装了对应版本的

HA高可用集群部署(ricci+luci+fence) 双机热备

主机环境 redhat6.5 6位 实验环境 服务端1 ip172.25.29.1   主机名:server1.example.com   ricci     服务端2 ip172.25.29.2    主机名:server2.example.com    ricci     管理端1 ip172.25.29.3    主机名:server3.example.com    luci     管理端2 ip172.25.29.250     fence_virtd 防火墙状态:关闭 1. 安装ri