Pacemaker 仅仅做资源管理器(CRM)。底下的消息系统採用 corosync。

安装

以 ubuntu 为例,

sudo aptitude install -y pacemaker corosync

配置 corosync

改动 /etc/default/corosync 文件。改动 start=yes,否则服务脚本无法启动。

/etc/corosync/corosync.conf 中,改动 bindnetaddr 的值为节点之间互相通知监听的网段(比如
eth1 所在的 10.0.100.0 网段)。

加入例如以下内容。让corosync 启动的时候也启动 pacemaker(ubuntu 上执行会有 bug,还得是手动启动)。

service {
ver: 0
name: pacemaker}

改动 expected_votes 的值为大于节点数目一半的数字。

运行 corosync-keygen 命令,会生成 /etc/corosync/authkey 文件。该文件和 corosync.conf,分别拷贝到集群的各个成员节点上。

启动 pacemaker 和
corosync

$ sudo service pacemaker restart
$ sudo service corosync restart

假设启动成功了,能够通过 sudo corosync-cmapctl |grep members 或者 sudo
crm status
查看集群中成员的状态。

配置资源信息

在随意一个 node 上运行以下的 crm 配置命令(实际上是通过 CLI 来编辑后面的 XML 文件)。

# crm
crm(live)# configure #进入配置模式
crm(live)configure# verify #校验配置
error: unpack_resources: Resource start-up disabled since no STONITH resources have been defined
error: unpack_resources: Either configure some or disable STONITH with the stonith-enabled option
error: unpack_resources: NOTE: Clusters with shared data need STONITH to ensure data integrity
Errors found during check: config not valid
-V may provide more details
crm(live)configure# property stonith-enabled=false #依据校验情况,关闭 stonith
crm(live)configure# commit # 提交改动
crm(live)configure# verify # 又一次校验
crm(live)configure# primitive web_ip ocf:IPaddr params ip=9.186.100.102 #定义 IP 资源,这个 ip 资源会被主节点配到自己的网卡上
crm(live)configure# primitive nginx_service lsb:nginx #定义服务资源
crm(live)configure# commit
crm(live)configure# group mygroup web_ip nginx_service #定义资源组
crm(live)configure# commit
crm(live)configure# property no-quorum-policy=ignore #投票权不到一半时的策略
crm(live)configure# commit
crm(live)configure# exit

測试

分别在各个节点上启动 nginx,页面填入不同内容。

訪问配置的虚 IP,即 9.186.100.102,查看详细訪问到了哪个节点,然后在该节点上断开 eth1,同一时候删除 eth0:0(假设 enable 了
stonith 能够自己主动完毕。否则要手动解决 split)。过一会又一次查看虚 IP 页面,会发现自己主动变成了其他的节点。

转载请注明:http://blog.csdn.net/yeasy/article/details/46638101

Pacemaker 安装与使用的更多相关文章

  1. ZABBIX冗余架构构筑(Centos6.4+pacemaker+corosync+drbd)

    基本构成: 用pacemaker+corosync控制心跳和资源迁移 用drbd同步zabbix配置文件和mysql数据库 所有软件都用yum安装至默认路径 主机的drbd领域挂载至/drbd,备机不 ...

  2. 理解 OpenStack 高可用(HA) (4): Pacemaker 和 OpenStack Resource Agent (RA)

    本系列会分析OpenStack 的高可用性(HA)概念和解决方案: (1)OpenStack 高可用方案概述 (2)Neutron L3 Agent HA - VRRP (虚拟路由冗余协议) (3)N ...

  3. Corosync+Pacemaker+DRBD+MySQL 实现高可用(HA)的MySQL集群

    大纲一.前言二.环境准备三.Corosync 安装与配置四.Pacemaker 安装与配置五.DRBD 安装与配置六.MySQL 安装与配置七.crmsh 资源管理 推荐阅读: Linux 高可用(H ...

  4. Linux-HA实战(3)— 基于Pacemaker搭建TFS Nameserver HA

    上篇文章简单介绍了下基于Heartbeat的虚拟IP配置,个人觉得简单易用已经能够应付大部分场景了.但是既然花时间研究HA,如果仅限于一个虚拟IP飘来飘去未免有点糊弄任务了,因此这篇文章打算介绍下基于 ...

  5. 配置高可用集群(实验) corosyne+pacemaker

    环境准备: 一准备三个虚拟机,把/etc/hosts/文件配置好                              192.168.43.9 node0                     ...

  6. corosync+pacemaker高可用集群

    高可用集群,是指以减少服务中断(如因服务器宕机等引起的服务中断)时间为目的的服务器集群技术.简单的说,集群就是一组计算机,它们作为一个整体向用户提供一组网络资源.这些单个的计算机系统就是集群的节点. ...

  7. OpenStack中MySQL高可用配置

    采用Heartbeat+DRBD+mysql高可用方案,配置两个节点的高可用集群 l  配置各节点互相解析 gb07 gb06 l  配置各节点时间同步 gb07 [root@gb07 ~]# ntp ...

  8. OpenStack API部分高可用配置(一)

    一.概况与原理  SHAPE  \* MERGEFORMAT 1)所需要的配置组件有:pacemaker+corosync+HAProxy 2)主要原理:HAProxy作为负载均衡器,将对openst ...

  9. MooseFS及其高可用部署

    MooseFS的工作原理分析 MooseFS(下面统一称为MFS)由波兰公司Gemius SA于2008年5月30日正式推出的一款Linux下的开源存储系统,是OpenStack开源云计算项目的子项目 ...

随机推荐

  1. JAVA Native Interface (JNI)

    1.  Introduction At times, it is necessary to use native (non-Java) codes (e.g., C/C++) to overcome ...

  2. JavaSE-28 hashCode()方法、equals()方法和==相关概念

    概述 Java中,Object类是所有类的基类:如果一个类没有明确继承其他已定义的类,则默认继承Object类. Object类提供了以下方法,对于其他方法,请参考前期专题描述. hashCode() ...

  3. 阿里云ECS搭建node/mongodb开发环境及部署

    一.前端的er在window或mac上安装开发环境应该再清楚不过了.但在服务器上安装还是有点不同的,毕竟是 centOS,从此不得不走上用命令操作…… 二.前期准备 1.首先,我们去阿里云网站阿里云服 ...

  4. install mysql at linux

    cd /usr/local wget http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm rpm -ivh mysql5 ...

  5. C# 关于datetime的用法(网上考的)

    实例: 用户输入一个日期,要求输出这个日期是星期几和在这一年中的第几天: 复制代码代码如下: //声明一个DateTime类型的变量用于存放用户输入的日期DateTime dt;Console.Wri ...

  6. java读取nc文件的问题,前端ajax 发送参数进行交互的实例

    1.问题背景: 需要解析nc文件的数据源,获取一个三维数据,并计算器开发值. java 后台处理: 定以一个实例来接收解析的数据并返回给前端. package cn.edu.shou.domain; ...

  7. linux批量检测服务器能否ping通和硬盘容量状态并抛出报警的一个脚本-附详细解释

    有一些linux基础,最近刚开始学shell,参考了阿良老师的一个监测服务器硬盘状态的脚本,自己进行了一些扩展,今天比较晚了,后边会把注释放上来,感觉脚本还很不完善,希望大家一起探讨一下,共同学习 2 ...

  8. PLSQL Developer连接数据库报错ora-12514解决

    连接本地数据库报以上错误,需要修改本地数据库的监听配置文件(如下所示:) 比如我的本地oracle数据库相关文件在E:\app\user\product\11.2.0\dbhome_1下 然后在E:\ ...

  9. [第一波模拟\day1\T2]{分班}(divide.cpp)

    [题目描述] 小N,小A,小T又大了一岁了. 现在,他们已经是高二年级的学生了.众所周知,高二的小朋友是要进行文理科分班考试的,这样子的话,三个好朋友说不定就会不分在一个班. 于是三个人决定,都考平均 ...

  10. String字符串的遍历

    StringTest.java /* * 变量字符串(获取字符串中的每一个字符) */ public class StringTest { public static void main(String ...