Corosync/Openais Pacemaker 实现高可用集群
Corosync简介:
Coreosync在传递信息的时候可以通过一个简单的配置文件来定义信息传递的方式和协议等.它是一个新兴的软件,2008年推出,但其实它并不是一个真正意义上的新软件,在2002年的时候有一个项目Openais , 它过大,分裂为两个子项目,其中可以实现HA心跳信息传输的功能就是Corosync ,它的代码60%左右来源于Openais. Corosync可以提供一个完整的HA功能,但是要实现更多,更复杂的功能,那就需要使用Openais了.Corosync是未来的发展方向.在以后的新项目里,一般采用Corosync,而hb_gui可以提供很好的HA管理功能,可以实现图形化的管理.另外相关的图形化有RHCS的套件luci ricci.
|
通过本文您将了解到:
1.Corosync的安装,简单配置
2.通过pacemaker来管理高可用集群
3.Crm命令的使用
4.定义资源,资源组和资源策略
更多pacemaker的使用详情请访问:pacemaker官方网站http://www.clusterlabs.org/
本文采用rpm包来安装Corosync,openais和pacemaker,使用RPM包,需要注意的是之间的依赖关系:pacemaker依赖于heartbeat v3,我们需要还需要安装heartbeat v3.
我们配置两台虚拟机来模拟安装整个过程,通过corosync定义两个资源ipaddr和httpd来说明在crm命令行里如何定义资源.
node1.a.org 172.16.14.11
node2.a.org 172.16.14.12
Ipaddr: 172.16.14.10 # 提供web服务的虚拟IP
注意:
1.节点之间可以不需要使用SSH互相访问
2.主机名要和uname -n一致,并且使用FQDN格式的主机名
3.借助于/etc/hosts文件来保持节点之间的联系,而不要使用DNS服务
一.安装,配置corosync,pacemaker,并启动服务
(1) 给节点配置静态IP,编辑/etc/hosts 文件,以node1为例,以下配置在node2主机上也做相应的更改.
- Ifconfig eth0 172.16.14.11
-
- vim /etc/sysconfig/network-scripts/ifcfg-eth0
-
- DEVICE=eth0
-
- BOOTPROTO=statci
-
- ONBOOT=yes
-
- IPADDR=172.16.14.11
-
- NETMASK=255.255.0.0
-
- HWADDR=00:0c:29:1e:76:f5
-
- vim /etc/hosts
-
- 172.16.14.11 node1.a.org node1
-
- 172.16.14.12 node2.a.org node2
-
- vim /etc/sysconfig/network
-
- HOSTNAME=node1.a.rog
-
- 在shell命令行里执行hostname命令使主机名生效
-
- hostname node1.a.org
(2)SSH生成密钥,以实现各节点无密码SSH通讯
Node1上:
- ssh-key -t rsa
-
- ssh-copy-id -i .ssh/id_rsa.pub root@node2.a.org
-
- Node2上:
-
- ssh-key -t rsa
-
- ssh-copy-id -i .ssh/id_rsa.pub root@node1.a.org
(3)下载,安装相关软件
相关软件包:
cluster-glue-1.0.6-1.6.el5.i386.rpm
cluster-glue-libs-1.0.6-1.6.el5.i386.rpm
corosync-1.2.7-1.1.el5.i386.rpm
corosynclib-1.2.7-1.1.el5.i386.rpm
heartbeat-3.0.3-2.3.el5.i386.rpm
heartbeat-libs-3.0.3-2.3.el5.i386.rpm
ldirectord-1.0.1-1.el5.i386.rpm
libesmtp-1.0.4-5.el5.i386.rpm
openais-1.1.3-1.6.el5.i386.rpm
openaislib-1.1.3-1.6.el5.i386.rpm
pacemaker-1.0.11-1.2.el5.i386.rpm
pacemaker-libs-1.0.11-1.2.el5.i386.rpm
perl-TimeDate-1.16-5.el5.noarch.rpm
resource-agents-1.0.4-1.1.el5.i386.rpm
|
|