1)高可用集群(HA)
为什么需要HA
由于硬件、软件各类故障,单台电脑提供的服务终止会导致整个服务中断,为了提高服务的高可用,我们会搭多台服务器同时提供服务。
A=MTBF/(MTBF+MTTR)
我们应该通过几个9来衡量服务器的性能。(99.9% 99.99% 99.999%
2)HA中的重要概念
* Message Layer
需要运行在每个节点上
功能:
实现各节点心跳信息的传递,集群事务消息传递,并向上层提供费用的API接口
实现的软件:
hearbeat corosync cman
* CRM 集群资源管理层 (每个资源管理器通过配置接口去配置)
功能: 调用底层message layer提供的丰富的API功能,负责集群策略,决定哪个资源运行到哪个节点
实现的软件:
heartbeat v1 haresources (配置接口: 配置文件,文件名:haresources)
heartbeat v2 crm (配置接口: 在每个节点上运行一个crmd(5560/tcp)进程,这个有一个命令行接口,命令行接口为:crmsh; heatbeat-gui接口(程序名:hb_gui))
heartbeat v3 + pacemaker (配置接口: crmsh,pcs,GUI接口: hawk(suse上支持),pacemaker-gui)
corosync+pacemaker
cman+rgmanager(RHCS) (配置接口: cluster.conf(xml格式),system-config-cluster,conga(webgui),cman_tool.......)
组合方式:
heartbeat v1
hearbeat v2
heartbeat v3 + pacemaker
corosync + pacemaker
corosync v1 +pacemaker (pacemaker是以corosync插件运行)
corosync v2 +pacemaker (pacemaker是以独立服务运行)
cman + rgmanager
centos6: corosync+cman+pacemaker (cman以插件形式)
在centos7上: corosync v2(支持投票系统)+ pacemaker
* LRM 本地资源管理层
功能: 接收CRM的发来的指令,负责在本地执行资源管理,通过RA资源代理层(各类服务脚本)启动服务
* RA 资源代理层
功能:各类服务脚本
常见的服务脚本有:OCF,LSB风格的
资源代理的种类:
heartbeat v1 资源代理(有hearbeat所提供)
LSB脚本: /etc/rc.d/init.d/目录下脚本
OCF: open cluster framework(开放集群框架)
3) 资源隔离
Stonish: 节点级别隔离
Fence: 资源级别的隔离
4) 投票系统
2节点的集群,必须需要仲裁盘或ping node
拥有法定票数(with quorum): > 总票数/2
without quorun 不拥有法定票数
5)模型
N - M N个节点运行M个服务(5个节点运行4个服务)
6)判断资源在哪个节点
资源的约束性
位置约束:资源对节点的倾向性
排列约束: 资源彼此间是否能运行在统一节点的倾向性
顺序约束:多个资源的启动顺序(判断谁先启动)、
定义故障转移域(组)
故障转移域(fda):node1,node5
7) 资源类型
主资源: primitive
在集群中只能运行一个实例
克隆资源: clone
在集群中可运行多个实例
匿名克隆 全局唯一克隆,状态克隆
主从资源(master/slave),多状态资源
克隆资源的特殊实现
group: 组资源、是一种特殊资源(启动或停止、资源监视、粘性)
将多个资源组合在一起
资源属性:
priority 优先级
target-role: 默认started,stopped,master
is-managed: 是否允许集群管理资源
resource-stickiness: 资源粘性
allow-migrate: 是否允许迁移
- 第一章:集群理论介绍
- 第二章:共享存储
- 第一节:搭建基于 IP SAN 的 ISCSI 存储系统(在centos6系统)
- 第二节:基于openfiler搭建共享存储
- 第三章:高可用HA集群
- 第一节:Heartbeat高可用集群
- 第二节:corosync+pacemaker高可用nginx集群
- 第四章:反向代理(负载均衡)集群
- 第一部分:haproxy服务
- 第一节:haproxy基本介绍
- 第二节:在Centos7安装HAProxy
- 第三节: haproxy配置文件参数详解
- 第四节:haproxy+nginx+mysql+discuz
- 第五节:haproxy配置文件
- 第六节: Haproxy搭建全站ssl