Centos4.8-Linux下用heartbeat做双机热

备服务实验

 

Linux上的heartbeat双机热备服务架设
 
一、   环境搭建
 
(一)         安装前准备
1、 硬件需求:VMware workstation 一台,并在虚拟机上安装好linux系统(此实验用的centos4.8),克隆出两台实验机子,分别将其命名为sev1,sev2且分别虚拟出两张网卡。
2、 软件需求:ipvsadm与heartbeat(此实验用的是,heartbeat-2.1.3-3.el4.centos.i386.rpm,heartbeat-pils-2.1.3-3.el4.centos.i386.rpm,heartbeat-stonith-2.1.3-3.el4.centos.i386.rpm,ipvsadm-1.24-6.1.i386.rpm)
 
(二)         两台机子的基本配置
1、网络基本配置:
sev1主机名为:sev1.example.com ip:eth0:192.168.1.10      eth1:10.0.0.10 (心跳地址)
sev2主机名为:sev2.example.com ip:eth0:192.168.1.20      eth1:10.0.0.20 (心跳地址)
特别注意检查以下几个文件:
/etc/hosts
/etc/resolv.conf
/etc/sysconfig/network
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-eth1
 
2、sev1与sev2主机下/etc/hosts内容的配置相同:
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1                localhost.localdomain localhost
 
192.168.1.10     sev1.example.com sev2
192.168.1.20     sev2.example.com sev2
10.0.0.10        sev1
10.0.0.20        sev2
 
3、分别在sev1与sev2机子上安装httpd服务:
#yum install  httpd
在sev1下编辑如下
#vi /var/www/html/index.html
This is web~~~1111111111111
在sev2下编辑如下
#vi /var/www/html/index.html
This is web~~~222222222222
 
4、关闭防火墙与selinux:配置:
#vi /etc/sysconfig/selinux
SELINUX=disabled
#chkconfig --level 3 iptables off
5、安装ipvsadm与heartbeat:
# rpm –ivh /var/ftp/pub/ipvsadm-1.24-6.1.i386.rpm
# rpm –ivh /var/ftp/pub/heartbeat-pils-2.1.3-3.el4.centos.i386.rpm
# rpm –ivh /var/ftp/pub/heartbeat-stonith-2.1.3-3.el4.centos.i386.rpm
# rpm –ivh /var/ftp/pub/ heartbeat-stonith-2.1.3-3.el4.centos.i386.rpm
二、   配置heartbeat 
 
(一)          配置sev1主机下ha.cf、authkeys、
 
haresources内容
 
1、将/usr/share/doc/heartbeat-2.1.3/ha.cf这个文件复制到/etc/ha.d/目录下:
#cp /usr/share/doc/heartbeat-2.1.3/ha.cf              /etc/ha.d/
#cp /usr/share/doc/heartbeat-2.1.3/authkeys         /etc/ha.d/
#cp /usr/share/doc/heartbeat-2.1.3/hareources      /etc/ha.d/
 
2、配置ha.cf文件内容如下:
# vi /etc/ha.d/ha.cf
logfile /var/log/ha-log
logfacility      local0
keepalive 2
deadtime 30
warntime 10
initdead 120
udpport 694
bcast    eth1            # Linux
ucast eth1 10.0.0.20
node     sev1.example.com
node     sev2.example.com
ping 192.168.1.1
 
3、配置authkeys文件内容如下:
# vi /etc/ha.d/authkeys
auth 1
1 crc
#2 sha1 HI!
#3 md5 Hello!
注意:开启验证模式要必须执行下面一天命令
#chmod 600 authkeys
 
 
4、配置haresources文件内容如下:
# vi /etc/ha.d/haresources
#node-name resource1 resource2 ... resourceN
sev1.example.com 192.168.1.88 httpd
(二)          配置sev2主机下ha.cf、authkeys、
 
haresources内容
1、将/usr/share/doc/heartbeat-2.1.3/ha.cf这个文件复制到/etc/ha.d/目录下:
#cp /usr/share/doc/heartbeat-2.1.3/ha.cf              /etc/ha.d/
#cp /usr/share/doc/heartbeat-2.1.3/authkeys         /etc/ha.d/
#cp /usr/share/doc/heartbeat-2.1.3/hareources      /etc/ha.d/
 
2、配置ha.cf文件内容如下:
# vi /etc/ha.d/ha.cf
logfile /var/log/ha-log
logfacility      local0
keepalive 2
deadtime 30
warntime 10
initdead 120
udpport 694
bcast    eth1            # Linux
ucast eth1 10.0.0.10
node     sev1.example.com
node     sev2.example.com
ping 192.168.1.1
 
3、配置authkeys文件内容如下:
# vi /etc/ha.d/authkeys
auth 1
1 crc
#2 sha1 HI!
#3 md5 Hello!
注意:开启验证模式要必须执行下面一天命令
#chmod 600 authkeys
 
4、配置haresources文件内容如下:
# vi /etc/ha.d/haresources
#node-name resource1 resource2 ... resourceN
sev1.example.com 192.168.1.88 httpd
5、启动heartbeat服务:
# service         heartbeat              start
三、   测试
(一)         查看是否有虚拟ip:192.168.1.88,如下:
eth0:0     Link encap:Ethernet HWaddr 00:0C:29:1F:56:B7 
          inet addr:192.168.1.88 Bcast:192.168.1.255 Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
          Interrupt:185 Base address:0x2000
若有,则说明我们heartbeat配置成功了
(二)         在测试机上打开ie浏览器:
在地址栏输入: http://192.168.1.88,回车出现下图:
 

关闭sev1的heartbeat服务器,在地址栏输入: http://192.168.1.88,回车出现下图
 

 

四、   心得体会

今天是开心而又难忘的一天,终于在Linux下成功的完成了这次用heartbeat来做双机备份,其实后头一想,也不是像想象中那样难,尽管花费了很多时间去查找资料,研究她,但我认为这是值得的,因为喜欢她,才回去追逐她,就好比像自己的女友似的,同时也说明了自己是菜鸟,还需要加倍努力去学习,去恶补自己不知道的新知识。