corosync集群下的双心跳多资源组配置小结

在我们日常的corosync配置中,在安装完相关包只需要在corosync.conf中配置bindnetaddr中对应心跳IP并添加

service {
	name: pacemaker
	ver: 0
	use_mgmtd: 1
}

即可启用pacemaker,然后进行资源配置。

1、遇到第一个问题,如果有多个网卡用来做心跳怎么办?

心跳IP的配置在corosync.conf中totem配置项下的interface子项。多个心跳网卡配置多个interface,并把ringnumber加1(第一个是0),但是要注意totem配置中添加rrp_mode:active或者passive不然启动orosync时会报错。acitve对应延迟较低,但是性能较差,passive表示没看到英文解释。。。默认情况下单个心跳rrp_mode是none的。

TIPs:rrp即路由冗余协议,我们接触到比较多的是keepalived里面的vrrp。

2、某地需求,一个vip,多个阵列共享盘,两个独立数据库实例,启动与停止要互不影响,但是都依赖于vip和阵列盘。

默认情况下我们都是使用一个group来组合资源,并按从上往下的顺序启动资源,而如果中间的资源出现意外停止时,集群会关掉下面的资源,再从中间往下启动,由于一个资源不能存在在多个资源组,这样当然不能符合需求。

解决方法:在configure配置时,将vip和阵列group成一个资源组,使用order命令 来定义启动顺序,即:

 order  database1-after-group mandatory: group1  database1
  order  database2-after-group mandatory: group1  database2

注解:

order :顺序约束的命令

database1-after-group#约束ID

mandatory:   #指定级别(此处有三种级别:mandatory:强制, Optional:可选,Serialize:序列化)

group1  database1  #资源名,这里书写的先后顺序相当重要

但是这样会有一个问题,在备机restart corosync的时候,会出现抢资源的情况,然后colocation绑定约束就上场了。

crm(live)configure# colocation database-and-group inf: group1 database1 database2

注解:

colocation:排列约束命令

database-and-group : #约束名(ID)

inf:#(可能性,inf表示永久在一起,也可以是数值)

group1 database1 database2 #资源名称

3、资源默认不起动问题

configure下直接edite,在资源配置下方的meta后添加

 meta target-role="Started"

参考:http://www.it165.net/admin/html/201404/2869.html

时间: 2024-10-11 04:13:25

corosync集群下的双心跳多资源组配置小结的相关文章

用redis实现tomcat集群下的session共享

上篇实现了 LINUX中NGINX反向代理下的TOMCAT集群(http://www.cnblogs.com/yuanjava/p/6850764.html) 这次我们在上篇的基础上实现session 共享问题 Nginx机器:192.168.1.108 两台tomcat机器分别是:192.168.1.168 192.168.1.178 一:测试session共享问题 在原index.jsp页面添加如下代码 SessionId:<%= session.getId() %> <% Stri

was集群下基于接口分布式架构和开发经验谈

某b项目是我首次采用was环境下架构和开发的手机wap应用,尽管做到了该项目的主程,但对此项目的全面构件依然有不清楚的地方,因此在这里我只能简单的谈谈开发中遇到的问题怎么处理和应对办法. 记得第一天接触这个项目时,只记得些案例代码(不知道那些是对的,那些是错的)似曾相识,但不懂如何动手写下第一个helloword,因其中的基于接口开发的ejb的架构以前根本就没接触过.好了,没办法,于是只有硬着头皮去尝试第一个基于接口开发的ejb的第一个查询方法(呵呵最简单了吧).因为一切都是新的,一没有相对完整

集群下使用redis统一session处理

pom依赖(快照版): <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session</artifactId> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>

34J-3_4 corosync集群配置精讲

配置环境 NFS: 192.168.1.121 CentOS6.7 Node1:192.168.1.131 CentOS7.2 Node2:192.168.1.132 CentOS7.2 Node3:192.168.1.133 CentOS7.2 配置前准备 [[email protected] ~]# cat /etc/hosts 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1

Jenkins集群下的pipeline实战

关于Jenkins集群 在<快速搭建Jenkins集群>一文中,我们借助docker快速搭建了Jenkins集群,今天就在这个集群环境中创建pipeline任务,体验Jenkins集群下的并行任务: 环境信息 整个集群环境一共有三台电脑,信息如下: | 主机名 | IP地址 | 作用 | |--|--|--| | master | 192.168.133.131 | Jenkins集群的master节点,提供web服务 | | agent1 | 192.168.133.132 | Jenkin

Hadoop集群上使用JNI,调用资源文件

hadoop是基于java的数据计算平台,引入第三方库,例如C语言实现的开发包将会大大增强数据分析的效率和能力. 通常在是用一些工具的时候都要用到一些配置文件.资源文件等.接下来,借一个例子来说明hadoop上面如何使用JNI.以及调用资源文件. 首先介绍一下ICTClass,ICTClass是中国科学院开发的一个分词软件(ICTClass官网).该套软件采用C/C++编写.ICTClass虽然支持java,但是必须使用到的JNI技术.因此,在使用ICTClass之前需要配置好JNI资源以及IC

Redis源码解析:25集群(一)握手、心跳消息以及下线检测

Redis集群是Redis提供的分布式数据库方案,通过分片来进行数据共享,并提供复制和故障转移功能. 一:初始化 1:数据结构 在源码中,通过server.cluster记录整个集群当前的状态,比如集群中的所有节点:集群目前的状态,比如是上线还是下线:集群当前的纪元等等.该属性是一个clusterState类型的结构体.该结构体的定义如下: typedef struct clusterState { clusterNode *myself; /* This node */ ... int sta

linux集群下 solr集群搭建

首先介绍一下系统架构: * 这个图中代表的是三个solr实例,每个实例包括两个core,组成一个solrcloud * 索引集合包括两个 shard(shard1和shard2),shard1和shard2分别由三个core组成,其中一个L eader两个Replication,Leader是由zookeeper选举产生,zookeeper控制每个shard上三个core的索引数据一致,解决高可用和高并发问题. * Collection在solrcloud集群中是一个索引结构,被划分为一个或多个

分布式集群下的Session存储方式窥探

传统的应用服务器,自身实现的session管理是大多是基于单机的,对于大型分布式网站来说,支撑其业务的远远不止一台服务器,而是一个分布式集群,请求在不同的服务器之间跳转.那么,如何保持服务器之前的session同步呢? 分布式环境下,如果一次请求被负载均衡分配到了服务器A,如果按照一般的方式存储session,在A的本地会存储session,如果此次会话没有结束,下一次的请求被负载均衡到了B服务器(或者其他的非A服务器)那么上次的请求的session信息将不再存在.如果不做任何处理的话,用户将出