高可用集群 heartbeatv1实例

来源:互联网 发布:js函数可以传对象吗 编辑:程序博客网 时间:2024/06/05 07:54

———————   高可用集群的简单配置   ————————

 地址规划  

           主节点:HA1 172.16.21.13   hostname node2.magedu.com

           备节点: HA2 172.16.21.14   hostname node1.magedu.com

           VIP 172.16.21.9

 

 前提工作

        1,配置主机名 hostname

           保证uname -n 的主机名一致

           #hostname node1.magedu.com  (vim /etc/sysconfig/network)

 

       2,双机互信通信 (HA1HA2都做相同的设置,以实现双机的互信)

           #ssh-keygen -t rsa -f ~/.ssh/id_rsa -P '' 生成密钥输出文件存放在id

           #ssh-copy-id -i .ssh/id_rsa.pub root@(ip) 

 

       3,主机名称解析

           #vim /etc/hosts   添加两台主机的IP 和主机名称,还有别名

                         

       4,时间同步(为了监控到对方的心跳信息)

          #service ntpd stop

          #chkconfig ntpd off

          #ntpdate 172.16.0.1

               为了保证以后时间能一直的同步(很粗暴,设定5分钟同步一次)

         (#crontab -e  添加*/5* * * * /sbin/ntpdate 172.16.0.1 &> /dev/null)

 

 

 

安装相关的软件 

     (可以到相关的网站去下载需要的软件包,因为有很多依赖关系,所以需要下载多个)

       heartbeat-2.1.4-9.el5.i386.rpm,  heartbeat-gui-2.1.4-9.el5.i386.rpm

       heartbeat-stonith-2.1.4-10.el5.i386.rpm

       heartbeat-pils-2.1.4-10.el5.i386.rpm libnet-1.1.4-3.el5.i386.rpm

            perl-MailTools-1.77-1.el5.noarch.rpm

 

 

启动heartbeat,并对其做出相关的配置

      首先为其提供配置文件  (路径在/etc/ha.d

             (/usr/share/doc/heartbeat-2.1.4/下有三种配置文件的样例)

          ha.d#cp -p 600 /usr/share/doc/heartbeat-2.1.4/{authkeys,ha.cf,haresources} ./

      指定密码使用哪种认证机制:

          ha.d#vim authkeys       

         得到随机数 将其加入到authkeys

       # dd if=/dev/random count=1 bs=512 | md5sum    

     

    编辑主配置文件

             ha.d#vim ha.cf

          在其中修改以太网发送信息是通过广播(心跳信息的传递方式)

          定义节点,将集群中的节点都做出定义

          ping 网关 目的是验证对方是否down掉没

 

    

      安装web服务

 

    

       编辑配置定义资源

             ha.d#vim haresources

               格式: #node1  10.0.0.170 Filesystem::/dev/sda1::/data1::ext2

                和主节点名称一致uname -n 作为主节点的节点名称

    将配置好的密钥和资源文件复制到做备用节点的主机上

           #scp -p authkeys haresources ha.cf node2:/etc/ha.d/

           在主节点(HA1)上启动自身的heartbeat ,并且启动备节点的heartbeat

 

   实验结果

 

 

 

通过以下了两个场景,我们可以对高可用集群的heartbeat v1 做进一步的了解

     

    

      场景1:主节点出现故障,备节点取代主节点工作

           期望的效果:能显示HA2httpd的网页(node2.magedu.com)

 

 heartdbeat下有个测试脚本,可以完成上面的场景

     #cd /usr/lib/heartbeat

        它下面有个脚本hb_standby (将自己转换成备节点)  

     #./hb_standby

 

 

ifconfig查看,会发现eth0:0在之前的节点上

 

期望效果显示

 

    场景2: 再添加一个节点,让其提供文件系统,让主备节点同时挂载它

           期望效果:提供相同的网页

          

             在做共享文件系统NFS的节点上做如下配置

                 

         创建共享的文件目录

                #mkdir -pv /web/htdocs

        编辑共享的目录和共享的网段

                #vim  /etc/exports

                  /web/htdocs 172.16.0.0/255.255.0.0(ro)

        检查下是否能正常的访问

               #showmount -e 172.16.21.8

             

          

     把主备节点的heratbeat停了

 

                    在主配置文件的资源管理中做出配置

     node1.magedu.com IPaddr::172.16.21.9/16/eth0 Filesystem::172.16.21.8:/web/htdocs::/var/www/html::nfs httpd

 

 

   并将配置好的复制到备节点上 

 

 

    启动服务,查看结果

          # service heartbeat start

          # ssh node2 'service heartbeat start'