Cororsync+Pacemaker
Corosync是OpenAIS发展到Wilson版本后衍生出来的开放性集群引擎工程。可以说Corosync是OpenAIS工程的一部分,Corosync执行高可用应用程序的通信组系统,它有以下特征: 一个封闭的程序组通信模式,这个模式提供一种虚拟的同步方式来保证能够复制服务器的状态。
一个简单可用性管理组件,这个管理组件可以重新启动应用程序的进程当它失败后。
一个配置和内存数据的统计,内存数据能够被设置,回复,接受通知的更改信息。
一个定额的系统,定额完成或者丢失时通知应用程序。
corosync是高可用集群中的Cluster Messaging Layer(集群信息层),是主要传递发集群信息与心跳信息的,并没有资源管理功能,资源管理还得依赖于上层的crm(Cluster resource Manager,集群资源管理器),最著名的资源管理器,就是pacemaker,它是heartbeat v3分离出去的子项目。而现在corosync+pacemaker成了高可用集群中的最佳组合。
pacemaker是一个群集资源管理器。它实现最大可用性群集服务(亦称资源管理)的节点和资源级故障检测和恢复使用。 它可以做乎任何规模的集群,并配备了一个强大的依赖模型,使管理员能够准确地表达群集资源之间的关系(包括顺序和位置)。几乎任何可以编写脚本,可以管理作为心脏起搏器集群的一部分。 pacemaker是个资源管理器,不是提供心跳信息的,pacemaker是一个延续的CRM(亦称Heartbeat V2资源管理器),最初是为心跳,但已经成为独立的项目。
pacemaker 特点
1.主机和应用程序级别的故障检测和恢复
2.几乎支持任何冗余配置
3.同时支持多种集群配置模式
4.配置策略处理法定人数损失(多台机器失败时)
5.支持应用启动/关机顺序
6.支持在同一台机器上运行的应用程序
7.支持多种模式的应用程序(如主/从)
8.可以测试任何故障或群集的群集状态
配置pacemaker有两种配置途径,一时命令行工具包括crm和pcs,二是图形工具:pugui,LCMC,pcsd和mgmt,其中LCMC是java编写的图形管理界面;Hawk是官方推荐代替mgmt的web界面配置工具,pcsd是pcs的图形界面。
从pacemaker1.1.8开始crmsh就作为一个独立项目不再提供需要另行下载。
crm有两种工作方式:
1.批处理模式就是在命令行中直接输入命令(如执行crm status)
2.交互式模式:运行crm,进入crm(live)# , 按2次Tab键可显示该层级所有指令
crm中常用一级命令:
configure 用于设置具体参数
resource 对已定义资源进行各种操作
ra resource agents center, 可查看哪些resource agent可供使用
cib 类似于configure,只是操作的是cib shadow
node 对节点进行各类操作
status 显示集群状态信息
cd 返回上一级
Ctrl+c 退出
configure中的指令
show 查看当前配置
verify 检查当前配置是否正确, 相当于crm_verify -L
commit 提交配置使配置生效,修改后没提交系统不会保存更改的信息
delete 删除某项配置, name为该项的名称
edit 编辑某项配置,name为该项的名称
primitive 定义资源
monitor 资源检视
group 创建组资源,将几项资源编成一组
clone 克隆已建的资源
ms/master 定义master/slave资源
primitive中参数说明
资源代理类型: lsb, ocf, stonith, service
资源代理的提供程序: heartbeat , pacemaker
资源代理名称:即resource agent, 如:IPaddr2,httpd, mysql
meta--元属性, 是可以为资源添加的选项。它们告诉 CRM 如何处理特定资源。
params--实例属性,是特定资源类的参数,用于确定资源类的行为方式及其控制的服务实例。
op--操作,默认情况下,群集不会确保您的资源一直正常。要指示群集确保资源状况依然正常,需要向资源的定义中添加一个监视操作monitor。可为所有类或资源代理添加monitor。
op_type :包括 start,stop,monitor
interval :执行操作的频率。单位:秒。
timeout : 需要等待多久才声明操作失败。
requires :需要满足什么条件才能发生此操作。允许的值:nothing、quorum 和 fencing。默认值取决于是否启用屏障和资源的类是否为 stonith。对于 STONITH 资源,默认值为 nothing。
on-fail :此操作失败时执行的操作。允许的值:
ignore:假装资源没有失败。
block:不对资源执行任何进一步操作。
stop:停止资源并且不在其他位置启动该资源。
restart:停止资源并重启动。
fence:关闭资源失败的节点 (STONITH)。
standby:将所有资源从资源失败的节点上移走。
enabled 如果值为 false,将操作视为不存在。允许的值:true、false。
下面是pacemaker的配置
yum install pacemaker cd /etc/corosync/ cp corosync.conf.example corosync.conf vim corosync.confbindnetaddr: 172.25.9.0 #设定网段mcastaddr: 226.94.1.1 #多波地址mcastport:5405 #多波端口 service{name:pacemaker #添加pacemaker服务ver:0 #0为启动corsync时自动启动pacemaker服务,1为不接管服务 }
在其他节点做相同配置
启动corosync
/etc/init.d/corosync start crm_verify -LV #查看配置文件是否正确 crm_mon #查看节点状态
安装crm命令来配置pacemaker
yum install crmsh-1.2.6-0.rc2.2.1.x86_64.rpm pssh-2.3.1-2.1.x86_64.rpm -y crm #进入crm交互界面configure show#查看当前配置
忽略法定节点数:(集群不会以为节点不够而失效)
property no-quorum-policy=ignore commi #将修改同步到其他节点
添加fence(要安装cman)
primitive vmfence stonith:fence_xvm params pcmk_host_map="server2.example.com:vm2;server3.example.com:vm3" op monitor interval=1min #server2/3.example.com是节点名,vm2/3为虚拟机名称 commi #将修改同步到其他节点
用show命令可以看到fence的添加
添加vip
primitive vip ocf:heartbeat:IPaddr2 params ip=172.25.9.100 cidr_netmask=32 op monitor interval=30s commi #将修改同步到其他节点
用crm_mon命令可以看到vip在server2主机上
添加apache服务
primitive httpd ocf:heartbeat:apache params configfile=/etc/httpd/conf/httpd.conf op monitor interval=30s commi #将修改同步到其他节点
用crm_mon命令可以看到apache运行在server3主机上
注意为了监控Apache的健康状态,并在它挂掉的时候恢复Apache服务,server-status URL是可用的:
vim /etc/httpd/conf/httpd.conf<Location /server-status>SetHandler server-status Order deny,allowAllow from 127.0.0.1</Location>
粘滞服务(使得服务与vip在同一主机上运行)
colocation httpd-with-ip inf: httpd vip #方法一 group apache vip httpd #方法二 commi #将修改同步到其他节点
用crm_mon命令可以看到vip和apache都运行在server2主机上
做完实验我们可以用delete apache 和delete httpd删除apache组和服务
用drdb同步存储
primitive sqldata ocf:linbit:drbd params drbd_resource=westos op monitor interval=60s ms sqldataclone sqldata meta master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true
用crm_mon命令可以看到drdb已加入集群:
挂载文件系统
primitive sqlfs ocf:heartbeat:Filesystem params device=/dev/drbd1 directory=/var/lib/mysql fstype=ext4 colocation sqlfs_on_drbd inf: sqlfs sqldataclone:Master order sqlfs-after-sqldata inf: sqldataclone:promote sqlfs:start
用crm_mon命令可以看到文件系统已挂载
添加mysql服务
primitive mysql lsb:mysqld op monitor interval=60s group mygroup vip sqlfs mysql #将vip,文件系统,mysql进行粘滞
转载于:https://blog.51cto.com/12107560/1907662
Cororsync+Pacemaker相关推荐
- c++中的对象引用(object reference)与对象指针的区别
2019独角兽企业重金招聘Python工程师标准>>> ★ 相同点: 1. 都是地址的概念: 指针指向一块内存,它的内容是所指内存的地址:引用是某块内存的别名. ★ 区别: 1. 指 ...
- corosync+pacemaker+crm简单配置
# 系统 centos7.2 安装版本都是Yum源 node1: 192.168.8.111 node2:192.168.8.112 vip :192.168.8.200 nfs ...
- AI创业成功公式:数据×数据+机器学习能力+算法
投资者最关注的事情之一就是创业者是否找到了自己的护城河.以及,在未来岁月里,你的护城河是否越挖越深.在AI时代,一家希望在AI领域创业成功的公司的护城河是什么?不是算法,不是数据,而是数据的平方. 这 ...
- 统计学习三要素 模型+策略+算法
统计学习方法都是由模型. 策略和算法构成的. 即统计学习方法由三要素构成, 可以简单地表示为:方法=模型+策略+算法 模型 统计学习首要考虑的问题是学习什么样的模型. 在监督学习过程中, 模型就是所要 ...
- 计算机网络与通信pdf谢希仁_考研刷题资料谢希仁《计算机网络》(第7版)配套题库【考研真题精选(部分视频讲解)+章节题库】...
谢希仁<计算机网络>(第7版)配套题库[考研真题精选(部分视频讲解)+章节题库] 本书是谢希仁<计算机网络>(第7版)教材的配套题库,主要包括以下内容: 第一部分为考研真题精选 ...
- HDU 4358 树状数组+思路
http://acm.hdu.edu.cn/showproblem.php?pid=4358 如图所示,当k==3时,如果我们扫描到红线所在的位置. 则符合条件的区间就是从红线到两条紫线所包含的区间( ...
- 在线转flv+flash在线录制视频
需要用到的组件 ASPExec mencoder ffmpeg.exe 第一步骤: 在线转换 Set Executor = Server.CreateObject("ASPExec.Exec ...
- c语言运行时显示内存不足,请问:c或c++运行时 遇到虚拟内存不足时咋办,帮优化下代码...
请问:c或c++运行时 遇到虚拟内存不足时咋办,帮优化下代码 [size=4][size=5]我编的一个高精度解hilbert方程组的程序段,用的是GS跌代,但运行时出现"虚拟内存不足&qu ...
- 【old】mapX距离工具源码,delphi7+mapx5.0
delphi7+mapx5开发的测量距离工具,界面和mapinfo一样,使用十分简单. Author: 杜长宇 junqilian@163.com Purpose: 量距离工具 History: 20 ...
最新文章
- 【iOS】日历行程的增删改查(完整)
- VIP群第一期讲座实屏片段摘录
- php 淘宝客接口开发,如何使用PHP的curl函数调用维易淘客接口
- 吴恩达《机器学习》学习笔记八——逻辑回归(多分类)代码
- [转][进阶]-Python3 异步编程详解
- 批量部署windows和linux系统,使用Cobbler批量部署Linux和Windows:Windows系统批量安装(三)...
- U盘容量变小后修复的方法
- Linux驱动开发|PWM驱动
- 广告中cpm,ecpm,rpm指标含义
- js-xlsx使用-解析生成xlsx文件
- VMware Workstation 与 Device/Credential Guard 不兼容.在禁用 Device/Credenti
- 用FAI制作debian自动安装盘
- 【近几天电脑经常蓝屏后重启,蓝屏时提供错误代码,本文是解决电脑蓝屏问题的记录,看到最后希望对大家有用。】
- 软考中级【数据库系统工程师】第1章:计算机系统知识,自学软考笔记,备考2022年5月份软考,计算机硬件系统CPU组成指令寄存器组总线输入输出的程序控制方式计算机体系结构与存储系统加密技术流水线技术
- C++ 之父 Bjarne Stroustrup : 简单的表述方式才是最优的方案
- linux chrome 硬件加速,在Chrome上开启硬件加速和预先渲染的方法技巧
- 使用自定义RRT*全局规划器建图导航
- 天津医大二院信息化办公室主任志翔:双机保护不是万能的
- 刷了一个半月算法题,我薪资终于Double了
- 2010 年 博文汇总