Corosync:它属于OpenAIS(开放式应用接口规范)中的一个项目corosync一版本中本身不具备投票功能,到了corosync 2.0之后引入了votequorum子系统也具备了投票功能了,如果我们用的是1版本的,又需要用到票数做决策时那该如何是好呢;当然,在红帽上把cman + corosync结合起来用,但是早期cman跟pacemaker没法结合起来,如果想用pacemaker又想用投票功能的话,那就把cman当成corosync的插件来用,把cman当成corodync的投票功能,当然,这里结合了两个了Messaging Lader;Corosync目前有两个主流的版本:一个是2系列的,另一个是1系列的稳定版;2版本和1版本差别很大,1版本不具有投票功能,2版本之后引入了votequorum后支持投票功能了;
OpenAIS自从诞生之后,红帽就基于这个规范研发了一个高可用集群的解决方案叫cman,并为cman提供了rgmanager作为资源管理器,并且容合conga全生命周期的管理接口形成了RHCS;
Conrosync是从OpenAIS这个大项目中分支出来的一个项目,而Pacemaker是heartbeat v3版本中分裂出来专门用于提供高可用集群CRM的组件,功能十分强大, Coreosync在传递信息的时候可以通过一个简单的配置文件来定义信息传递的方式和协议等,Corosync可以提供一个完整的HA功能,Corosync是未来的发展方向,在以后的新项目里,一般采用Corosync,而heartbeat_gui可以提供很好的HA管理功能,可以实现图形化的管理。
Pacemaker是一个集群管理器。它利用首选集群基础设施(OpenAIS 或heartbeat)提供的消息和成员能力,由辅助节点和系统进行故障检测和回收,实现性群集服务(亦称资源)的高可用性。
corosync+pacemaker:在配置corosync时最好具有三个以上的节点,并且节点个数为奇数个,如果使用偶数个节点的话也没关系,只是要关闭不具有法定票数的决策策略功能;
拓扑
实现过程:
1、双机互信需要设置好,hosts文件需要解析好,时间要同步
8.39、8.42、8.40
#vim /etc/hosts
# hostname node2.chinasoft.com
vim /etc/hosts
192.168.8.39 node2.chinasoft.com node2
192.168.8.42 node2.chinasoft.com node4
在ansible服务器8.40上配置ssh免密码访问node2和node4
# ssh-keygen -t rsa -P ''
# ssh-copy-id -i .ssh/id_rsa.pub root@node2.chinasoft.com
# ssh-copy-id -i .ssh/id_rsa.pub root@node4.chinasoft.com
测试是否成功
# ssh node2.chinasoft.com 'date';date
# ssh node4.chinasoft.com 'date';date
2、安装时间服务器客户端(时间服务器192.168.8.102)
# yum install -y ntp
# vim /etc/ntp.conf
加入
server 192.168.8.102
启动ntp客户端并手动同步一次时间,后续自动平滑同步
# service ntpd start
# ntpdate -u 192.168.102
3、安装corosync,这里我们用ansible来安装,要使用ansible在一台主机上操作多台主机得需要事先安装ansible,那这里我们就先说说安装和配置使用ansible,安装ansible也可以用yum来安装:
# yum install -y epel-relase
# yum install -y ansible1.9
# vim /etc/ansible/hosts 把里面的内容全都注释掉,加下面你的节点hostname
[corosync]
node2.chinasoft.com
node4.chinasoft.com
我们这里使用192.168.8.40这台主机安装ansible,操作192.168.8.39和192.168.8.42这两台主机,测试一下:
# ansible corosync -m shell -a 'date'
node2.chinasoft.com | success | rc=0 >>
Tue Apr 19 20:48:07 CST 2016
node1.chinasoft.com | success | rc=0 >>
Tue Apr 19 20:48:07 CST 2016 --测试成功,成功时显示的颜色为绿色
4、安装corosync
好,准备工作做好了之后就可以安装corosync了,使用ansible查看两个节点是否已经安