linuxsir首页 LinuxSir.Org | Linux、BSD、Solaris、Unix | 开源传万世,因有我参与欢迎您!
网站首页 | 设为首页 | 加入收藏
您所在的位置:主页 > Limux发行版SuSE >

Corosync+Pacemaker高可用集群构建过程详解

时间:2016-11-17  来源:未知  作者:admin

 一、简介
    高可用集群,是指以减少服务中断(如因服务器宕机等引起的服务中断)时间为目的的服务器集群技术。简单的说,集群就是一组计算机,它们作为一个整体向用户提供一组网络资源。这些单个的计算机系统就是集群的节点。
高可用集群的出现是为了减少由计算机硬件和软件易错性所带来的损失。它通过保护用户的业务程序对外不间断提供的服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度。如果某个节点失效,它的备援节点将在几秒钟的时间内接管它的职责。因此,对于用户而言,集群永远不会停机。高可用集群软件的主要作用就是实现故障检查和业务切换的自动化。

    高可用集群框架图:

    架构整体说明:

    随着互联网技术的迅速发展很多大中小型公司已经离不开互联网办公及其提供服务,例如淘宝、美团等网站宕机几个小时损失是致命的,很多网站对其高可用性越来越强,这就意味着运维人员需做到从硬件和软件两方面保证服务器的平均无故障时间减小,才能提高其可用性。corosync是一个集群管理套件的部分,它在传递信息的时候可以通过一个简单的配置来定义信息传递的方式和协议等,能实现资源间的高可用。目前,corosync功能和特性已经非常完善了,所以pacmaker独立出来之后通常都将pacmaker和corosync结合来使用,corosync并没有通用的资源管理器,因此要借助pacmaker来实现,pacemaker是作为corosync的插件来使用的,所以只需要在corosync配置文件中启动pacemaker插件即可;但是真正启动corosync并且配置它需要命令行接口进行调用,没配置pcs那么这里我们只能使用crm工具来对其进行资源的管理。

    架构详细说明图:

    corosync集群常见的组合方式及配置接口:

    heartbeat v1 + hasource 

    heartbeat v2 + crm 

    heartbeat v3 + pacemaker + crmsh(corosync v1版本时没有投票系统,corosync v2有投票系统,当系统发生网络分区、脑裂时则将会将所有的资源转移至可用的其他主机之上)

    corosync v1 + pacemaker  corosync v2 + pacemaker 

    cman +rgmanager corosync v1 + cman + pacemaker 

    CRM:集群资源管理
    资源类型:
    primitive:基本资源,主资源,仅能运行一个节点
    group:组,将组成一个高可用服务所需要的所有资源集合在一起
    clone:克隆,同一资源科出现多份,可运行在多个节点
    multi-state(master/slave):多状态类型,是克隆资源的特殊表现,副本间可存在主从的关系


    RA:资源代理
    资源代理类别:
    LSB:位于/etc/rc.d/init.d/*,支持start,stop,restart,reload,status,force-reload

注意:使用LSB资源类型的不能开机自动运行
    OCF(open cluster framework):/usr/lib/ocf/resource.d/provider/,类似于LSB的脚本,但仅支持start,stop,status,monitor,meta-data 

    STONITH:调用stonith设备的功能,systemd:unite ifle,/usr/lib/systemd/system/
注意:必须设置enable,设置为开机自动启动

    资源约束方式:
    位置约束:定义资源对节点的倾向性

友情链接