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是将软件下载后自动安装,所以这里就不用进行手动安装的步骤了。
1)、在node01上修改主机名称
# vi /etc/sysconfig/network
HOSTNAME=node01
2)、在node02上修改主机名称
# vi /etc/sysconfig/network
HOSTNAME=node02
# vi /etc/hosts #添加以下内容
192.168.1.88 node01
192.168.1.99 node02
# 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服务
# vi /etc/httpd/conf/httpd.conf #httpd主配置文件
将Listen 80 改成
Listen 192.168.1.86:80
# service httpd start #启动httpd服务
1)、在node01上创建首页文件
# echo “node01 apache test server” > /var/www/html/index.html
2)、在node02上创建首页文件
# echo “node02 apache test server” > /var/www/html/index.html
第一次刚启动时,访问:
http://192.168.1.86后,会显示:
node01 apache test server
将node01的heartbeat服务关闭或将node01关机后,再访问:
http://192.168.1.86后,会显示:
node02 apache test server
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下文件自动同步的文章,敬请关注。