高可用pcs

一:基础

1、基础搭建

所有个节点都做

[1]

name=1

baseurl=ftp://172.25.254.100/pub/media

enabled=1

gpgcheck=0

[2]

name=2

baseurl=ftp://172.25.254.100/pub/media/addons/HighAvailability

enabled=1

gpgcheck=0

hostnamectl set-hostname node1     更改主机名

hostnamectl set-hostname node2

cat /etc/hosts

172.25.254.100 node1

172.25.254.101 node2

各节点同步时间NTP,此处不在搭建

各节点需要ssh无密码密钥搭建(相互之间都需要)

2、防火墙配置

systemctl stop firewalld.service

systemctl disable firewalld.service

sed -i ‘/SELINUX/s/permissive/disabled/g‘ /etc/selinux/config

setenforce 0物理机也关

###firewall-cmd --permanent  --add-service=high-availability

###firewall-cmd  --reload

二、集群服务配置

1、装包启服务

yum -y install pcs pacemaker corosync fence-agents-all   lvm2-cluster(存储的)

为了各个节点通讯,在每个节点创建相同账户和密码

echo 123456 |passwd --stdin hacluster           用户暂时不能改,除非知道该那个文件

服务启动

cp /etc/corosync/corosync.conf.example /etc/corosync/corosync.conf     防止起不来

systemctl start pcsd

systemctl enable pcsd

systemctl start pacemaker

systemctl enable pacemaker

systemctl start corosync

systemctl enable corosync

2、节点间验证

各个节点之间进行验证

pcs cluster auth node1 node2  。。。

账号hacluster

密码 123456

(pcs cluster auth node103 node102 node101 -u hacluster -p 123456)

3、创建并启动集群(单节点做)

pcs cluster setup --start --name xiang node1 node2    --force

设置集群开机启动

pcs cluster enable --name xiang

pcs cluster enable --all

查看状态

pcs status

pcs cluster status

pcs property set stonith-enabled=falsefence暂不用

三:服务配置

pcs resource list | grep 查服务

1、配置存储

查看iscsi的配置文档

mkfs.xfs /dev/sdb1 -f

重启另外一个节点使生效

pcs resource create  FS ocf:heartbeat:Filesystem device="/dev/sdb1"  directory="/mnt"  fstype="xfs"

2、配置浮点IP

pcs resource create VIP ocf:heartbeat:IPaddr2 ip=172.25.254.170 cidr_netmask=24

pcs resource  update VIP op  monitor interval=15s

pcs resource show VIP

Resource: VIP (class=ocf provider=heartbeat type=IPaddr2)

Attributes: ip=172.25.254.170 cidr_netmask=24

Operations: start interval=0s timeout=20s (VIP-start-timeout-20s)

stop interval=0s timeout=20s (VIP-stop-timeout-20s)

monitor interval=15s (VIP-monitor-interval-15s)

pcs status

ping    172.25.254.170

3、配置服务apache

所有节点yum -y install httpd

确定开机为禁用状态

pcs resource create WEB ocf:heartbeat:apache

pcs resource show WEB

4、创建group,将必要的服务绑定

将IP和WEB resource捆绑到这个group中,使之作为一个整体在集群中切换

pcs resource show

VIP(ocf::heartbeat:IPaddr2):Started

WEB(ocf::heartbeat:apache):Stopped

pcs resource group add MyGroup VIP

pcs resource group add MyGroup WEB

pcs resource update WEB statusurl="http://172.25.254.170"

pcs resource disable WEB加组

pcs resource disable VIP

pcs resource group remove MyGroup WEB

pcs resource group remove MyGroup VIP

pcs resource group add MyGroup FS VIP WEB

pcs resource enable FS

pcs resource enable VIP

pcs resource enable WEB

pcs status

5、启动顺序

配置服务启动顺序,以避免出现资源冲突,语法:(pcs resource group add的时 候也可以根据加的顺序依次启动,此配置为可选)

pcs constraint order [action] then [action]

pcs constraint order start VIP then start WEB

pcs constraint show --full

在所有节点上安装数据库

yum -y install mariadb  mariadb-*

systemctl disable mariadb

systemctl status mariadb     保持关闭

单个节点

pcs resource create mariadb ocf:heartbeat:mysql

pcs status

配置一个互为备份的双机环境,一个节点作为web,一个节点作为db,各自有自己的浮动IP,出现故障的时候互相切换

# pcs resource create VIP1 ocf:heartbeat:IPaddr2 ip=192.168.122.171 cidr_netmask=24 nic=eth0
# pcs resource group add MyGroup1 VIP1 DB(因为前面已经把DB添加到MyGroup组,所以需要先用pcs resource disable WEB; pcs resource diable DB;pcs resource group remove MyGroup DB; pcs resource enable WEB;才可以添加DB到MyGroup1 )
# pcs constraint location add server1 DB node1 1
# pcs constraint location add server1 VIP1 node1 1
# pcs constraint location add server2 FS node2 1
# pcs constraint location add server2 VIP node2 1
# pcs constraint location add server2 WEB node2 1
执行上述命令后,DB和VIP1将启动在node1上而剩下的FS VIP WEB将启动在node2上

timedatectl status

6、查看集群状态

corosync-cfgtool -s

Printing ring status.

Local node ID 1

RING ID 0

id    = 192.168.17.132

status    = ring 0 active with no faults

corosync-cmapctl | grep members

runtime.totem.pg.mrp.srp.members.1.ip (str) = r(0) ip(192.168.17.132)

runtime.totem.pg.mrp.srp.members.1.join_count (u32) = 1

runtime.totem.pg.mrp.srp.members.1.status (str) = joined

runtime.totem.pg.mrp.srp.members.2.config_version (u64) = 0

pcs status corosync

Membership information

----------------------

Nodeid      Votes Name

1          1 controller1 (local)

3          1 controller3

2          1 controller2

时间: 2024-12-29 07:56:20

高可用pcs的相关文章

corosync+pacemaker使用pcs构建高可用集群

一.corosync+pacemaker集群前提准备 集群前提准备 --> HA-web 承接上文 --> corosync+pacemaker使用crmsh构建高可用集群 二.准备pcs [[email protected] ~]# yum install pcs 禁用stonith设备 [[email protected] ~]# pcs property set stonith-enable=false [[email protected] ~]# pcs property set no

高可用集群技术之corosync案例应用及pcs使用详解(二)

案例概述: 案例(一):使用ansible全自动化配置corosync集群环境 在生产环境中,经常遇到需要配置集群环境或相同配置的服务器,如果手工一台一台的去调试,这样会增加我们再运维过程中的工作量及错误的发生,我们应怎样去优化及减少错误的发生?下面我们通过一个案例实现自动化部署corosync环境: 准备工作: (1)将已经配置好的corosync配置文件做好模板存放 # mkdir -pv ansible/corosync/{conf,packages} # cp -p /etc/coros

[ 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

CentOS 7 corosync高可用集群的实现

CentOS 7 corosync高可用集群的实现 =============================================================================== 概述: =============================================================================== 在CentOS 7上实现高可用集群案例  1.corosync安装配置 ★CentOS 7: corosync v2 (

存储系统高可用架构

1 存储系统高可用架构 1.1 系统整体架构 2 主要部件相关机制 2.1 pacemaker + cman + corosync 这部分主要工作有以下方面:(1)关于高可用架构的选型 2.1.1 IBA网络 IBA虚拟化 2.1.2 Lustre文件系统 双控盘阵支撑 盘整MMP参数调整 lustre服务脚本改造 Lustre resource脚本 2.1.3 虚拟机及内lwfsd管理 Lwfsd resource脚本 虚拟机服务加入到pacemaker 2.1.4 高可用图形界面展示 2.2

基于corosync+pacmaker实现高可用集群

目前,corosync功能和特性已经非常完善了,所以pacmaker独立出来之后通常都将pacmaker和corosync结合来使用,corosync并没有通用的资源管理器,因此要借助pacmaker来实现 常用的资源管理器: ·cman:rgmanager ·crm: crm的资源约束有: ·location :资源对节点的偏好 ·colocation:排序约束:资源运行在同一节点上的可能性,需要一定评估的 ·order: 资源采取动作的次序 资源有很多属性,以下为最常见的几类 ·集群属性 ·

kubernetes部署之master高可用(3)

部署的Master节点集群由k8s-master01, k8s-master02, k8s-master03三个节点组成,每个节点上部署kube-apiserver,kube-controller-manager,kube-scheduler三个核心组件. kube-apiserver的3个实例同时提供服务,在其前端部署一个高可用的负载均衡器作为kube-apiserver的地址. kube-controller-manager和kube-scheduler也是各自3个实例,在同一时刻只能有1个

drbd+corosync实现高可用mysql

前提: 本配置共有两个测试节点,分别node1和node2,相的IP地址分别为202.207.178.6和202.207.178.7,管理节点202.207.178.8,对node1和node2进行配置.此时已经配置好drbd,并且可以正常工作了! (为避免影响,先关闭防火墙和SElinux,DRBD相关配置详见http://10927734.blog.51cto.com/10917734/1867283) 一.安装corosync 1.先停止drbd服务,并禁止其开机自动启动 主节点: [[e

corosync+pacemaker+crm实现drbd高可用

系统:Centos 7.2 内核3.10.0-327.el7.x86_64      # 内核需要高于2.6.32 Drbd : 192.168.8.111:node1/dev/drdb0 /mydeta 192.168.8.112 : node2 Mysql_vip: 192.168.8.200     #下章实现 # 需要的软件包: mariadb-5.5.53-linux-i686.tar.gz drbd84-utils-8.9.1-1.el7.elrepo.x86_64.rpm kmod