pacemaker+corosync实现zabbix高可用集群-创新互联

  • 一、pacemaker 是什么

    创新互联专业为企业提供遂溪网站建设、遂溪做网站、遂溪网站设计、遂溪网站制作等企业网站建设、网页设计与制作、遂溪企业网站模板建站服务,十载遂溪做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
    • 1.pacemaker 简单说明

    • 2.pacemaker 由来

  • 二、pacemaker 特点

  • 三、pacemaker 内部结构

    • 1.群集组件说明:

    • 2.功能概述

  • 四、centos6.x+pacemaker+corosync实现zabbix高可用

    • 1、环境说明

  • 五、安装pacemaker和corosync(各个节点均要运行)

    • 1、前提条件各个节点完成主机解析工作。

    • 2、各个节点的时间同步

    • 3、各个节点完成互信工作

    • 4、关闭防火墙与SELinux

    • 5、安装pacemaker+corosync+pcs

  • 六、配置corosync

    • 1、设置变量

    • 2、更改corosync配置文件

    • 3.生成密钥文件

  • 七、安装和配置cman

  • 八、编辑cluster.conf

  • 九、检查配置文件并开机自启

  • 十、资源配置

  • 十一、验证

  • 十二、常用命令

  • 十三、zabbix启动脚本

一、pacemaker 是什么

1.pacemaker 简单说明

  pacemaker(直译:心脏起搏器),是一个群集资源管理器。它实现大可用性群集服务(亦称资源管理)的节点和资源级故障检测和恢复使用您的选集群基础设施(OpenAIS的或Heaerbeat)提供的消息和成员能力。

  它可以做乎任何规模的集群,并配备了一个强大的依赖模型,使管理员能够准确地表达群集资源之间的关系(包括顺序和位置)。几乎任何可以编写脚本,可以管理作为心脏起搏器集群的一部分。

  我再次说明一下,pacemaker是个资源管理器,不是提供心跳信息的,因为它似乎是一个普遍的误解,也是值得的。pacemaker是一个延续的CRM(亦称Heartbeat V2资源管理器),最初是为心跳,但已经成为独立的项目。

2.pacemaker 由来

大家都知道,Heartbeat 到了V3版本后,拆分为多个项目,其中pacemaker就是拆分出来的资源管理器。

  • Heartbeat 3.0拆分之后的组成部分:

  • Heartbeat:将原来的消息通信层独立为heartbeat项目,新的heartbeat只负责维护集群各节点的信息以及它们之前通信;

  • Cluster Glue:相当于一个中间层,它用来将heartbeat和pacemaker关联起来,主要包含2个部分,即为LRM和STONITH。

  • Resource Agent:用来控制服务启停,监控服务状态的脚本集合,这些脚本将被LRM调用从而实现各种资源启动、停止、监控等等。

  • Pacemaker : 也就是Cluster Resource Manager (简称CRM),用来管理整个HA的控制中心,客户端通过pacemaker来配置管理监控整个集群。

二、pacemaker 特点

  • 主机和应用程序级别的故障检测和恢复

  • 几乎支持任何冗余配置

  • 同时支持多种集群配置模式

  • 配置策略处理法定人数损失(多台机器失败时)

  • 支持应用启动/关机顺序

  • 支持,必须/必须在同一台机器上运行的应用程序

  • 支持多种模式的应用程序(如主/从)

  • 可以测试任何故障或群集的群集状态

三、pacemaker 内部结构

pacemaker+corosync实现zabbix高可用集群

1.群集组件说明:
  • stonithd:心跳系统。

  • lrmd:本地资源管理守护进程。它提供了一个通用的接口支持的资源类型。直接调用资源代理(脚本)。

  • pengine:政策引擎。根据当前状态和配置集群计算的下一个状态。产生一个过渡图,包含行动和依赖关系的列表。

  • CIB:群集信息库。包含所有群集选项,节点,资源,他们彼此之间的关系和现状的定义。同步更新到所有群集节点。

  • CRMD:集群资源管理守护进程。主要是消息代理的PEngine和LRM,还选举一个领导者(DC)统筹活动(包括启动/停止资源)的集群。

  • OpenAIS:OpenAIS的消息和成员层。

  • Heartbeat:心跳消息层,OpenAIS的一种替代。

  • CCM:共识群集成员,心跳成员层。

  • CMAN是红帽RHCS套件的核心部分,CCS是CMAN集群配置系统,配置cluster.conf,而cluster.conf其实就是openais的配置文件,通过CCS映射到openais。

2.功能概述

CIB使用XML表示集群的集群中的所有资源的配置和当前状态。CIB的内容会被自动在整个集群中同步,使用PEngine计算集群的理想状态,生成指令列表,然后输送到DC(指定协调员)。Pacemaker 集群中所有节点选举的DC节点作为主决策节点。如果当选DC节点宕机,它会在所有的节点上, 迅速建立一个新的DC。DC将PEngine生成的策略,传递给其他节点上的LRMd(本地资源管理守护程序)或CRMD通过集群消息传递基础结构。当集群中有节点宕机,PEngine重新计算的理想策略。在某些情况下,可能有必要关闭节点,以保护共享数据或完整的资源回收。为此,Pacemaker配备了stonithd设备。STONITH可以将其它节点“爆头”,通常是实现与远程电源开关。Pacemaker会将STONITH设备,配置为资源保存在CIB中,使他们可以更容易地监测资源失败或宕机。

四、centos6.x+pacemaker+corosync实现zabbix高可用

1、环境说明

OS:Centos 6.7 x86_64 mini

APP: Pacemaker 1.1.15

     LNMP+Zabbix 3.4.1

     corosync+pcs+cman

IP ADDR:vip-192.168.8.47/20

        zabbix01-192.168.8.61/20

        zabbix02-192.168.8.63/20

        zabbixdb-192.168.8.120/20

PS:IP地址需要根据个人具体环境配置,VIP和zabbix要在同一网段。

拓扑结构

pacemaker+corosync实现zabbix高可用集群

PS:接下来会直接介绍pacemaker和corosync的安装和配置,关于zabbix+LNMP环境的部分请参考之前发表的“zabbix3.2编译安装”或“zabbix高可用”两篇文章。

五、安装pacemaker和corosync(各个节点均要运行)

1、前提条件各个节点完成主机解析工作。

vim /etc/hosts

# cat /etc/hosts

127.0.0.1  localhost localhost.localdomain localhost4 localhost4.localdomain4

::1     localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.8.61 zabbix01.okooo.cn zabbix01

192.168.8.63 zabbix02.okooo.cn zabbix02

192.168.8.120 zbxdb.okooo.cn zbxdb

2、各个节点的时间同步

ntpdate 210.72.145.44

3、各个节点完成互信工作

ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ''

ssh-copy-id -i .ssh/id_rsa.pub root@zabbix01/02/db.okooo.cn

4、关闭防火墙与SELinux

# cat /etc/selinux/config

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#    enforcing - SELinux security policy is enforced.

#    permissive - SELinux prints warnings instead of enforcing.

#    disabled - SELinux is fully disabled.

SELINUX=disabled

# SELINUXTYPE= type of policy in use. Possible values are:

#    targeted - Only targeted network daemons are protected.

#    strict - Full SELinux protection.

SELINUXTYPE=targeted

# /etc/init.d/iptables status

iptables: Firewall is not running.

5、安装pacemaker+corosync+pcs

yum install -y pacemaker corosync pcs

六、配置corosync

1、设置变量

export ais_port=4000

export ais_mcast=226.94.1.1

export ais_addr=192.168.15.0

env|grep ais

2、更改corosync配置文件

cp /etc/corosync/corosync.conf.example /etc/corosync/corosync.conf

sed -i.bak“s /.* mcastaddr:。* / mcastaddr:\ $ ais_mcast / g”/etc/corosync/corosync.conf
sed -i.bak“s /.* mcastport:。* / mcastport:\ $ ais_port / g”/etc/corosync/corosync.conf
sed -i.bak“s /.* bindnetaddr:。* / bindnetaddr:\ $ ais_addr / g”/etc/corosync/corosync.confcat /etc/corosync/corosync.conf

# Please read the corosync.conf.5 manual page

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


新闻名称:pacemaker+corosync实现zabbix高可用集群-创新互联
本文路径:http://pwwzsj.com/article/dshgis.html