案例一

案例说明:实现基于HA高可用性的群集系统,采用LVA-DR直接路由模型实现
实验拓扑图:
 

HA 高可用性群集_第1张图片 

1.node1和node2群集服务器网络配置:
node1的配置,eth0的配置:

HA 高可用性群集_第2张图片 

心跳网卡的配置,在vm3区域中:

HA 高可用性群集_第3张图片 

node2的配置,eth0的配置:

HA 高可用性群集_第4张图片

心跳网卡eth1的配置(在vm3区域中)

HA 高可用性群集_第5张图片

主机名配置
node1主机名配置
[root@localhost ~]# vim /etc/sysconfig/network
[root@localhost ~]# hostname node1.a.com
[root@localhost ~]# hostname #查看主机名
node1.a.com
[root@node1 ~]# vim /etc/hosts ##配置node1的本地DNS解析
HA 高可用性群集_第6张图片
node2主机名配置
[root@localhost ~]# vim /etc/sysconfig/network
[root@localhost ~]# hostname node2.a.com #配置后需注销才能生效。
[root@localhost ~]# hostname #查看主机名
node2.a.com
[root@node2 ~]# vim /etc/hosts
HA 高可用性群集_第7张图片
在node1上安装httpd
[root@node1 ~]#cd /mnt/cdrom/Server/
[root@node1 Server]# rpm -ivh httpd-2.2.3-31.el5.i386.rpm
[root@node1 ~]# cd /var/www/html/
[root@node1 html]# echo "node1.a.com" >index.html
启动服务
[root@node1 ~]# service httpd start
在node2上安装httpd
[root@node2 ~]#cd /mnt/cdrom/Server/
[root@node2 Server]# rpm -ivh httpd-2.2.3-31.el5.i386.rpm
[root@node2 ~]# cd /var/www/html/
[root@node2 html]# echo "node2.a.com" >index.html
启动服务
[root@node2 ~]# service httpd start
便于测试安装lynx
[root@node1 ~]# yum install -y lynx
[root@node2 ~]# yum install -y lynx
测试:

HA 高可用性群集_第8张图片 HA 高可用性群集_第9张图片

heartbeat的配置
node2的配置
使用yum安装heartbeat相应的软件包
[root@node2 ~]# yum localinstall -y heartbeat-2.1.4-9.el5.i386.rpm heartbeat-pils-2.1.4-10.el5.i386.rpm heartbeat-stonith-2.1.4-10.el5.i386.rpm libnet-1.1.4-3.el5.i386.rpm perl-MailTools-1.77-1.el5.noarch.rpm --nogpgcheck
拷贝heartbeat的3个配置文件到etc下ha.d目录下
[root@node2 ~]# cd /usr/share/doc/heartbeat-2.1.4/
[root@node2 heartbeat-2.1.4]# cp ha.cf haresources authkeys /etc/ha.d/
[root@node2 heartbeat-2.1.4]# cd /etc/ha.d/
编译心跳探测配置文件ha.cf
[root@node2 ha.d]# vim ha.cf
定义心跳网卡
96 bcast   eth1            # Solaris
声明群集的节点
214 node node1.a.com
215 node node2.a.com
[root@node2 ha.d]# dd if=/dev/random bs=512 count=1
[root@node2 ha.d]# dd if=/dev/random bs=512 count=1 |openssl md5
0+1 records in
0+1 records out
128 bytes (128 B) copied, 0.000166257 seconds, 770 kB/s
c8dc2f3926fb282fc60798e36dedf43c
改变authkeys的权限
[root@node2 ha.d]# chmod 600 authkeys
配置验证钥匙(为了实现双方身份验证)
[root@node2 ha.d]# vim authkeys
 27 auth 3
 28 3 md5 c8dc2f3926fb282fc60798e36dedf43c
编辑heartbeat资源管理器:(用于管理Director上的服务,比如httpd的启动)
[root@node2 ha.d]# vim haresources
45 node2.a.com 192.168.2.11/24/eth0/192.168.2.255 httpd
#192.168.2.11是vip,httpd是heartbeat控制的服务类资源
将httpd的控制脚本复制到heartbeat资源管理目录
[root@node2 ha.d]# cp /etc/init.d/httpd resource.d/
启动heartbeat服务
[root@node2 ha.d]# service heartbeat start
Node1的配置,这里我们从node2上拷贝
[root@node1 html]# scp node2.a.com:/root/*.rpm ./
[root@node1 html]# yum localinstall -y heartbeat-2.1.4-9.el5.i386.rpm heartbeat-pils-2.1.4-10.el5.i386.rpm heartbeat-stonith-2.1.4-10.el5.i386.rpm libnet-1.1.4-3.el5.i386.rpm perl-MailTools-1.77-1.el5.noarch.rpm --nogpgcheck
[root@node1 html]# cd /etc/ha.d/
[root@node1 ha.d]# ll
total 24
-rw-r--r-- 1 root root  692 Jul 25  2009 README.config
-rwxr-xr-x 1 root root  745 Jul 25  2009 harc
drwxr-xr-x 2 root root 4096 Aug 14 17:54 rc.d
drwxr-xr-x 2 root root 4096 Aug 14 17:54 resource.d
-rw-r--r-- 1 root root 7862 Jul 25  2009 shellfuncs
 [root@node1 ha.d]# scp node2.a.com:/etc/ha.d/ha.cf /etc/ha.d/
[email protected]'s password:
ha.cf                                  100%   10KB  10.4KB/s   00:00   
[root@node1 ha.d]# scp node2.a.com:/etc/ha.d/haresources /etc/ha.d/
[email protected]'s password:
haresources                            100% 5958     5.8KB/s   00:00   
[root@node1 ha.d]# scp node2.a.com:/etc/ha.d/authkeys /etc/ha.d/
[email protected]'s password:
authkeys                               100%  691     0.7KB/s   00:00   
[root@node1 ha.d]# scp node2.a.com:/etc/init.d/httpd /etc/ha.d/resource.d/
[email protected]'s password:
httpd                                  100% 3263     3.2KB/s   00:00  
现在可以查看一下node2的网络信息

HA 高可用性群集_第10张图片 HA 高可用性群集_第11张图片

[root@node2 ha.d]# cd /usr/lib
lib/     libexec/
[root@node2 ha.d]# cd /usr/lib/heartbeat/
[root@node2 heartbeat]# ./hb_standby  ##设置为备份
2012/08/15_12:18:21 Going standby [all].
此时node2的网络地址如下(可以看出node2成为备份)

HA 高可用性群集_第12张图片 HA 高可用性群集_第13张图片

[root@node1 ha.d]# vim haresources
45 node1.a.com 192.168.2.11/24/eth0/192.168.2.255 httpd

HA 高可用性群集_第14张图片

 

[root@node2 ~]# ./hb_takeover #可以抢占回来
 
未完待续...