一、CoroSync
corosync最初只是用来演示OpenAIS集群框架接口规范的一个应用,可以说corosync是OpenAIS的一部分,然而后面的发展超越了官方最初的设想,越来越多的厂商尝试使用corosync作为集群解决方案。如Redhat的RHCS集群套件就是基于corosync实现。
corosync只提供了message layer(即实现HeartBeat + CCM),而没有直接提供CRM,一般使用Pacemaker进行资源管理。
OpenAIS是基于SA Forum 标准的集群框架的应用程序接口规范。OpenAIS提供一种集群模式,这个模式包括集群框架,集群成员管理,通信方式,集群监测等,能够为集群软件或工具提供满足AIS标准的集群接口,但是它没有集群资源管理功能,不能独立形成一个集群。
服务可用性论坛(SA Forum)是一个开放性论坛,它开发并发布AIS规范。AIS是应用接口规范,是用来定义应用程序接口(API)的开放性规范的集合,应用程序作为中间件为应用服务提供一种开放、高移植性的程序接口,是在实现高可用应用过程中是亟需的。使用AIS规范的应用程序接口(API),可以减少应用程序的复杂性和缩短应用程序的开发时间,这些规范的主要目的就是为了提高中间组件可移植性和应用程序的高可用性。
二、Pacemaker
Pacemaker是由Linux-HA工程的Heartbeat项目中的CRM组件发展而来。 Heartbeat 3开始,Heartbeat 3 按模块把的原来Heartbeat拆分为多个子项目。CRM组件单独由另一独立项目Pacemaker 负责。单独成一个项目之后,Pacemaker以做一个可扩展性高可用集群资源管理器(A scalable High-Availability cluster resource manager)为目标,并同时支持Corosync和Heartbeat 。
三、基于corosync实现web高可用基础配置
1.配置主机名
节点名称很关键,集群每个节的名称都得能互相解析。/etc/hosts中的主机名配置结果必须跟”uname -n”的解析的结果一致。
node1/node2都添加:
01.node1示例:
02.# vim /etc/hosts
03.172.18.109.233node1.test.com node1
04.172.18.109.235 node1.test.com node2
05.# ifconfig eth0 172.18.109.233 up
06.# hostname node1.test.com
07.# uname -n
08.# vim /etc/sysconfig/network //重启才生效,source也不生效
09.hostname=node1.test.com
2.时间同步
node1,node2都配置
1.# crontab -e
2.*/5 * * * * /usr/sbin/ntpdate 172.16.0.1 &> /dev/null
3.配置node之间SSH互信
1.node1:
2.#ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ''
3.# ssh-copy-id -i .ssh/id_rsa.pub root@node1.test.com
4.node2:
5.#ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ''
6.# ssh-copy-id -i .ssh/id_rsa.pub root@node1.test.com
7.node1:测试
8.# ssh node1.test.com ‘date’;date
4.安装nginx
node1:
yum install nginx
chkconfig nginx off #开机不自启动
chkconfig --list nginx #查看
nginx 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
将网页更目录都设置为: /var/www/html
echo "<h1>node2.test.com</h1>" > /var/www/html/index.html
说明:测试完成后关闭服务,并让其开机不启动(注,nginx由heartbeat管理)
node2:
yum install nginx
chkconfig nginx
(责任编辑:liangzh) |