corosync+pacemaker构建高可用集群

一、集群简介

引自suse官方关于corosync的高可用集群的框架图:

由图,我们可以看到,suse官方将集群的Architecture Layers分成四层。最低层Messaging/Infrastructure Layer提供了HeartBeat节点间传递心跳信息,即为心跳层。第二层Membership Layer层为集群事务决策层,决定了哪些节点作为集群节点,并传递给集群内所有节点,如果集群中成员拥有的法定票数不大于半数,该怎么作出决策等,通俗点讲,就是投票系统,同时,还提供了构建成员关系的视图。第三层Resource Allocation Layer为资源分配层,包含了crm,cib;crm作为资源分配层的核心组件,包括了Local Resource Manager、Transition Engine、Policy Engine三大组件,这三大组件都是在crm的基础之上得以实现的,同时,每个节点的crm还维持本节点的cib。在crm中选出一个节点作为DC(Designated Coordinator),DC负责维持主cib,所以所有cib的修改都由DC来实现,而后DC同步给其他节点,一个集群只有一个DC。cib是一个在内存中xml格式书写的保存着集群配置各条目的配置信息(集群状态,各节点,各资源,约束关系),可以使用gui修改,也可以使用crm_sh命令行修改。Transition Engine和Policy Engine,这两个组件只有DC拥有,PE是当集群状态改变时,根据配置文件中的约束信息,节点粘性计算要转移到的节点一应状态信息,并写入cib,TE根据PE作出的指示进行转移资源等操作。DC将改变的状态信息传至各crm,各节点的crm将要作出的改变传给lrm作出相应的更改,lrm有start|stop|monitor三种状态信息,在接受crm指令作出更改后,将状态信息传回crm。说到lrm了,下面我们来看看第四层Resources Layer层,即资源代理层,负责根据lrm传来的指令,找到对应的执行脚本执行,资源代理层有lsb格式,ocf格式的脚本,ocf相对于lsb,除了能接收更多参数外,还能提供监控功能。

时间: 2024-12-22 23:35:47

corosync+pacemaker构建高可用集群的相关文章

corosync+pacemaker的高可用集群

基于corosync+pacemaker的高可用集群 Pacemaker即Cluster Resource Manager (简称CRM),用来管理整个HA的控制中心,客户端通过pacemaker来配置管理监控整个集群.它不能提供底层心跳信息传递的功能,它要想与对方节点通信需要借助底层(新拆分的heartbeat或corosync)的心跳传递服务,将信息通告给对方. pacemaker管理资源的工具由命令行界面的crmsh.pcs和图形化界面pygui.hawk等进行管理. 因此,一般来说都是选

corosync+pacemaker实现高可用集群。

实验环境: 安装: yum install corosync pacemaker -y 复制配置文件 cp corosync.conf.example corosync.conf vim corosync.conf 编辑配置文件: compatibility: whitetank  是否兼容0.8版本的corosynctotem {定义集群之间心跳信息传递层   version: 2 ----版本号        secauth: on ---是否启用安全认证        threads: 0

corosync+pacemaker配置高可用集群(需要额外安装crm工具)

借鉴了网上不少博客定义:(来源于百度百科)Corosync:是集群管理套件的一部分,它在传递信息的时候可以通过一个简单的配置文件来定义信息传递的方式和协议等.Pacemaker:是一个集群资源管理器.它利用集群基础构件(OpenAIS .heartbeat或corosync)提供的消息和成员管理能力来探测并从节点或资源级别的故障中恢复,以实现群集服务(亦称资源)的最大可用性.crm:直接的配置工具. 一.前期准备:准备两台主机node1和node2: 1.确保设置好IP地址,设置好hostnam

corosync+pacemaker实现高可用集群

Corosync corosync最初只是用来演示OpenAIS集群框架接口规范的一个应用,可以实现HA心跳信息传输的功能,是众多实现HA集群软件中之一,可以说corosync是OpenAIS的一部分,然而后面的发展超越了官方最初的设想,越来越多的厂商尝试使用corosync作为集群解决方案,如Redhat的RHCS集群套件就是基于corosync实现. corosync只提供了message layer(即实现HeartBeat + CCM),而没有直接提供CRM,一般使用Pacemaker进

corosync+pacemaker配置高可用集群

一.环境介绍: Node1: CentOS6      192.168.9.168   192-168-9-168 CentOS6      192.168.9.176   192-168-9-176 VIP: 192.168.9.144 corosync和pacemaker为yum安装 二.环境部署 服务器初始化脚本执行(主要时间同步,防火墙,主机名,ip配置,关闭不必要服务等) 1,更改yum源 wget -O /etc/yum.repos.d/CentOS-Base.repo http:/

corosync+pacemaker使用pcs构建高可用集群

一.corosync+pacemaker集群前提准备 集群前提准备 --> HA-web 承接上文 --> corosync+pacemaker使用crmsh构建高可用集群 二.准备pcs [[email protected] ~]# yum install pcs 禁用stonith设备 [[email protected] ~]# pcs property set stonith-enable=false [[email protected] ~]# pcs property set no

drbd+corosync+pacemaker构建高可用MySQL集群

一.drbd简介 drbd全称Distributed Replicated Block Device,为分布式复制块设备,基于软件实现的,不共享任何东西的,通过复制的方式构建镜像模式工作的磁盘,类似于raid1,但不同于raid的是,drbd实现了跨主机镜像块数据.drbd工作原理:由工作于内核层次的drbd,将要写入本地磁盘的数据镜像一份发往本地网卡,由本地网卡发往另一台drbd主机的本地磁盘存储.因此,drbd的两个主机的,磁盘存储一模一样,从而实现分布式复制块设备的实现.drbd进程对磁盘

基于corosync+pacmaker实现高可用集群

目前,corosync功能和特性已经非常完善了,所以pacmaker独立出来之后通常都将pacmaker和corosync结合来使用,corosync并没有通用的资源管理器,因此要借助pacmaker来实现 常用的资源管理器: ·cman:rgmanager ·crm: crm的资源约束有: ·location :资源对节点的偏好 ·colocation:排序约束:资源运行在同一节点上的可能性,需要一定评估的 ·order: 资源采取动作的次序 资源有很多属性,以下为最常见的几类 ·集群属性 ·

Centos7上利用corosync+pacemaker+crmsh构建高可用集群

一.高可用集群框架 资源类型: primitive(native):表示主资源 group:表示组资源,组资源里包含多个主资源 clone:表示克隆资源 master/slave:表示主从资源 资源约束方式: 位置约束:定义资源对节点的倾向性 排序约束:定义资源彼此能否运行在同一节点的倾向性 顺序约束:多个资源启动顺序的依赖关系 HA集群常用的工作模型: A/P:两节点,active/passive,工作于主备模型 A/A:两节点,active/active,工作于主主模型 N-M:N>M,N个