haproxy+pacemeker

一 简介

1 pacemaker:

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

2 pacemaker 由来:

大家都知道,Heartbeat 到了V3版本后,拆分为多个项目,其中pacemaker就是拆分出来的资源管理器。
• Heartbeat 3.0拆分之后的组成部分:
• Heartbeat:将原来的消息通信层独立为heartbeat项目,新的heartbeat只负责维护集群各节点的信息以及它们之前通信;
• Cluster Glue:相当于一个中间层,它用来将heartbeat和pacemaker关联起来,主要包含2个部分,即为LRM和STONITH。
• Resource Agent:用来控制服务启停,监控服务状态的脚本集合,这些脚本将被LRM调用从而实现各种资源启动、停止、监控等等。
• Pacemaker : 也就是Cluster Resource Manager (简称CRM),用来管理整个HA的控制中心,客户端通过pacemaker来配置管理监控整个集群。

3 pacemaker 特点:

• 主机和应用程序级别的故障检测和恢复
• 几乎支持任何冗余配置
• 同时支持多种集群配置模式
• 配置策略处理法定人数损失(多台机器失败时)
• 支持应用启动/关机顺序
• 支持,必须/必须在同一台机器上运行的应用程序
• 支持多种模式的应用程序(如主/从)
• 可以测试任何故障或群集的群集状态

4 群集组件说明:

1.群集组件说明:
• stonithd:心跳系统。
• lrmd:本地资源管理守护进程。它提供了一个通用的接口支持的资源类型。直接调用资源代理(脚本)。
• pengine:政策引擎。根据当前状态和配置集群计算的下一个状态。产生一个过渡图,包含行动和依赖关系的列表。
• CIB:群集信息库。包含所有群集选项,节点,资源,他们彼此之间的关系和现状的定义。同步更新到所有群集节点。
• CRMD:集群资源管理守护进程。主要是消息代理的PEngine和LRM,还选举一个领导者(DC)统筹活动(包括启动/停止资源)的集群。
• OpenAIS:OpenAIS的消息和成员层。
• Heartbeat:心跳消息层,OpenAIS的一种替代。
• CCM:共识群集成员,心跳成员层。

二 实现环境:

主机名IP地址作用描述
server 2192.168.122.20安装haproxy 和 群集软件用于实现高可用和负载均衡
server 3192.168.122.30安装haproxy 和 群集软件用于实现高可用和负载均衡
server 4192.168.122.40后端web服务器
server 5192.168.122.50后端web服务器

通过集群实现两个haproxy的高可用,通过haproxy实现对后端web服务的负载均衡

三 实验:

一 基本环境

两边都需要配置haproxy
配置文件内容如下:
haproxy+pacemeker
haproxy+pacemeker
haproxy+pacemeker
haproxy+pacemeker
haproxy+pacemekerhaproxy+pacemeker

二 安装集群相关软件:

haproxy+pacemeker
haproxy+pacemeker

三 添加配置文件并配置:

haproxy+pacemeker
此处的IP网段一定要是与本网卡同一网段
haproxy+pacemeker
此处相当于加了一个当corosync启动时,pacemaker也启动的模块
haproxy+pacemeker
将配置文件复制到另一个节点上
haproxy+pacemeker

四 启动服务并查看状态

haproxy+pacemeker
haproxy+pacemeker
haproxy+pacemeker
haproxy+pacemeker

五 设置开机自启动

haproxy+pacemekerhaproxy+pacemeker

六 使用crm 进行配置后续的步骤:

1 安装crmsh 软件

haproxy+pacemeker
haproxy+pacemeker
haproxy+pacemeker

2 基本语法介绍:

1 crm 特性:

1 任何操作都需要commit提交后才能生效
2 想要删除一个资源之前需要先将该资源停掉
3 可以用help command 获取该命令的帮助
4 与Linux命令行一样,都支持tab补全

2 Crm 命令的两种工作方式:

1 命令行模式:
#crm status
2 交互式
Crm# 进入交互式命令行接口

3 当前命令集合

1 cib 沙盒
2 Resource 所有的资源都在这个子命令后定义
3 configure 编辑集群配置信息
4 node 集群子节点管理命令
5 options 用户优先级
6 history
7 site
8 ra
9 center 资源代理子命令(所有与资源代理相关的命令都在此命令之下)
10status
11 help ? 当前区域可能的命令
12 end , cd ,up 返回第一级crm
13 quit bye exit 退出交互模式

4 常用子命令介绍

1 resource 子命令 # 定义所有资源状态
Crm resouece# help
Status 显示资源状态信息
Start 启动一个资源
Stop 停止一个资源
Restart 重启一个资源
Promote 提升一个主从资源
Demote 降级一个主从资源
Manage 管理资源
Unmange
Migrate 将资源迁移到另一个节点上
Param 管理资源的参数
Parameters 管理敏感参数
Meta 管理员属性
Failcount 管理失效计数器
Status 清理资源状态
LRM status #从LRM(LRM本地资源管理)更新CIB(集群信息库)
Trace 启动资源代理
Untreace 禁用资源代理

2 Configure 子命令 # 资源粘滞性、资源类型、资源约束
Node 定义一个集群资源
Primitive 定义资源
Monitor 对一个资源添加监控选项(如果超时,启动失败后的操作)
Group (将多个资源整合在一起)
Clone 定义一个克隆类型
Ms resource :定义一个主从类型
Rsc_template : 定义一个资源模板
Location 定义位置约束优先级
Colocation 排列约束资源(多个资源在一起的可能性)
Order 资源的启动先后顺序
Rsc_ticket
Property 设置集群属性
Rsc_defaults 设置资源默认属性
Fencing_topology node fencing order 隔离节点顺序
Role 定义角色权限
User 定义用户访问权限
Op_defaults 设置资源默认选项
Schema
Show 显示集群信息对
Edit 编辑集群信息对
Gilter 过滤CIB对象
Delete 删除CIB对象
Rename 重命名CIB对象
Modgroup 改变资源组
Refresh 重新读取CIB信息
Erase 清除CIB信息
Ptest
Commit 将更改后的信息提交写入CIB
Verify CIB语法验证
Save #将当前CIB导入到一个文件中
Load 从文件内容载入CIB

3 Node 子命令# 节点管理和状态
Status 以XML格式显示节点状态信息
Show 命令行格式显示节点状态信息
Standby 模拟指定节点离线
Online 节点重新上线
Maintenance
Ready
Fence 隔离节点
Clearstate 清理界节点状态信息
Delete 删除一个节点

4 Ra 子命令 # 资源代理类别的都放置在此处
Classes 为资源代理分类
List 显示一个类别中的提供的资源
Meta 显示一个资源代理序的可用参数
禁用stonith 设备
Configure property stonith-enabled=false

七基本配置

1 配置 stionst 关闭

haproxy+pacemeker

2 配置VIP

haproxy+pacemeker
查看
haproxy+pacemeker

3 配置当节点down机后浮动IP也跟着到另一个集群节点上

haproxy+pacemeker
查看配置
haproxy+pacemeker
关闭一个节点服务,并查看VIP变化
haproxy+pacemeker
haproxy+pacemeker

4 添加haproxy 资源

haproxy+pacemeker

5 将VIP与haproxy 进行绑定

haproxy+pacemeker
其启动顺序是按照配置顺序而定的

6 测试:

haproxy+pacemeker
当server3 服务down 后:
先开启server2服务
haproxy+pacemeker
haproxy+pacemeker
haproxy+pacemeker
haproxy+pacemeker
至此 高可用集群配置

7 配置fence

1 客户端安装fence
服务端启动原来关闭的服务:
haproxy+pacemeker
安装客户端套件并生成密码发送到服务端:
haproxy+pacemeker
haproxy+pacemeker
haproxy+pacemeker

服务端安装fence 套件:
haproxy+pacemeker
haproxy+pacemeker

haproxy+pacemeker
haproxy+pacemeker
查看文件内容
haproxy+pacemeker

查看客户端服务是否开启
haproxy+pacemeker

配置
查看设备域名
haproxy+pacemeker

haproxy+pacemeker
开启之间关闭的脑裂检测:
haproxy+pacemeker

haproxy+pacemeker
haproxy+pacemeker
haproxy+pacemeker
haproxy+pacemeker

转载于:https://blog.51cto.com/11233559/2110438

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值