企业之pacemaker

pacemaker,是一个群集资源管理器。它实现最大可用性群集服务(亦称资源管理)的节点和资源级故障检测和恢复使用您的首选集群基础设施(OpenAIS的或Heaerbeat)提供的消息和成员能力。
它可以做乎任何规模的集群,并配备了一个强大的依赖模型,使管理员能够准确地表达群集资源之间的关系(包括顺序和位置)。几乎任何可以编写脚本,可以管理作为心脏起搏器集群的一部分。

pacemaker的特点:

  • 主机和应用程序级别的故障检测和恢复
  • 几乎支持任何冗余配置
  • 同时支持多种集群配置模式
  • 配置策略处理法定人数损失(多台机器失败时)
  • 支持应用启动/关机顺序
  • 支持,必须/必须在同一台机器上运行的应用程序
  • 支持多种模式的应用程序(如主/从)
  • 可以测试任何故障或群集的群集状态
  • primitive(native):基本资源,原始资源
  • group:资源组
  • clone:克隆资源(可同时运行在多个节点上),要先定义为primitive后才能进行clone。主要包含STONITH和集群文件系统(cluster filesystem)
  • master/slave:主从资源,如drdb
  • Lsb:linux表中库,一般位于/etc/rc.d/init.d/目录下的支持start|stop|status等参数的服务脚本都是lsb
  • ocf:Open cluster Framework,开放集群架构
  • heartbeat:heartbaet V1版本
  • stonith:专为配置stonith设备而用

172.25.85.2 server2.example.com(1024)
172.25.85.3 server3.example.com(1024)

1. server2/3:
   /etc/init.d/ldirectord stop
   chkconfig ldirectord off
   yum install pacemaker -y
   rpm -q corosync

server2:
  cd /etc/corosync
  cp corosync.conf.example  corosync.conf

vim /etc/corosync/corosync.conf

bindnetaddr: 172.25.85.0
service {
         name: pacemaker
         ver: 0
}

scp /etc/corosync/corosync.conf [email protected]:/etc/corosync/

/etc/init.d/corosync start
    crm_verify -LV                       ##检测配置文件是否正确

server3:
   /etc/init.d/corosync start
   tail -f /var/log/messages

2. server2:
   yum install crmsh-1.2.6-0.rc2.2.1.x86_64.rpm  pssh-2.3.1-2.1.x86_64.rpm
 
   crm

crm(live)configure# property no-quorum-policy=ignore         
##将修改同步到其他节点
crm(live)configure# commit

vim /etc/httpd/conf/httpd.conf

<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
</Location>

crm

crm(live)configure# 
primitive vip ocf:heartbeat:IPaddr2 params ip=172.25.85.100 crm(live)configure# primitive vip ocf:heartbeat:IPaddr2 params ip=172.25.85.100 cidr_netmask=32  op monitor interval=30s
 
primitive website ocf:heartbeat:apache params configfile=/etc/httpd/conf/httpd.conf  op monitor interval=60s  
crm(live)configure# commit

可以使用crm_mon查看:

crm(live)configure# collocation website-with-ip inf: website vip   
                                         ##将这两个资源整合到一个主机上

crm(live)configure# commit

crm(live)configure# delete website-with-ip
crm(live)configure# commit

crm(live)configure# group apache vip website                        
                                         ##创建一个资源组apache

crm(live)configure# commit

crm_mon  

crm(live)node# show
server2.example.com: normal
server3.example.com: normal
crm(live)node# standby server2.example.com
crm(live)resource# stop apache 
crm(live)resource# show
 Resource Group: apache
     vip    (ocf::heartbeat:IPaddr2):    Stopped 
     website    (ocf::heartbeat:apache):    Stopped
crm(live)configure# delete apache 
crm(live)configure# delete website
crm(live)configure# commit

[注意]
删除一个资源:
crm(live)resource# stop website
crm(live)configure# delete website   

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

vim /etc/httpd/conf/httpd.conf

<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
</Location>

crm_mon                      ##

3.真机上:systemctl start fence_virtd.service

server2:
  stonith_admin -I
  stonith_admin -M -a fence_xvm

crm

crm(live)configure# property stonith-enabled=true
primitive vmfence stonith:fence_xvm params pcmk_host_map="server2.example.com:ricci1;server3.example.com:heartbeat1"  op monitor interval=1min
primitive sqldata ocf:linbit:drbd params drbd_resource=sqldata op monitor interval=30s
ms sqldataclone sqldata meta master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true

crm(live)configure# commit

crm_mon

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(live)configure# commit

crm_mon

crm(live)configure# primitive mysql lsb:mysqld op monitor interval=30s
crm(live)configure# group mygroup vip sqlfs mysql
INFO: resource references in colocation:sqlfs_on_drbd updated
INFO: resource references in order:sqlfs-after-sqldata updated

crm(live)configure# commit

crm_mon

crm(live)resource# refresh mygroup

server3:
       crm_mon         ##监控节点状态

时间: 2024-10-12 03:10:39

企业之pacemaker的相关文章

Linux的企业-高可用集群Haproxy+corosync+pacemaker+fence

一.Haproxy简介 Haproxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性.负载均衡,以及基于TCP和HTTP的应用程序代理. HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理.HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接.并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上. 二.HAProxy的特点1.支持两种代理模式:TCP(四层)和HTTP(七层),支持虚

企业 - pacemaker

                                   pacemaker Pacemaker是一个集群资源管理器.它利用集群基础构件(OpenAIS .heartbeat或corosync)提供的消息和成员管理能力来探测并从节点或资源级别的故障中恢复,以实现群集服务(亦称资源)的最大可用性.俗称,心脏起搏器 说到高可用,我们可能会用heartbeat和keepalived,也可能会用corosync+pacemaker,但他们之间有什么区别呢?我们在此主要谈下heartbeat和

MySQL DBA及Linux企业集群实战工程师

MySQL DBA及Linux企业集群实战工程师 2015,来一场随时随地的学习之旅 开启我赢职场MySQL学习之旅 不能错过的我赢之旅 任性就是想问就问 谁是你的群聊小伙伴 学习点滴我主宰 名师在线答与问 职业入门--数据库基础知识及安装MySQL MySQL课程介绍 讲师访谈 深入了解什么是数据库 MySQL从万千数据库中脱颖而出 选择学习哪个版本的MySQL 搭建学习MySQL的实验环境 提前熟悉一下MySQL环境 Linux下基于官方YUM源安装MySQL Linux下基于官方源码包包安

OpenStack 企业私有云的若干需求(6):大规模扩展性支持

本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云(Hybrid cloud)支持 主流硬件支持.云快速交付 和 SLA 保证 大规模扩展性支持 私有云外围环境支持(包括支持CDN .商业SDN控制器.防火墙和VPN/专线等) 向上扩展性(PaaS 和 SaaS 等支撑) 企业数据中心IT环境支持(包括裸金属/Bare metal.F5 .GPU.跨

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

DRBD (Distributed Replicated Block Device)分布式复制块设备,它是 Linux 平台上的分散式储存系统,通常用于高可用性(high availability, HA)集群中.DRBD 类似磁盘阵列的RAID 1(镜像),只不过 RAID 1 一般配置在一台服务器内,而 DRBD 是通过网络. DRBD Resource:DRBD所具有的几种属性: resource name:可以使用除空白字符外的任意ACSII表中的字符: drbd设备:drbd的设备的访

Java企业微信开发_09_身份验证之移动端网页授权(有完整项目源码)

注: 源码已上传github: https://github.com/shirayner/WeiXin_QiYe_Demo 一.本节要点 1.1 授权回调域(可信域名) 在开始使用网页授权之前,需要先设置一下授权回调域.这里瞬间想到之前做JSSDK的时候,也设置过一个域名.二者本质上都是设置可信域名. 当用户授权完毕之后,请求将重定向到此域名(或者子域名)下的执行者(jsp页面或者servlet等).如何设置授权回调域,请见第二节. 1.2 获取Code https://open.weixin.

C#开发微信支付之企业向用户付款

1.企业付款的介绍 所谓企业付款指的是,在功能开放后诸如保险行业的客户理赔.退保.商品退款.发放征集活动奖金.抽奖互动等操作都可以通过企业付款完成.而此前,微信支付只能提供客户向企业单向付款. 商户如果需要给用户付款,可以直接将钱打入用户的"微信零钱"中,微信支付将做零钱入账消息通知,零钱收支明细会展示相应记录.针对无零钱账户的历史客户端版本,资金将进入用户的红包账户,微信支付无消息通知用户,企业可选择自行触达用户. 通过认证的企业号可以开通微信支付功能.通过认证的企业号可以管理平台的

企业三证合一没组织机构代码怎么做微信公众号?

三证合一只有企业执照的话,可以直接通过"舒尔营销"快速认证.一般2天内可以认证好. 服务号.订阅号.企业号的区别1.订阅号:主要偏于为用户传达资讯(类似报纸杂志),认证前后都是每天只可以发一条消息:2.服务号:主要偏于服务交互,认证前后都是每个月可发4条消息:3.企业号:主要用于公司内部通讯使用,需要先有成员的通讯信息验证才可以关注成功企业号. 微信认证下单地址:http://www.shuers.com/erweima/201410929.html联系QQ:523998781 温馨提

Java企业微信开发_08_JSSDK多图上传

一.本节要点 1.1可信域名 所有的JS接口只能在企业微信应用的可信域名下调用(包括子域名),可在企业微信的管理后台“我的应用”里设置应用可信域名.这个域名必须要通过ICP备案,不然jssdk会配置失败 1.2JS-SDK使用权限签名算法 1.2.1 签名生成规则如下: (1)参与签名的字段包括: noncestr(随机字符串), 有效的jsapi_ticket, timestamp(时间戳), url(当前网页的URL,不包含#及其后面部分) . (2)对所有待签名参数按照字段名的ASCII