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. python数组中数据位置交换 -- IndexError: list assignment index out of range

    代码: t = [-10,-3,-100,-1000,-239,1] # 交换 -10和1的位置 t[5], t[t[5]-1] = t[t[5]-1], t[5] 报错: IndexError: l ...

  2. 第一章:systemverilog简介

    1.为何要学systemverilog ..... 2.systemverilog起源 ..... 3.systemverilog标准历程 systemverilog3.0 for 综合 system ...

  3. python基础知识04-散列类型运算优先级和逻辑运算

    散列类型 1.集合 定义集合 se = {1,2,3,4} se = set()定义空集合 se = {1,3,5,7} se2 = {1,3,8,9} se & se2 {1,3} 交集 s ...

  4. CSRF verification failed. Request aborted. 表单提交方法为POST时的报错

    本人所用Django版本为1.11,在设置请求方法为POST时,遇到标题中的错误,尝试了多种方法,最终通过下面的操作来修复: 在template文件中添加图中红框部分 接着,导入csrf_exempt ...

  5. C语言学习13

    快速排序 //快速排序 #include <stdio.h> void quicksort(int a[], int left, int right); void main() { ] = ...

  6. 线性结构4 Pop Sequence

    02-线性结构4 Pop Sequence(25 分) Given a stack which can keep M numbers at most. Push N numbers in the or ...

  7. MySQL索引与Index Condition Pushdown(二)

    实验 先从一个简单的实验开始直观认识ICP的作用. 安装数据库 首先需要安装一个支持ICP的MariaDB或MySQL数据库.我使用的是MariaDB 5.5.34,如果是使用MySQL则需要5.6版 ...

  8. 使用MyBatista----上传图像

    使用MyBatis上传图像,使用的是Oracle的数据库表,有一个TEACHER表,有7列,有1列是存储图片的,类型用BLOB,最大容量是4G,以二进制的形式写入数据库表. 建立这个表的对应实体类Te ...

  9. String类型根据逗号分隔转为list

    String ids = pd.getString("IDS");//从pd里取出字符串 List idList = Arrays.asList(ids.split(", ...

  10. 一个爬取lativ诚衣网站上模特穿搭图片的爬虫

    show the code: [peter@localhost savvy]$ vi lativ.py # -*- coding:utf-8 -*- import requests,lxml,os f ...