HA高可用集群

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HA高可用集群相关的知识,希望对你有一定的参考价值。

https://fedoraproject.org/wiki/EPEL/zh-cn


一、实验用两台主机

   主机1:

        IP :10.11.22.189

        主机名:leamon.com  

   主机2:

        IP : 10.11.22.155

        主机名:eugene.net

   VIP :10.11.22.43

二、HA安装前准备环境条件

  1、时间同步

  2、ssh互信互通

  3、主机名称要与uname -n显示的结果相同,并通过/etc/hosts解析

三、安装HA高可用集群

  1、修改host主机名,修改后的主机名必须跟uname -n ; hostname 命令查看的主机名相同

     [[email protected] ~]# hostname leamon.com

     [[email protected] ~]# uname -n

          leamon.com

     [[email protected] ~]# vim /etc/hosts      #修改hosts文件,使主机重启后主机名永久有效

          10.11.22.189 leamon.com leamon

          10.11.22.155 eugene.net eugene

  2、编辑SSH可信通信并hosts主机解析

     [[email protected] ~]# ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ‘‘    #-t 指定类型为rsa,-f 指定文件 -P 指定密码为空

     [[email protected] ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

  3、安装heartbeat-3.0.4-2.el6.x86_64.rpm  heartbeat-libs-3.0.4-2.el6.x86_64.rpm 程序

     [email protected] ~]# yum --nogpgcheck localinstall heartbeat-3.0.4-2.el6.x86_64.rpm heartbeat-libs-3.0.4-2.el6.x86_64.rpm    #在本地安装解决依赖关系

  4、测试

     [[email protected] ~]# ssh 10.11.22.155 ‘ifconfig‘

        eth0      Link encap:Ethernet  HWaddr 00:0C:29:16:77:23  

                  inet addr:10.11.22.155  Bcast:10.11.22.255  Mask:255.255.255.0

                  inet6 addr: fd2f:ce52:41eb:0:20c:29ff:fe16:7723/64 Scope:Global

                  inet6 addr: fe80::20c:29ff:fe16:7723/64 Scope:Link

                  UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

                  RX packets:49191 errors:0 dropped:0 overruns:0 frame:0

                  TX packets:21034 errors:0 dropped:0 overruns:0 carrier:0

                  collisions:0 txqueuelen:1000 

                  RX bytes:52100254 (49.6 MiB)  TX bytes:1696040 (1.6 MiB)

     [[email protected] ~]# ping eugene

        PING eugene.net (10.11.22.155) 56(84) bytes of data.

        64 bytes from eugene.net (10.11.22.155): icmp_seq=1 ttl=64 time=1.63 ms

        64 bytes from eugene.net (10.11.22.155): icmp_seq=2 ttl=64 time=0.334 ms

  5、去报防火墙放行694端口,

  6、同步两个节点的时间

     [[email protected] ~]# ntpdate 2.cn.pool.ntp.org   #我使用的是国家的对时服务器

  7、设置时间同步定时任务,保证两个节点服务器时间时刻同步

     [[email protected] ~]# crontab -e

          */5 * * * * /usr/sbin/ntpdate 2.cn.pool.ntp.org  #每5分钟向服务器同步时间

  8、主机2同上操作

  9、heartbeat配置文件

        秘钥配置文件,权限为600  : authkeys

        heartbeat服务配置文件    : ha.cf

        资源管理配置文件         : haresources

  10、配置文件存放位置

     [[email protected] ~]# ls /usr/share/doc/heartbeat-3.0.4/

           apphbd.cf  authkeys  AUTHORS  ChangeLog  COPYING  COPYING.LGPL  ha.cf  haresources  README

  11、复制配置文件到/etc/ha.d

     [[email protected] ha.d]# cp -P /usr/share/doc/heartbeat-3.0.4/{ha.cf,authkeys,haresources} /etc/ha.d/

  12、配置 authkeys

     [[email protected] ha.d]# vim authkeys            #添加一下两行

         auth 1

         1 md5 5578c0c10c039addc49d9dff9a7f9efb  #后边为随机数秘钥

     [[email protected] ha.d]# dd if=/dev/random count=1 bs=512 | md5sum  #生成MD5编译的随机数

  13、配置ha.cf

     [[email protected] ha.d]# vim ha.cf

         #debugfile /var/log/ha-debug                   #调试文件

         #logfile        /var/log/ha-log                #日志文件存放位置

         #logfacility     local0                        #日志设施,改选项和上边的文件只能开启一个

         #keepalive 2                                   #多就发送一次心跳信息,默认为秒

         #deadtime 30                                   #探测对方主机

         #warntime 10                                   #等待对方主机发送信息的时间

         #initdead 120                                  #第一个节点启动后多长时间后启动第二节点的时间

         #udpport        694                            #heartbeat服务监听的端口号

         #baud   19200                                  #串行线缆的发送速率

             #serial /dev/ttyS0      # Linux

             #serial /dev/cuaa0      # FreeBSD

             #serial /dev/cuad0      # FreeBSD 6.x

             #serial /dev/cua/a      # Solaris          #定义串行设备类型

         #bcast  eth0            # Linux                #是否启动广播形式监听心跳信息

         #mcast eth0 225.0.0.1 694 1 0                  #是否启动多播监听心跳信息,定义一个多播地址、端口、TTL、loop

         #ucast eth0 192.168.1.2                        #是否启用单播监听心跳信息,和监听的对方IP地址

         auto_failback on                               #主节点恢复后是不是转移回主节点

         #node   ken3

         #node   kathyi

              node  leamon.com

              node  eugene.net                          #定义节点数

         #ping 10.10.10.254                             #ping一个节点测试是否在线

         #ping_group group1 10.10.10.254 10.10.10.253   #ping一个组的IP地址测试节点是否在线

         #respawn hacluster /usr/lib/heartbeat/ipfail   #重启故障节点

   14、配置haresources

         [[email protected] ha.d]# vim haresources

          leamon.com IPaddr::10.11.22.1/24/eth0  httpd   #添加一行

   15、复制配置好的文件到节点服务器

         [[email protected] ha.d]# scp authkeys ha.cf haresources eugene:/etc/ha.d/

   16、启动服务

         [[email protected] ha.d]# service heartbeat start

             Starting High-Availability services: INFO:  Resource is stopped

             Done.

         [[email protected] ha.d]# ssh eugene ‘service heartbeat start‘    #推荐远程启动另外一个节点

             Starting High-Availability services: 2016/04/03_13:01:28 INFO:  Resource is stopped

             Done.

   17、测试成功

         [[email protected] ~]# /usr/share/heartbeat/hb_standby   #模拟主节点故障启备节点

       


以上是关于HA高可用集群的主要内容,如果未能解决你的问题,请参考以下文章

高可用集群HA(heartbeat)

高可用集群HA之双机集群

HA高可用集群

HA Cluster基础概念及实现高可用集群

HA集群安装配置(高可用)

红帽436——HA高可用集群之概念