CentOS 5.5配置Web高可用集群

一、环境概述

1、操作系统:CentOS 5.5

2、集群软件:heartbeat

3、节点1 IP:192.168.1.88

4、节点2 IP:192.168.1.89

5、虚拟IP:192.168.1.86

备注:在节点1上使用uname -n 结果必须是node01,在节点2上使用uname -n 结果必须是node02,修改方法见3.1,IP 192.168.1.86是一个虚拟IP用来供Web服务器使用的。

二、下载所需软件

1、# yum -y install heartbeat

2、# yum -y install libnet

3、# yum -y install httpd

由于yum是将软件下载后自动安装,所以这里就不用进行手动安装的步骤了。

三、集群配置

3.1、在每个节点上修改机器名称

1)、在node01上修改主机名称

# vi /etc/sysconfig/network

HOSTNAME=node01

2)、在node02上修改主机名称

# vi /etc/sysconfig/network

HOSTNAME=node02

3.2、在每个节点上修改网络节点信息

# vi /etc/hosts                                   #添加以下内容

192.168.1.88 node01

192.168.1.99 node02

3.3、在每个节点上配置heartbeat

# vi /etc/ha.d/ha.cf                             #heartbeat主配置文件

logfile /var/log/ha-log

logfacility local0

keepalive 2

deadtime 30

initdead 120

bcast eth0

udpport 694

auto_failback on

node node01

node node02

# vi /etc/ha.d/authkeys                 #heartbeat认证配置文件

auth 1

1crc

# chmod 600 /etc/ha.d/authkeys         #改变authkeys的权限

# vi /etc/ha.d/haresources                  #heartbeat高可用配置文件

node01 192.168.1.86 httpd

# service heartbeat start                     #启动heartbeat服务

3.4、在每个节点上配置Web服务器

# vi /etc/httpd/conf/httpd.conf            #httpd主配置文件

将Listen 80 改成

Listen 192.168.1.86:80

# service httpd start                           #启动httpd服务

3.5、在每个节点上创建一个主页文件(方便测试)

1)、在node01上创建首页文件

# echo “node01 apache test server” > /var/www/html/index.html

2)、在node02上创建首页文件

# echo “node02 apache test server” > /var/www/html/index.html

四、集群测试

1、网页浏览测试法

第一次刚启动时,访问:

http://192.168.1.86后,会显示:

node01 apache test server

将node01的heartbeat服务关闭或将node01关机后,再访问:

http://192.168.1.86后,会显示:

node02 apache test server

2、查看虚拟IP测试法

1)、第一次刚启动时,在node01上执行命令:

# ifconfig

会出现eth0:0的虚拟网卡,并且IP地址192.168.1.86,这证明主机目前在node01上;

2)、将node01的heartbeat服务关闭或将node01关机后,再在node01上执行命令:

# ifconfig

会发现node01没有了eth0:0虚拟网卡,而在node02上执行命令:

#ifconfig

则发现node02上出现了eth0:0虚拟网卡,并且IP地址是192.168.1.86,这证明主机目前已经从node01转到了node02上。

五、开机自动启动集群

在每个节点上分别执行以下命令

# chkconfig heartbeat on

# chkconfig httpd on

注:将node01的heartbeat服务启动或将node01开机后,node01会自动接管集群,这是因为我们在/etc/ha.d/haresources里设置的是node01,如果改成node02则变成了node02是主机,node01是备机了。

自此,Web集群配置完成,不过目前还没有达到网页文件同步的功能,如果要使用磁盘阵列或其他共享磁盘的方式则可以将磁盘阵列挂载到/var/www/html目录,以达到共享网页文件的功能,就不需要同步网页文件了,这里不做示范,稍后会发布关于Linux下文件自动同步的文章,敬请关注。

猜你喜欢

转载自paulfzm.iteye.com/blog/866620