申明:
centos7的pacemaker与6使用的方法不一致,即使用centos6.x的方法在centos7.x上面配置pacemaker不能成功。
因此openstack 上面的centos7.1如果使用官方文档直接配置高可用HA也是无法成功的。(吐槽:openstack的liberty出的HA方案官方文档不适用于centos7.x)
关于openstack liberty版本的高可用HA方案请参考下述实验!!!
PS:与pacemaker高可用方案相对应的keepalived原理(主从配置+haproxy)及配置文件详解请参考博文:http://blog.csdn.net/tantexian/article/details/50056229
 
centos7配置pacemaker官方文档地址:
 
 
 
 
Pacemaker’s key features include:
监测并恢复节点和服务级别的故障
存储无关,并不需要共享存储
资源无关,任何能用脚本控制的资源都可以作为服务
Supports fencing (also referred to as the STONITH acronym, deciphered later on) for ensuring data integrity
支持大型或者小型的集群
Supports both quorate and resource-driven clusters
Supports practically any redundancy configuration
自动同步各个节点的配置文件
可以设定集群范围内的ordering, colocation and anti-colocation
Support for advanced service types
Clones:为那些要在多个节点运行的服务所准备的
Multi-state: for services with multiple modes (e.g. master/slave, primary/secondary)
Unified, scriptable cluster management tools
 
 
本次实验环境:
centos7.1 
 
node31:172.31.2.31
node32 :  172.31.2.32
 
node31、node32两台机器上面都安装pacemaker,因此下述操作都需要在两天机器上面执行。
 
1、配置防火墙端口及关闭selinux
systemctl disable firewalld
systemctl stop firewalld
iptables -F
 
2、配置hostname:
 hostnamectl --static --transient  set-hostname node31
 hostnamectl --static --transient  set-hostname node32
 
vim /etc/hosts
 
3、时间同步:
yum install ntp -y
ntpdate cn.pool.ntp.org
 
4、双机互信(本次实验发现,不配置双机互信似乎也不会出现问题):
ssh-keygen -t rsa
 
复制id_rsa.pub文件:
scp /root/.ssh/id_rsa.pub root@172.31.2.32:/root/.ssh/authorized_keys
 
 
注:在node32执行同样的互信操作。
5、安装pacemaker集群相关组件:
yum install pcs pacemaker corosync fence-agents-all -y  
 
6、启动pcsd服务(开机自启动)
systemctl start pcsd.service
systemctl enable pcsd.service
 
7、创建集群用户:
passwd hacluster(此用户在安装pcs时候会自动创建)
 
上述所有操作都需要在两个节点上面执行。
 
8、集群各节点之间进行认证:
pcs cluster auth node31 node32(此处需要输入的用户名必须为pcs自动创建的hacluster,其他用户不能添加成功)
 
9,创建并启动名为my_cluster的集群,其中node31 node32为集群成员:
pcs cluster setup --start --name my_cluster node31 node32
 
 
10、设置集群自启动:
pcs cluster enable --all
 
 
11、查看并设置集群属性:
 
查看当前集群状态:
pcs cluster status
 
 
检查pacemaker服务:
ps aux | grep pacemaker
 
 
检验Corosync的安装及当前corosync状态:
corosync-cfgtool -s
corosync-cmapctl | grep members
pcs status corosync
 
检查配置是否正确(假若没有输出任何则配置正确):
crm_verify -L -V
 
禁用STONITH:
pcs property set stonith-enabled=false
 
无法仲裁时候,选择忽略:
pcs property set no-quorum-policy=ignore
 
 
12、pcs resource资源属性配置:
 
Pacemaker / Corosync 是 Linux 下一组常用的高可用集群系统。Pacemaker 本身已经自带了很多常用应用的管理功能。但是如果要使用 Pacemaker 来管理自己实现的服务或是一些别的没现成的东西可用的服务时,就需要自己实现一个资源了。
其中Pacemaker 自带的资源管理程序都在 /usr/lib/ocf/resource.d 下。其中的 heartbeat 目录中就包含了那些自带的常用服务。那些服务的脚本可以作为我们自己实现时候的参考。
更多关于自定义资源请参考博文:http://blog.csdn.net/tantexian/article/details/50160159
 
接下来针对一些常用的pcs命令进行简要讲解。
 
查看pcs resource针对资源操作用法:
pcs resource help
 
查看pcs支持的资源代理标准:
pcs resource providers
注:Pacemaker 的资源主要有ocf、lsb、service、systemd、stonith几大类。LSB是为了促进 Linux 不同发行版间的兼容性,LSB(Linux Standards Base)开发了一系列标准,使各种软件可以很好地在兼容 LSB 标准的系统上运行, LSB 即 Linux 标准服务,通常就是 /etc/init.d 目录下那些脚本。Pacemaker 可以用这些脚本来启停服务,可以通过pcs resource list lsb查看。另一类 OCF 实际上是对 LSB 服务的扩展,增加了一些高可用集群管理的功能如故障监控等和更多的元信息。可以通过 pcs resource list ocf 看到当前支持的资源。要让 pacemaker 可以很好的对服务进行高可用保障就得实现一个 OCF 资源。CentOS7 使用systemd替换了SysV。Systemd目的是要取代Unix时代以来一直在使用的init系统,兼容SysV和LSB的启动脚本,而且够在进程启动过程中更有效地引导加载服务。
 
查看pacemaker支持资源高可用的列表:
pcs resource list
 
假若想查看httpd(apache)可使用:pcs resource list | grep apache
 
具体apache用法:
pcs resource describe ocf:heartbeat:apache

Centos7之pacemaker高可用安装配置详解的更多相关文章

  1. Centos7 pcs pacemaker高可用安装配置详解

  2. lvs keepalived 安装配置详解【转】

    lvs keepalived 安装配置详解 张映 发表于 2012-06-20 分类目录: 服务器相关 前段时间看了一篇文章,lvs做负载均衡根F5差不多,说实话不怎么相信,因为F5没玩过,也无法比较 ...

  3. (转)python中调用R语言通过rpy2 进行交互安装配置详解

    python中调用R语言通过rpy2 进行交互安装配置详解(R_USER.R_HOME配置) 2018年11月08日 10:00:11 luqin_ 阅读数:753   python中调用R语言通过r ...

  4. redis cluster 集群 安装 配置 详解

    redis cluster 集群 安装 配置 详解 张映 发表于 2015-05-01 分类目录: nosql 标签:cluster, redis, 安装, 配置, 集群 Redis 集群是一个提供在 ...

  5. Eclipse IDE for C/C++ Developers安装配置详解

    Eclipse IDE for C/C++ Developers安装配置详解(转) 转自:http://hi.baidu.com/ltb6w/item/986532efd712460f570f1ddc ...

  6. Cloudera CDH 、Impala本地通过Parcel安装配置详解及什么是Parcel

    本文引用自:Cloudera CDH .Impala本地通过Parcel安装配置详解及什么是Parcelhttp://www.aboutyun.com/forum.php?mod=viewthread ...

  7. ubuntu14.04 server ftp 服务安装配置详解

    ubuntu14.04 server ftp 服务安装配置详解 cheungmine 2016-01-27 http://wiki.ubuntu.com.cn/Vsftpd 0 安装好vsftpd服务 ...

  8. JDK10安装配置详解

    JDK10安装配置详解 1. 下载jdk10 1.1 官网下载jdk7的软件包:        地址:http://www.oracle.com/technetwork/java/javase/dow ...

  9. (转)使用LVS实现负载均衡原理及安装配置详解

    使用LVS实现负载均衡原理及安装配置详解 原文:https://www.cnblogs.com/liwei0526vip/p/6370103.html

随机推荐

  1. jquery显示隐藏密码跟显示密码

    今天讲述的是html5中input的password密码的加密与显示 都知道input标签加上password输入密码显示的都是原点.......怎么点一个按钮让他显示回来明文数字1234567 上代 ...

  2. TDOA 基础之 双曲线

    TDOA 的算法基础就是时间差,根据时间差换算出距离差,后面的数学理论知识就是双曲线交点问题. 双曲线方程是2次方程,解算曲线交点也就是两个2次方程求解. 首先看双曲线定义(百度百科): 双曲线(Hy ...

  3. VsCode安装Go的相关插件

    今天在学习Go的时候,安装Go的相关插件,显示安装不上,但是右下角也一直会提示让你安装,当然你可以设置成忽略,为了开发效率,我选择了安装.然后出现了问题,一直Failed.在网上看到了很多的文章,不是 ...

  4. scrapy 分布式爬虫- RedisSpider

    爬去当当书籍信息 多台机器同时爬取,共用一个redis记录 scrapy_redis 带爬取的request对象储存在redis中,每台机器读取request对象并删除记录,经行爬取.实现分布式爬虫 ...

  5. Comet OJ - Contest #7

    传送门 \(A\) 咕咕咕 int main(){ for(scanf("%d",&T);T;--T){ scanf("%d%d",&l,&am ...

  6. 【原创】go语言学习(二十二)网络编程

    目录 TCP/IP协议介绍 GO快速实现TCP服务端 GO快速实现TCP客户端 UDP协议介绍 UDP编程实例 TCP/IP协议介绍 1.互联网起源 A. 起源于美国五角大楼,它的前身是美国国防部高级 ...

  7. spark2.1.0的源码编译

    本文介绍spark2.1.0的源码编译 1.编译环境: Jdk1.8或以上 Hadoop2.7.3 Scala2.10.4 必要条件: Maven 3.3.9或以上(重要) 点这里下载 http:// ...

  8. 第二次作业社团UML图

    第二次作业 UML图 用例图: 时序图: 申请加入社团 学生可以在页面投递社团加入申请,送交给社团管理员审批 社团活动审批 团委通过社团提交胡活动进行审批 评价活动 社团活动举行完,会有相应的团委和学 ...

  9. python3 系统监控脚本(2) (监控CPU,内存等信息)

    #!/usr/bin/env python3 #create at 2018-12-04 'this is a system monitor scripts' __author__="yjt ...

  10. 数据结构——KMP算法

    算法介绍 KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法).KMP算法的核心是利用 ...