server1:
yum install pssh-2.3.1-2.1.x86_64.rpm  crmsh-1.2.6-0.rc2.2.1.x86_64.rpm -y
yum install -y pacemaker corosync
cd /etc/corosync/
cp corosync.conf.example corosync.conf
vim corosync.conf

/etc/init.d/corosync start
server4:
yum install pssh-2.3.1-2.1.x86_64.rpm  crmsh-1.2.6-0.rc2.2.1.x86_64.rpm -y
yum install -y pacemaker corosync
/etc/init.d/corosync start

server1:
[root@server1 ~]# crm
crm(live)# configure
crm(live)configure# show
node server1
node server4
property $id="cib-bootstrap-options" \
 dc-version="1.1.10-14.el6-368c726" \
 cluster-infrastructure="classic openais (with plugin)" \
 expected-quorum-votes="2"
crm(live)configure# property stonith-enabled=false
crm(live)configure# commit
crm(live)configure# primitive vip ocf:heartbeat:IPaddr2 params ip=172.25.8.100 cidr_netmask=32 op monitor interval=1min      ##添加vip并添加监控
crm(live)configure# commit
server4: 监控
com_mon

server4:
crm(live)configure# cd
crm(live)# node
crm(live)node# show
server1: normal
server4: normal
crm(live)node# standby  ##停止
crm(live)node# online   ##开启
crm(live)node# bye
此时不会枪走现运行的节点
但是因为集群至少有2个节点
所以会当一个服务停止后,服务会挂掉
此时修改策略
server1:
crm
crm(live)# configure
crm(live)configure# property no-quorum-policy=ignore       ##忽略节点数的检测
crm(live)configure# commit
此时停止节点之后剩下的另一个服务仍可继续运行

在物理机中开启fence_virtd 服务
server1:
[root@server1 corosync]# crm
crm(live)# configure
crm(live)configure# primitive web
lsb:      ocf:      service:  stonith: 
crm(live)configure# primitive web
lsb:      ocf:      service:  stonith: 
crm(live)configure# primitive web lsb:httpd op monitor interval=1min
crm(live)configure# commit
crm(live)configure# group webgroup vip web      ##创建一个资源管理组
crm(live)configure# commit
crm(live)configure# bye
server4:
crm_mon

server1:
[root@server1 ~]# crm
crm(live)# configure
crm(live)configure# primitive vmfence stonith:fence_xvm params pcmk_host_map="server1:vm1;server4:vm4" op monitor interval=1min         ##添加fence服务(首先确定物理机的fence服务是否开启)
crm(live)configure# commit
crm(live)configure# property stonith-enabled=true
crm(live)configure# commit
crm(live)configure# bye
server4:
crm_mon
截图
 

server2:
/etc/init.d/tgtd start
server1:
iscsiadm -m discovery -t st -p 172.25.8.2
iscsiadm -m node -l
mkfs.ext4 /dev/sda1
测试一下挂载是否ok
server1:
mount /dev/sda1 /var/www/html/
[root@server1 ~]# cd /var/www/html/
[root@server1 html]# vim index.html
cd
umount /var/www/html/
server4:
iscsiadm -m discovery -t st -p 172.25.8.2
iscsiadm -m node -l
mkfs.ext4 /dev/sda1
mount /dev/sda1 /mnt
ls /mnt             ##查看是否有server1中写入的文件,有就ok
umount /mnt
server1:
[root@server1 ~]# crm
crm(live)# resource
crm(live)resource# show
 Resource Group: webgroup
     vip (ocf::heartbeat:IPaddr2): Started
     web (lsb:httpd): Started
 vmfence (stonith:fence_xvm): Started
crm(live)resource# stop webgroup
crm(live)resource# show
 Resource Group: webgroup
     vip (ocf::heartbeat:IPaddr2): Stopped
     web (lsb:httpd): Stopped
 vmfence (stonith:fence_xvm): Started
crm(live)resource# cd
crm(live)# configure
crm(live)configure# primitive webdata ocf:heartbeat:Filesystem params device=/dev/sda1 directory=/var/www/html  fstype=ext4 op monitor interval=1min
crm(live)configure# edit

crm(live)configure# commit
crm(live)configure# delete webgroup
crm(live)configure# commit
crm(live)configure# group webgroup vip webdata web
crm(live)configure# commit

server4:
crm_mon

测试:
/etc/init.d/corosync stop

此时将server1服务关闭后,server4会自动接管服务,
但是当server1重新启动后,节点资源会重新回到server1
/etc/init.d/corosync start

为了防止这种情况,我们需要继续添加些策略
server1:
[root@server1 ~]# crm
crm(live)# configure
crm(live)configure# rsc_defaults resource-stickiness=100
crm(live)configure# commit
crm(live)configure# bye
此时再将server1的服务停下,再次重启后发现节点资源不会浮动,仍由server4管理
 
 

pacemaker +corosync高可用的更多相关文章

  1. CentOS7/RHEL7 pacemaker+corosync高可用集群搭建

     TOC \o "1-3" \h \z \u 一.集群信息... PAGEREF _Toc502099174 \h 4 08D0C9EA79F9BACE118C8200AA004B ...

  2. corosync+pacemaker实现高可用(HA)集群

    corosync+pacemaker实现高可用(HA)集群(一)     重要概念 在准备部署HA集群前,需要对其涉及的大量的概念有一个初步的了解,这样在实际部署配置时,才不至于不知所云 资源.服务与 ...

  3. 高可用服务之Keepalived基础入门

    前面我们聊了聊高可用集群corosync+pacemaker的相关概念以及相关工具的使用和说明,回顾请参考https://www.cnblogs.com/qiuhom-1874/category/18 ...

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

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

  5. corosync+pacemaker and drbd实现mysql高可用集群

    DRBD:Distributed Replicated Block Device 分布式复制块设备,原理图如下 DRBD 有主双架构和双主架构的,当处于主从架构时,这个设备一定只有一个节点是可以读写的 ...

  6. zabbix 3.2 高可用实现方式二-pacemaker+corosync实现zabbix高可用集群

    一.pacemaker 是什么 1.pacemaker 简单说明 2.pacemaker 由来 二.pacemaker 特点 三.pacemaker 内部结构 1.群集组件说明: 2.功能概述 四.c ...

  7. http高可用+负载均衡 corosync + pacemaker + pcs

    http高可用+负载均衡 corosync + pacemaker + pcsopenstack pike 部署 目录汇总 http://www.cnblogs.com/elvi/p/7613861. ...

  8. CentOS 6.5环境实现corosync+pacemaker实现DRBD高可用

    DRBD (Distributed Replicated Block Device)分布式复制块设备,它是 Linux 平台上的分散式储存系统,通常用于高可用性(high availability, ...

  9. CentOS 6.5使用Corosync + pacemaker实现httpd服务的高可用

    Corosync:它属于OpenAIS(开放式应用接口规范)中的一个项目corosync一版本中本身不具备投票功能,到了corosync 2.0之后引入了votequorum子系统也具备了投票功能了, ...

随机推荐

  1. MySQL数据库引擎简介

    简单说,当你访问数据库时,不管是手工访问,还是程序访问,都不是直接读写数据库文件,而是通过数据库引擎去访问数据库文件.以关系型数据库为例,你发SQL语句给数据库引擎,数据库引擎解释SQL语句,提取出你 ...

  2. 关于TortoiseGit设置代理服务器会自动取消的问题解决方法

    在前些日子,我使用TortoiseGit的并给其设置代理服务器的时候,每次设置好之后,关闭打开总是会自动取消勾选,通过不断的尝试和分析之后,得出了解决方案. 首先,这个配置项是保存在HOME环境变量对 ...

  3. Webview离线功能(优先cache缓存+cache缓存管理)

    在做Webview显示服务器的html功能时 需要加入离线功能. 开始思路很狭隘,以为一定应该是从服务器得到的html文件,下载到本地后加载~ 但是这样不能离线查看图片,因为图片数据并不再html中, ...

  4. JAVA面向接口的编程思想与具体实现

    面向对象设计里有一点大家已基本形成共识,就是面向接口编程,我想大多数人对这个是没有什么觉得需要怀疑的.        问题是在实际的项目开发中我们是怎么体现的呢? 难道就是每一个实现都提供一个接口就了 ...

  5. Opengl创建几何实体——四棱锥和立方体

    //#include <gl\glut.h>#include <GL\glut.h>#include <iostream> using namespace std; ...

  6. python2 and python3 difference - division

    1. python2 2. python3 3.from python environment import py3 features

  7. C语言-郝斌笔记-006排序及查找

    1. int partion(int *a, int low, int high) { int value = a[low]; int t; while (low < high) { while ...

  8. p1129 [ZJOI2007]矩阵游戏

    传送门 分析 不难想到将黑点的行列连边,然后判断最大匹配是否等于n 代码 #include<iostream> #include<cstdio> #include<cst ...

  9. 获取iframe自适应后的宽高

    1.同域 一:引入jquery <script type="text/javascript" src="../jquery.min.js">< ...

  10. Django框架 之 ORM 常用字段和参数

    Django框架 之 ORM 常用字段和参数 浏览目录 常用字段 字段合集 自定义字段 字段参数 DateField和DateTimeField 关系字段 ForeignKey OneToOneFie ...