pacemaker+corosync实现高可用集群

一、资料链接

1.pacemaker
      pacemaker就是Heartbeat 到了V3版本后拆分出来的资源管理器(CRM),用来管理整个HA的控制中心,要想使用pacemaker配置的话需要安装一个pacemaker的接口,它的这个程序的接口叫crmshell,它在新版本的 pacemaker已经被独立出来了,不再是pacemaker的组成部分。
2.Corosync
         Corosync是OpenAIS发展到Wilson版本后衍生出来的开放性集群引擎工程,corosync最初只是用来演示OpenAIS集群框架接口规范的一个应用,可以说corosync是OpenAIS的一部分,但后面的发展明显超越了官方最初的设想,越来越多的厂商尝试使用corosync作为集群解决方案。如RedHat的RHCS集群套件就是基于corosync实现。 
corosync只提供了message layer,而没有直接提供CRM,一般使用Pacemaker进行资源管理。 

二、HA(高可用)的实现

1.pacemaker   corosync的安装

[root@server2 ~]#yum install -y pacemaker corosync 
[root@server2 ~]#ls
crmsh-1.2.6-0.rc2.2.1.x86_64.rpm  pssh-2.3.1-2.1.x86_64.rpm
[root@server2 ~]#yum install * -y
[root@server2 ~]# cd /etc/corosync/

2.配置

[root@server2 corosync]# ls
corosync.conf.example  corosync.conf.example.udpu  service.d  uidgid.d
[root@server2 corosync]# cp corosync.conf.example corosync.conf
[root@server2 corosync]# vim corosync.conf
.....
##totem定义集群内各节点间是如何通信的,totem本是一种协议,专用于corosync专用于各节点间的协议,协议是有版本的
totem {
##版本号
        version: 2
##安全认证on|off,使用corosync-keygen命令生成密钥
        secauth: on
##用于安全认证开启的线程,0为不基于线程模式工作
        threads: 0
##接口设置
        interface {
##环数量,如果一个主机有多块网卡,避免心跳信息回流
            ringnumber: 0
##多播监听的网络地址(本机网段为192.168.0.0/24)
            bindnetaddr: 192.168.0.0
##多播地址,可设置为239.255.x.x
            mcastaddr: 239.165.17.17
##多播地址监听的端口
            mcastport: 5405
##生存时间为1
            ttl: 1
                  }
      } 
##定义日志信息   
logging {  
##是否记录fileline     
        fileline: off
##是否将日志发往标准错误输出(屏幕)
        to_stderr: no
##是否记录在日志文件中
        to_logfile: yes
##日志文件目录
        logfile: /var/log/cluster/corosync.log 
##是否将日志发往系统日志 
        to_syslog: no  
##调试
        debug: off 
##是否打开时间戳
        timestamp: on
##是否包含AMF组件的日志信息
        logger_subsys {
                subsys: AMF
                debug: off
        }
}

amf {
    mode: disabled
}
service{    #设定pacemeker以插件的方式工作,corosync开启时,自动打开pacemaker
    ver:0
    name:pacemaker
}
....
[root@server2 corosync]# /etc/init.d/corosync start
Starting Corosync Cluster Engine (corosync):               [  OK  ]

3.同步server2和server3的配置

[root@server2 corosync]# scp corosync.conf [email protected]:/etc/corosync/
[email protected]'s password: 
corosync.conf                                   100%  479     0.5KB/s   00:00   
[root@server2 corosync]# crm status     #查看状态
Last updated: Sun Oct  1 10:07:11 2017
Last change: Sun Oct  1 10:03:28 2017 via crmd on server2
Stack: classic openais (with plugin)
Current DC: server2 - partition with quorum
Version: 1.1.10-14.el6-368c726
2 Nodes configured, 2 expected votes
0 Resources configured
Online: [ server2 server3 ]
[root@server2 corosync]# crm_mon    #监控

猜你喜欢

转载自blog.csdn.net/l675655077/article/details/81381579