实验平台:virtualbox 4.12

操作系统:RHEL5.4
实验拓扑:

heartbeat高可用集群搭建 _高可用集群搭建

    两台Directory都有两块网卡,都设置为静态地址,其中eth0用于网络间通信,eth1用于两台Directory监测彼此心跳信息,所以使用独立的网络进行连接,在实际应用中可以使用串行线进行连接,这里由于使用虚拟机就采用intnet的内部网予以实现。
    本实验用到的软件包有:
    

 

  1. heartbeat-2.1.4-9.el5.i386.rpm   
  2. heartbeat-devel-2.1.4-9.el5.i386.rpm   
  3. heartbeat-gui-2.1.4-9.el5.i386.rpm  
  4. heartbeat-pils-2.1.4-10.el5.i386.rpm  
  5. heartbeat-stonith-2.1.4-10.el5.i386.rpm  
  6. libnet-1.1.4-3.el5.i386.rpm  
   
一.首先安装软件包
   

 

  1. [root@DIR ~]# yum localinstall *.rpm --nogpgcheck -y  
    按照拓扑图设置两台主机的IP地址和主机名
    分别修改两主机/etc/hosts文件,添加下面的内容
       

 

  1. 192.168.56.10   node1.a.org node1  
  2. 192.168.56.30   node2.a.org node2  
 
    为两主机设置免密码ssh连接
    首先在node1上:
           

 

  1. [root@DIR ~]# ssh-keygen -t rsa  
  2. [root@DIR ~]# ssh-copy-id -i .ssh/id_rsa.pub root@node2  
    再在node2上:
          

 

  1. [root@DIR2 ~]# ssh-keygen -t rsa  
  2. [root@DIR2 ~]# ssh-copy-id -i .ssh/id_rsa.pub root@node1  
    这样就可以免输密码自由连接了。
    可以将node1上的软件包直接拷贝至node2上进行安装:
   

heartbeat高可用集群搭建 _搭建_02

    然后同样的安装步骤:
    

 

  1. [root@DIR2 ~]# yum localinstall -y *.rpm –nogpgcheck  
    准备工作基本结束,下面开始进行配置
二.配置Heartbeat
    1.将heartbeat的配置文件拷贝到/etc/ha.d目录下
    

 

  1. [root@node1 ~]# cp /usr/share/doc/heartbeat-2.1.4/{ha.cf,haresources,authkeys} /etc/ha.d/  
    2.首先编辑ha.cf
   

 

  1. [root@node1 ha.d]# cd /etc/ha.d/  
  2. [root@node1 ha.d]# vim ha.cf  
    修改下面几项:
       

 

  1. logfile /var/log/ha-log     //打开日志  
  2. bcast eth1               //监测心跳的网卡  
  3. node   node1.a.org  
  4. node   node2.a.org       //定义集群节点  
  5. respawn hacluster /usr/local/lib64/heartbeat/ipfail  
  6. apiauth ipfail gid=haclient uid=hacluster        //定义随heartbeat一起启动的进程  
    3.然后编辑authkeys
    

 

  1. [root@node1 ha.d]# vim authkeys 
    修改文件最后几行为
          

 

  1.  auth 2               //这里是用来指定认证方式的  
  2. 2 sha1 e781edf0090887bee14405fd48768ac6(随机数)  
  3.     //随机数可以用下面的命令生成  
  4. [root@node1 ~]# dd if=/dev//urandom bs=512 count=1 | md5sum   
  5. [root@node1 ha.d]# chmod 400 authkeys     //修改该文件的权限为400或600  
    4.接下来编辑haresources
    

 

  1. [root@node1 ha.d]# vim haresources  
  2.     //在其中写入:  
  3. node1.a.org 192.168.56.20/24/eth0/192.168.56.255 httpd  
    这条语句分别用来定义主节点,VIP,指定网卡,广播地址和服务
    5.拷贝配置文件至node2
    由于两台主机的配置文件必须相同,这里直接将node1上编辑好的配置文件拷贝至node2
   

 

  1. [root@node1 ha.d]# scp ha.cf haresources authkeys node2:/etc/ha.d 
 
三.启动服务进行测试
    为了验证效过,在node1和node2上分别安装httpd服务,并添加测试页。
    启动集群服务
   

 

  1. [root@node1 ~]# /etc/init.d/heartbeat start  
  2. [root@node1 ~]# ssh node2 -- `/etc/init.d/heartbeat start`  
  3. [root@node1 ~]# service heartbeat status  //查看一下heartbeat运行状态  
  4.     
heartbeat高可用集群搭建 _搭建_03

 

    说明服务运行正常
    查看ip地址
    [root@node1 ~]# ifconfig
 

heartbeat高可用集群搭建 _搭建_04

    此时在浏览器内出入192.168.56.20(VIP)可以看到 

heartbeat高可用集群搭建 _搭建_05

 再停掉node1上的heartbeat,看一下服务状态
   

 

  1. [root@node1 ~]# service heartbeat stop  
  2. [root@node2 ha.d]# service heartbeat status  
  3. [root@node1 ~]# ifconfig   

heartbeat高可用集群搭建 _高可用集群搭建_06

    刷新页面可以看到
 

heartbeat高可用集群搭建 _高可用集群搭建_07

 可见heartbeat工作正常,高可用集群搭建成功!