Pacemaker

Server1 172.25.23.1节点1

Server2 172.25.23.2节点2

Server3 172.25.23.3做存储分离的

VIP 172.25.23.100

Selinux iptables 关掉 做解析及时间同步

1.安装软件

将原来做的实验全部停掉防止干扰如keepalived.....

Server1 server2 获取安装包

crmsh-1.2.6-0.rc2.2.1.x86_64.rpm  pssh-2.3.1-2.1.x86_64.rpm

安装好pacemaker后就没有crm shell命令行工具我们得单独安装即yum installcrmsh

yum install -y crmsh-1.2.6-0.rc2.2.1.x86_64.rpm pssh-2.3.1-2.1.x86_64.rpm

yum install -y pacemaker corosync

2.修改配置文件

cd /etc/corosync

cp corosync.conf.example corosync.conf

vim corosync.conf

---->

compatibility: whitetank

totem {

version: 2# totme的版本

secauth: off# 安全认证

threads: 0# 安全认证开启并行线程数

interface {

ringnumber: 0# 回环数

bindnetaddr: 172.25.23.0 # 网段地址

mcastaddr: 226.94.1.1# 心跳信息组播地址

mcastport: 5428 # 同一个广播域的要不同

ttl: 1

}

}

logging {

fileline: off

to_stderr: no

to_logfile: yes

to_syslog: yes

logfile: /var/log/cluster/corosync.log

debug: off

timestamp: on

logger_subsys {

subsys: AMF

debug: off

}

}

amf {

mode: disabled

}

service {

name: pacemaker# 添加的服务名

ver: 0# 0:启动corosync时会自动启动pacemaker以插件的方式来启动不是以脚本的方式来启动,1:不会自动启动

}

scp corosync root@172.25.23.2:/etc/corosync

/etc/init.d/corosync start# server1和server2都启动服务

tail -f /var/log/messages

3.在物理机上配置fence_xvm.key并启动服务查看1229是否启动

systemctl start fence_virtd

在server1和server2

yum install -y fence-virt

stonith_admin -I #查看安装的fence相关软件主要有fence_xvm

stonith_admin -a fence_xvm -M #查看相关的配置内容

4.基本指令

crm_mon  #查看在线情况

crm_verify  -LV #检测是否有语法错误

crm status#查看状态

crm #输入crm命令进入资源配置模式

crm(live)# help #输入help查看一下会出现很多子命令

crm(live)# configure #输入configure就会进入configure模式下

crm(live)configure# help node #输入help加你想了解的任意命令就会显示该命令的使用帮助与案例

crm(live)# standby#令该节点挂掉

注简单说不会的命令help一下

5.配置高可用的Web集群

(1)做映射

# commit提交配置的资源在命令行配置资源时只要不用commit提交配置好资源就不会生效一但用commit命令提交就会写入到cib.xml的配置文件中

[root@server1 corosync]# crm

(2)添加VIP

[root@server1 cluster]# /etc/init.d/corosync restart

(3)当一台机器挂掉之后另一台接管VIP

[root@server1 cluster]# crm

vim /etc/httpd/conf/httpd.conf

(4)添加apache服务

[root@server1 cluster]# crm

# warnning为设置的时间过长

[root@server1 cluster]# crm_mon

(5)VIP 和服务不在同一个机子上需要进行绑定将website服务和 VIP 两个绑定

[root@server1 cluster]# /etc/init.d/corosync resatrt

[root@server1 cluster]# crm_mon

测试Server2 down了之后由server1接管

[root@server2 corosync]# /etc/init.d/corosync stop

3.存储分离iscsi

1.在服务端新建一个新的磁盘

vim /etc/tgt/targerts.conf

......

<target iqn.2016-07.com.example:storage1>

backing-store /dev/vda1

initiator-address 172.25.23.1

initiator-address 172.25.23.2

</target>

......

tgt-admin -s

......

Backing store type: rdwr

Backing store path: /dev/vda1

Backing store flags:

Account information:

ACL information:

172.25.23.1

172.25.23.2

2.两边同步server1 server2

[root@server1 cluster]# iscsiadm -m discovery -t st -p 172.25.23.3

Starting iscsid:                                           [  OK  ]

172.25.23.3:3260,1 iqn.2016-07.com.example:storage1

[root@server1 cluster]# iscsiadm -m node -l

Logging in to [iface: default, target: iqn.2016-07.com.example:storage1, portal: 172.25.23.3,3260] (multiple)

Login to [iface: default, target: iqn.2016-07.com.example:storage1, portal: 172.25.23.3,3260] successful.

[root@server1 cluster]# fdisk -l  #检测出多了一个sdb

[root@server1 cluster]# fdisk /dev/sdb

......

[root@server1 cluster]# partprobe

[root@server1 cluster]# cat /proc/partpitions

......

8       16    8388544 sdb

8       17    8387568 sdb1 #发现 sdb1

[root@server1 cluster]# mkfs.ext4 /dev/sdb1

(2)添加存储

[root@server1 cluster]# crm

[root@server1 cluster]# crm_mon

(3) VIP 服务 存储不在一台机子上进行绑定设置新的资源组apacheservice将VIP webdata website绑定在一起并且确定先后的启动顺序

[root@server1 cluster]# crm_mon

(4)测试

在被挂载的主机上添加测试页

echo hello > /var/www/html/index.html

访问的时候会一直访问这个测试页不管如何刷新服务如何停止

问题

出现这种情况时注意启动物理机中的fence虚拟机中再重新启动corosync

补充

从上面的信息中可以看出vip和httpd有可能会分别运行于两个节点上这对于通过此IP提供Web服务的应用来说是不成立的即此两者资源必须同时运行在某节点上。有两种方法可以解决一种是定义组资源将vip与httpd同时加入一个组中可以实现将资源运行在同节点上另一种是定义资源约束可实现将资源运行在同一节点上。

定义组资源 group webservice vip httpd

定义资源约束

crm(live)configure #colocation httpd-with-ip INFUNTY: httpd vip

接着我们还得确保httpd在某节点启动之前得先启动vip这可以使用如下命令实现

crm(live)configure# order httpd-after-vip mandatory: vip httpd

删除组资源操作

crm(live)# resource

crm(live)resource# show

crm(live)resource# stop webservice  #停止资源

crm(live)resource# show

crm(live)resource# cleanup webservice  #清理资源

crm(live)# configure

crm(live)configure# delete

crm(live)configure# delete webservice #删除组资源

crm(live)configure# commit

定义约束使资源运行在同一节点上。首先我们来回忆一下资源约束的相关知识资源约束则用以指定在哪些群集节点上运行资源以何种顺序装载资源以及特定资源依赖于哪些其它资源。pacemaker共给我们提供了三种资源约束方法

Resource Location资源位置定义资源可以、不可以或尽可能在哪些节点上运行

Resource Collocation资源排列排列约束用以定义集群资源可以或不可以在某个节点上同时运行

Resource Order资源顺序顺序约束定义集群资源在节点上启动的顺序

定义约束时还需要指定分数。各种分数是集群工作方式的重要组成部分。其实从迁移资源到决定在已降级集群中停止哪些资源的整个过程是通过以某种方式修改分数来实现的。分数按每个资源来计算资源分数为负的任何节点都无法运行该资源。在计算出资源分数后集群选择分数最高的节点。INFINITY无穷大目前定义为 1,000,000。加减无穷大遵循以下3个基本规则

任何值 + 无穷大 = 无穷大

任何值 - 无穷大 = -无穷大

无穷大 - 无穷大 = -无穷大

定义资源约束时也可以指定每个约束的分数。分数表示指派给此资源约束的值。分数较高的约束先应用分数较低的约束后应用。通过使用不同的分数为既定资源创建更多位置约束可以指定资源要故障转移至的目标节点的顺序。因此对于前述的vip和httpd可能会运行于不同节点的问题可以通过以下命令来解决

crm(live)configure #colocation httpd-with-ip INFUNTY: httpd vip

接着我们还得确保httpd在某节点启动之前得先启动vip这可以使用如下命令实现

crm(live)configure# order httpd-after-vip mandatory: vip httpd

此外由于HA集群本身并不强制每个节点的性能相同或相近。所以某些时候我们可能希望在正常时服务总能在某个性能较强的节点上运行这可以通过位置约束来实现

crm(live)configure# location prefer-node1 vip node_pref::200: node1

转载于:https://blog.51cto.com/11851085/1851685

pacemaker+corosync相关推荐

  1. Pacemaker+Corosync PostgreSQL流复制HA的部署(pha4pgsql)

    简介 在众多的PostgreSQL HA方案中,流复制HA方案是性能,可靠性,部署成本等方面都比较好的,也是目前被普遍采用的方案.而用于管理流复制集群的工具中,Pacemaker+Corosync又是 ...

  2. pacemaker+corosync 搭建一主两从PG集群

    一.OS配置 1.1环境规划 环境:centos 7 数据库:pg11.5 ip地址: node1  10.122.166.120  node2  10.122.166.127  node3  10. ...

  3. pacemaker+corosync+pg13

    pacemaker+corosync+pg13的搭建大体内容可以参考上一篇的pacemaker+corosync+pg11的搭建,对于pg13的或者说是pg12以及以上版本,需要更新resource- ...

  4. pacemaker +corosync

    pacemaker是一个集群资源管理器.利用集群基础构件(OpenAIS,heartbeat和corosync)提供的消息和成员管理能力来探测并从节点或者资源级别的故障中恢复,以实现集群服务的最大可用 ...

  5. Pacemaker+Corosync+Mfs+Iscsi+Fence实现高可用和Fence管理

    前言: 分布式文件系统(DIstributed File System)     时值文件系统管理的物理存储资源不一定直接连接在本地 的节点上,而是通过计算机网络与节点相连,简单的来讲,就是把一些分散 ...

  6. 【PostgreSQL基于Pacemaker+Corosync+pcs的高可用】

    地址信息 172.20.10.6 pg01 172.20.10.7 pg02 172.20.10.8 pg03 172.20.10.9 vip-master 172.20.10.10 vip-slav ...

  7. NFS HA架构部署(NFS + Pacemaker + Corosync + DRBD)

    NFS HA架构部署(NFS + Pacemaker + Corosync + DRBD) 环境:kvm虚拟机2台 OS:CentOS7.6 Kernel: Linux 3.10.0-957.21.3 ...

  8. postgresql 高可用 pacemaker + corosync 之二 setup vip-mas ,vip-sla 均绑定在 master

    os: ubuntu 16.04 db: postgresql 9.6.8 pacemaker: Pacemaker 1.1.14 Written by Andrew Beekhof corosync ...

  9. pacemaker corosync 高可用

    说到高可用,我们可能会用heartbeat和keepalived,也可能会用corosync+pacemaker,但他们之间有什么区别呢?我们在此主要谈下heartbeat和corosync+pace ...

最新文章

  1. 别再用ls、cat命令了,这有一套全新升级版,简洁快速还易上手
  2. python连接字符串的join
  3. 并发下常见的加锁及锁的PHP具体实现-转载
  4. python gui打包exe pyinstaller打包运行失败 Failed to execute script pyi_rth_multiprocessing
  5. 执行SQL-MapperMethod.execute()
  6. springboot 配置webservice接口
  7. date转timestamp格式_技术分享 | MySQL:timestamp 时区转换导致 CPU %sy 高的问题
  8. web项目java程序的作用_基础知识(javaWeb工程目录结构)及各文件夹的作用
  9. 《区块链技术指南》电子书推荐!
  10. Pr人像视频后期处理磨皮美白插件工具素材【汉化】
  11. 【python使用】使用python读取mid/mif文件,高精地图解析
  12. 用计算机计算教学反思,《用计算器计算》的教学反思
  13. 比较程序查询方式、程序中断方式、DMA方式对CPU工作效率的影响
  14. 电脑c盘格式化,如何恢复C盘文件?
  15. android 根据宽度调整字体大小,android 字体大小 根据分辨率 自动调整
  16. 如何用计算机放出音乐,怎么在电脑上播放音乐
  17. python循环代码优化技巧_记一次优化python循环代码逻辑的过程
  18. 【必会系列】c语言转义字符
  19. 微信小程序——用户登录模块服务器搭建
  20. ElasticSearch(简称ES)的概念

热门文章

  1. Python基础教程学习笔记:第二章 列表和元组
  2. order by居然不能直接在union子句中使用
  3. Js 模拟鼠标点击事件
  4. 3.4.1 变量初始化
  5. bzoj1051 [HAOI2006]受欢迎的牛 tarjan缩点
  6. JS_鼠标移入移出渐变效果(类似css3中的transition或animation和@keyframes)
  7. Mac OS X中配置Apache
  8. 使用SampleGrabber过滤器扑获图像
  9. js+正文规则 高亮搜索关键字(二)
  10. asp.net表单提交方法GET\POST