zoukankan      html  css  js  c++  java
  • linux 高可用集群heartbeat+haresources

    集群的基本架构:

      

    一、层次介绍:

      真实服务器层:真实服务器、比如web服务器、ftp服务器  

      Messaging laye(信息层):就是有一根心跳线连接着,可以探测真实服务器状况,并相互之间传递信息,同时也传递这CRM的信息

      CRM(资源管理层):是整个集群的大脑,负责与下层接触,观测服务器状态。负责与上层接触,调配资源,CRM之间相互交流通过ML来传递信息。

      LPM(本地资源管理层):CRM是领导者,只负责整体管理,细节需要交付LPM管理,所以LPM听从CRM的。

      RA(资源代理):LPM负责管理具体资源,但是具体执行由RA落实到位,

    二、常用软件

      ML:

        1、heartbeat (v1, v2)

        2、heartbeat v3

          可以拆分为:heartbeat, pacemaker, cluster-glue

        3、corosync

          从OpenAIS分离的项目。

        4、cman

        5、keepalived

          一般用于两个节点的集群

        6、ultramokey

      CRM:

        1、Haresource

          heartbeat v1 v2包含,使用文本配置接口haresources

        2、crm

          heartbeat v2包含,可以使用crmsh或者heartbeat-gui来进行配置

        3、pacemaker

          heartbeat v3分离出来的项目,配置接口:CLI:crm、pcs和GUI:hawk(WEB-GUI)、LCMC、pacemaker-mgmt、pcs

        4、rgmanager

          Cman包含,使用rgmanager(resource group manager)实现管理, 具有Failover Domain故障转移域这一特性,也可以使用RHCS(Redhat Cluster Suite)套件来进行管理:Conga的全生命周期接口,Conga(luci/ricci)先安装后,可用其安装高可用软件,再进行配置。

       RA:

        1.heartbeat

        2.LSB:自己写脚本

    三、常用组合

        1.heartbeat v2+haresource(或crm) :一般常用于CentOS 5.X

        2.heartbeat v3+pacemaker :一般常用于CentOS 6.X

        3.corosync+pacemaker :现在最常用的组合

        4.cman + rgmanager :红帽集群套件中的组件,还包括gfs2,clvm

        5.keepalived+lvs :常用于lvs的高可用

    四、hearbeat v2 基于haersource  配置

        0.安装准备:

            配置节点名称

              vim /etc/sysconfig/network

              vim /etc/hosts

              hostname node1.zrq.com

              uname -n

           配置ssh无需密码:注意这里两边节点都要相互配置。

              ①节点1生成RSA类型ssh,放到节点2中

                ssh-keygen -t rsa -f  ~/.ssh/id_rsa -P ''

                 ssh-copy-id  -i ~/.ssh/id_rsa.pub root@192.168.1.162

           配置时间一样

              date -s ‘2020-06-17 :09:17:00’

           关闭防火墙

             #setenforce 0

            

        1.安装:

          ①安装依赖包

              yum install perl-TimeDate PyXML libnet net-snmp-libs -y         

               yum install libtool-ltdl-devel gettext pygtk2-libglade

          ②rpm安装heartbeat及组件包

             rpm -ivh  --force  --nodeps  heartbeat-2.1.4-12.el6.x86_64.rpm     heartbeat-pils-2.1.4-12.el6.x86_64.rpm  heartbeat-stonith-2.1.4-12.el6.x86_64.rpm

        2.配置

    .        ①准备配置文件:

                heartbeat配置文件目录在/etc/ha.d/,在该目录没有这三个文件,所以先到/usr/share/doc/heartbeat-2.1.4/目录把这三个样例文件保留权限地复制到/etc/ha.d/         

                ha.cf:主配置文件(各个参数意义自行查找参考)

                authkeys:认证配置文件,文件权限必须改成600

                haresources:资源配置文件。配置VIP

          ②配置配置文件

                authkeys:修改权限600:chmod 600 authkeys

                     添加认证方式:vim authkeys  

                             auth 2

                            2 sha1  asdsadqwe

                ha.cf:添加节点

                haresource:配置资源

          ③复制配置文件到节点2

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

        3.启动heartbeat(注意所有节点都要启动)

            #service heartbeat start

        4.查看日志:

            #tail /var/log/ha-log

        5.测试成功

            ①通过web访问vip,看是否定位到node1

            ②停掉node1的heartbeat,看是否会自动切换到node2

              注意:所谓的VIP就是haresources里面配置的地址,注意两边节点配置文件一致

        6.通过nfs来放置网页文件

            ①关闭所有节点的heartbeat

            ②设置nfs服务

              #vim /etc/exports

              注意格式:共享目录   共享地址(权限)

            ③关闭node的selinux

              setforce 0

            ④编辑node的配置文件haresources添加资源

              注意格式:节点名   资源1 资源2  资源3

                例如:node1.zrq.com  192.198.1.240/24/eth0  Filesystem::192.168.1.165:/www/zrq::/var/www/html::nfs httpd

            ⑤启动nfs

               #service nfs start

            ⑥开启所有节点的heartbeat

                   #service heartbeat start

            ⑦查看挂载

              mount

              可以看到nfs为正确

            ⑧访问网页

  • 相关阅读:
    20145203盖泽双 《Java程序设计》第6周学习总结
    20145203盖泽双实验一 Java开发环境的熟悉(Linux + Eclipse)
    20145203盖泽双 《Java程序设计》第五周学习总结
    20145203盖泽双 《Java程序设计》第四周学习总结
    20145203盖泽双《Java程序设计》第三周学习总结
    ## 20145203盖泽双 《Java程序设计》第二周学习总结
    总结同学们第一周作业出现的问题
    DOS命令行简单用法
    20145203 盖泽双《Java程序设计》第一周的学习总结
    20145216史婧瑶《Java程序设计》第二次实验报告
  • 原文地址:https://www.cnblogs.com/kevinzr/p/13048740.html
Copyright © 2011-2022 走看看