码迷,mamicode.com
首页 > 其他好文 > 详细

企业 - pacemaker

时间:2018-03-07 16:21:30      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:pacemaker

                                   pacemaker

Pacemaker是一个集群资源管理器。它利用集群基础构件(OpenAIS 、heartbeat或corosync)提供的消息和成员管理能力来探测并从节点或资源级别的故障中恢复,以实现群集服务(亦称资源)的最大可用性。俗称,心脏起搏器

技术分享图片


说到高可用,我们可能会用heartbeat和keepalived,也可能会用corosync+pacemaker,但他们之间有什么区别呢?我们在此主要谈下heartbeat和corosync+pacemaker之间的渊源。
??Heartbeat到了v3版本后,拆分为多个子项目,其中pacemaker就是拆分出来的资源管理器。Heartbeat 3.0拆分之后的组成部分:为:
1.Heartbeat:将原来的消息通信层独立为heartbeat项目,新的heartbeat只负责维护集群各节点的信息以及它们之前通信,被称为基础组件;(注意与corosync区别)
2.cluster-glue相当于一个中间层,可以将heartbeat和crm(pacemaker)联系起来,主要包含2个部分,LRM和STONITH;
3.Resource Agent:用来控制服务启停,监控服务状态的脚本集合,这些脚本将被LRM调用从而实现各种资源启动、停止、监控等等。
4.Pacemaker也就是Cluster Resource Manager (简称CRM),用来管理整个HA的控制中心,客户端通过pacemaker来配置管理监控整个集群。它不能提供底层心跳信息传递的功能,它要想与对方节 点通信需要借助底层(新拆分的heartbeat或corosync)的心跳传递服务,将信息通告给对方。
另,pacemaker管理资源的工具由命令行界面的crmsh、pcs和图形化界面pygui、hawk等进行管理,我们使用pcs链进行资源管理。
??通过以上,我们了解了pacemaker的由来,下面我们再来看下集群底层新拆分的heartbeat和corosync之间的区别:
1.配置文件的版本管理:Heartbeat只能为所有的资源配置一个主服务,而corosync则允许为不同的资源组配置不同的主服务
2.管理资源的灵活性:在corosync中,其会自行处理配置文件的同步问题,heartbeat则无此功能
3.分组管理:Heartbeat只支持2个节点,而corosync则支持多个节点的集群,支持把资源进行分组,按照组进行资源的管理,设置主服务,自行进行启停
4.配置复杂度:Heartbeat非常容易进行配置,第一次配置可能只需要几分钟,而Corosync由于有一定的复杂度则需要一点耐心
??因此,一般来说都是选择corosync来进行心跳的检测,搭配pacemaker的资源管理系统来构建高可用的系统,下面我们就来介绍下corosync+pacemaker构建高可用系统。



实验

这次实验是基于上次的haproxy实验所做的

实验环境

server1       haproxy主机

server2       http主机

server3       http主机

server4       haproxy主机

在之前的实验中,server1主机已经配置完成,保持server4与server1配置一致


从server1将安装包和配置文件发送到server4上

[root@server1 x86_64]# scp haproxy-1.6.11-1.x86_64.rpm root@192.168.122.14

[root@server1 haproxy]# scp haproxy.cfg root@192.168.122.14:/etc/haproxy/
[root@server1 security]# pwd
/etc/security
[root@server1 security]# scp limits.conf root@192.168.122.14:/etc/security/

[root@server4 ~]# rpm -ivh haproxy-1.6.11-1.x86_64.rpm  安装



创建用户,修改文件,开启服务


技术分享图片

技术分享图片

server1和server4均改


技术分享图片


[root@server1 ~]# yum install pacemaker corosync -y     安装服务

[root@server4 ~]#  yum install pacemaker corosync -y    安装服务


技术分享图片

修改配置文件(网段)


技术分享图片


技术分享图片


[root@server1 corosync]# scp corosync.conf root@192.168.122.14:/etc/corosync/   发给server4

技术分享图片


开启server1,4的服务

技术分享图片


技术分享图片


[root@server1 ~]# yum install -y crmsh-1.2.6-0.rc2.2.1.x86_64.rpm pssh-2.3.1-2.1.x86_64.rpm   安装

[root@server4 ~]# yum install -y crmsh-1.2.6-0.rc2.2.1.x86_64.rpm pssh-2.3.1-2.1.x86_64.rpm   安装


[root@server1 ~]# crm 进入查看

技术分享图片


检查配置文件是否正确

[root@server4 ~]# crm_verify -LV

技术分享图片

保证数据安全性,pacemaker默认启动stonith,但是我们没有配置stonith,因此报错


在物理机打开服务

技术分享图片

[root@server1 ~]# crm

技术分享图片

再次运行,不会报错

技术分享图片


在server1端,加入VIP

技术分享图片


[root@server4 ~]# crm_mon (监控)

技术分享图片


物理机



当关掉server1端的服务时

[root@server1 ~]# /etc/init.d/corosync stop

server4端如下显示

技术分享图片

打开server1端服务

技术分享图片

监控端

技术分享图片

添加策略使高可用

crm(live)configure# property no-quorum-policy=ignore (实现高可用)

技术分享图片

技术分享图片

监控端

技术分享图片

加入组

技术分享图片

技术分享图片

修改配置文件

[root@server1 haproxy]# vim haproxy.cfg
      bind             192.168.122.100:80 name clear
[root@server4 haproxy]# vim haproxy.cfg
      bind             192.168.122.100:80 name clear


server1端执行

[root@server1 ~]# crm node standby

技术分享图片


[root@server1 ~]# crm node online

技术分享图片


技术分享图片





企业 - pacemaker

标签:pacemaker

原文地址:http://blog.51cto.com/13362895/2083813

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!