一、pacemaker 概述
pacemaker是一个开源的高可用资源管理器(CRM),位于HA集群架构中资源管理、资
源代理(RA)这个层次,它不能提供底层心跳信息传递的功能,要想与对方节点通信
需要借助底层的心跳传递服务,将信息通告给对方。(作为通信层和提供关系管理>服务,心跳引擎,检测心跳信息)
Pacemaker特点
二、Corosync概述
Corosync是集群管理套件的一部分,它在传递信息的时候可以通过一个简单的配置
文件来定义信息传递的方式和协议等
三、服务配置
1.打开两台虚拟机,yum源相同且完整(server1,server4)
yum install pacemaker corosync -y
yum install crmsh-1.2.6-0.rc2.2.1.x86_64.rpm pssh-2.3.1-2.1.x86_64.rpm -y
打开服务 /etc/init.d/corosync start
2.在server1中
[root@server1 ~]# cd /etc/corosync/
[root@server1 corosync]# cp corosync.conf.example corosync.conf
编辑corosync的配置文件
[root@server1 corosync]# vim corosync.conf
如果想让pacemaker在corosync中以插件方式启动,需要 在corosync.conf文件中加上如下内容
两台服务配置保持一致
[root@server1 corosync]# scp corosync.conf server4:/etc/corosync/
[root@server1 corosync]# /etc/init.d/corosync restart
重启服务后查看日志,确定服务配置没有错误
[root@server1 corosync]# tail -f /var/log/cluster/corosync.log
关于crm shell的使用
---crm可以显示并修改配置文件
---直接执行crm命令进行交互式修改配置文件,交互式输入的内容被记 录在配
置文件中
---show 显示配置文件
---commit提交
---如果添加资源时出错,首先进入resource,将添加的资源stop,然后进 入cofigure,delete添加错误的资源
[root@server1 corosync]# crm 进入交互式shell
crm(live)# configure 进入configure
crm(live)configure# show 执行show我们就可以看到配置文件的内容
因为还没有对fence进行配置,先将stonith-enabled 设置为 false,表示资源不会迁移
#添加vip资源,params 指定参数 op monitor 监控配置,interval指定执行操作的频率,单位:秒
监控节点状态的变化
[root@server4 ~]# crm_mon
[root@server1 corosync]# crm node standby
将所有资源从节点上移走,执行此命令后会看到,server4接替了server1的工作
[root@server1 corosync]# crm node online
#在这里要注意,当另一个节点online后,节点间不会进行回切,这样避免了因资源
接管导致的资源丢失
如果是两个节点的集群,应该设置no-quorum-policy为ignore,如果一个节点down掉,另一个节点仍能正常运行
由于corosync默认是启用stonith功能的,但是没有stonith设备,如果直接去配置资源的话,由于没有stonith 功能,所以资源的切换并不会完成,所以要禁用stonith功能,现在的环境no-quorum-policy没有设置为ignore,在这种情况 下,如果一个节点down掉,这个集群就无法正常工作,因为默认对集群有健康检查,如果节点数小于2,便认为无法组成集群,该集群也就无法工作了。
[root@server1 corosync]# crm
crm(live)# configure
在这里重新设置为ignore做实验,这时即使一个节点挂掉了,另一个节点也会正常工作
crm(live)configure# property no-quorum-policy=ignore
crm(live)configure# commit
测试:
关掉任何一个节点,一切都不会受影响
添加fence_xvm
stonith_admin -I fence_xvm 查找可安装的fence
yum provides */fence_xvm 安装
stonith_admin -M -a fence_xvm 查看fence使用命令
进入crm将fence的配置添加
查看fence 状态