在centos中配置高可用性集群
一、概述:
系统:Centos5.0
集群软件:Heartbeat
节点1IP(主):192.168.1.105
节点2IP(从):192.168.1.106
virtual IP:192.168.1.102
  在节点1上使用uname -n 结果必须是node01,在节点2上同样使用uname -n结果也必须是node02。IP 192.168.1.102是一个虚拟IP用来供webserver使用的。
二、下载安装软件包和配置:
   1、需要以下软件包:
heartbeat-2.1.2
heartbeat-2.1.2
heartbeat-stonith-2.1.2
也可以使用yum -y install heartbeat来进行安装,附件为所需要的软件包:
文件:
heartbeat.rar
大小:
2627KB
下载:
下载
2、在每个节点上配置heartbeat,需要有以下三个文件:
authkeys、ha.cf、haresources,它们存在于/etc/ha.d/目录里。
3、创建以上提到的三个文件:
cp /usr/share/doc/heartbeat-2.1.2/authkeys  /etc/ha.d/
cp /usr/share/doc/heartbeat-2.1.2/ha.cf  /etc/ha.d/
cp /usr/share/doc/heartbeat-2.1.2/haresources  /etc/ha.d/
4、配置:
  4.1、首先编辑authkeys文件:
   vi /etc/ha.d/authkeys
   添加以下行:在这里我们使用的是第二种认证方式(shal)
   auth 2
   2 sha1 test-ha
   接着把文件的权限改为600:
   chmod 600 /etc/ha.d/authkeys
  4.2、编辑/etc/ha.d/ha.cf文件:
   vi /etc/ha.d/ha.cf加入如下行:
   logfile /var/log/ha-log
   logfacility local0
   keepalive 2
   deadtime 30
   initdead 120
   bcast eth0
   udpport 694
   auto_failback on
   node node01
   node node02
  4.3、编辑/etc/ha.d/haresources文件:
   这个文件中包含了使那个服务具有高可用性,在这里我们使用的是httpd;
   vi /etc/ha.d/haresources加入下行:
   node01 172.16.4.82 httpd
  4.4、我们把node01上的/etc/ha.d/目录复制到节点node02上的/etc目录里。
   scp -r /etc/ha.d/ 
[email=root@node02:/etc/]root@node02:/etc/[/email]
  4.5、在httpd.conf文件里我们添加如下行:
   vi /etc/httpd/conf/httpd.conf
   Listen 192.168.1.102:80
  4.6、把节点node01上的/etc/httpd/conf/httpd.conf文件复制到节点node02相应的目录里:
   scp /etc/httpd/conf/httpd.conf 
[email=root@node02:/etc/httpd/conf/]root@node02:/etc/httpd/conf/[/email]
  4.7、在两个节点上分别创建一个index文件来进行测试:
   在node01上:
   echo "node01 apache test server" > /var/www/html/index.html
   在node02上:
   echo "node02 apache test server" > /var/www/html/index.html
  4.8、在两个节点上分别启动heartbeat:
    /etc/init.d/heartbeat start
  4.9、在node01上,开启一个浏览器:输入
http://192.168.1.102
并回车,将会看到
    node01 apache test server
  4.10、停止node01上的heartbeat进程,然后再浏览器里输入
http://192.168.1.102
并回车,将会看到node02 apache test server.
三、补充:
  这里不需要创建一个虚拟网络接口和配置一个IP(192.168.1.102)给它,因为heartbeat会帮助我们来完成的,并启动httpd server。