|  | 
 
| 系统:centos5.4 
 软件:apache, heartbeat
 
 主机名:ha1 ha2
 
 主机ha1 IP:192.168.1.101 心跳IP:10.0.0.101
 
 主机ha2 IP:192.168.1.102 心跳IP:10.0.0.102
 
 浮动IP:192.168.1.200
 
 一、环境搭建
 
 centos5.4 最小化安装
 
 #yum update
 
 #vi /etc/sysconfig/selinux
 
 SELINUX=disabled
 
 关闭iptables 防火墙
 
 #chkconfig --level 3 iptables off
 
 #chkconfig --level 3 ip6tables off
 
 安装heartbeat 以及相关软件
 
 #yum install heartbeat* which httpd
 
 重启
 
 #reboot
 
 修改主机1 的hosts 文件
 
 #vi /etc/hosts
 
 127.0.0.1       localhost.localdomain localhost
 
 192.168.1.101   ha1 h1
 
 192.168.1.102   ha2
 
 10.0.0.101      h1
 
 10.0.0.102      h2
 
 修改主机2 的hosts 文件
 
 #vi /etc/hosts
 
 127.0.0.1       localhost.localdomain localhost
 
 192.168.1.101   ha1
 
 192.168.1.102   ha2 h2
 
 10.0.0.101      h1
 
 10.0.0.102      h2
 
 二、配置heartbeat
 
 #cp /usr/share/doc/heartbeat-2.1.3/ha.cf /etc/ha.d/
 
 #cp /usr/share/doc/heartbeat-2.1.3/haresources /etc/ha.d/
 
 #cp /usr/share/doc/heartbeat-2.1.3/authkeys /etc/ha.d/
 
 #cd /etc/ha.d/
 
 #vi authkeys
 
 auth 1
 
 1 crc
 
 #2 sha1 HI!
 
 #3 md5 Hello!  #1 ,2 ,3 表示认证算法选择,这里选择了crc 算法
 
 必须将authkeys 文件权限设置为600
 
 #chmod 600 authkeys
 
 
 
 #vi haresources
 
 ha1 IPaddr::192.168.1.200 httpd
 
 # 第一列为默认主机, 第二列为配置的浮动ip, 第三列为需要实现高可用性的服务(启动脚本在/etc/init.d 内), 如果没有服务则默认全部已运行服务,ha 指定服务在备机接管之前是不会启动的
 
 
 
 #vi ha.cf
 
 debugfile /var/log/ha-debug
 
 logfile /var/log/ha-log    # 两个日志文件
 
 logfacility     local0    # **/ 调试日志同时记录给syslog
 
 keepalive 2     # 每2 秒检测一次
 
 deadtime 30     #30 秒后切换
 
 warntime 10     # 警告时间10 秒
 
 initdead 120    # 重启网络时间(deadtime 两倍以上)
 
 udpport 694     # 心跳端口
 
 #bcast eth1     # 采用eth1 的udp 广播用来发送心跳信息,建议在副节点不只一台时使用
 
 ucast eth1 10.0.0.102      # 采用网卡eth1 的udp 单播来通知心跳,ip 应为对方IP ,在主机2 上设置为ucast eth1 10.0.0.101
 
 #mcast eth0 225.0.0.1 694 1 0       # 采用udp 多播播来通知心跳,建议在副节点不只一台时使用, 广播,单播,多播,以上三种任选其一即可
 
 auto_failback on  #on= 主备机模式,off= 非切换模式(就是谁接手谁是主机直到他自己故障)
 
 node    ha1
 
 node    ha2      # 节点名(一定要和uname -n 的结果一致)
 
 ping 192.168.1.1  # 用来验证外网线连通的ip (推荐上级路由器,还有ping_group,hbaping 等类似配置可选)
 
 respawn hacluster /usr/lib/heartbeat/ipfail
 
 apiauth ipfail gid=haclient uid=hacluster      # 网络检测补救插件,用来实现auto_failback 功能的
 
 三、测试
 
 1 、分别在两台主机的apache 中设置不同的页面
 
 2 、启动主机1 的apache 服务
 
 3 、启动主机1 的heartbeat 服务,并查看是否配置上了浮动IP
 
 4 、启动主机2 的heartbeat 服务
 
 5 、在ie 中访问192.168.1.200 (也就是前面设置的浮动ip ),关闭主机的heartbeat 服务,刷新页面**访问的是主机2 的页面,在重新把主机的heartbeat 服务启动,确实是否切换回主机1 的页面。
 
 6 、将heartbeat 服务添加到服务器开机启动,并将主机1 的httpd 服务设置为开机启动
 
 chkconfig --add heartbeat
 
 chkconfig --level 3 httpd on
 
 chkconfig –list
 
 7 、重启后在从1 到5 步测试下
 
 
 
 参考文档:http://blog.chinaunix.net/u1/51878/showart_1171351.html
 | 
 |