一、资料链接
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 #监控