HA技术简介
2013-11-19 17:43
274 查看
一、什么是HA?
HA(High Availability,简称HA),就是高可用性集群通过一组计算机系统提供透明的冗余处理能力,从而实现提供不间断的响应服务。其中每一台提供服务的计算机称为节点(Node)。当一个节点不可用或者不能处理客户的请求时,响应该请求的服务会及时转移到另外的可用节点来处理,而这些对于客户端是透明的,客户也不会去关心使用的资源具体是怎么提供的,集群系统会自动完成。
二、衡量标准
计算机系统的可用性(availability)是通过系统的可靠性(reliability)和可维护性(maintainability)来度量的。工程上通常用平均无故障时间(MTTF)来度量系统的可靠性,用平均维修时间(MTTR)来度量系统的可维护性。于是可用性被定义为:MTTF/(MTTF+MTTR)*100%
99% 一年宕机时间不超过90h
99.9% 一年宕机时间不超过10h
99.99% 一年宕机时间不超过1h
99.999% 一年宕机时间不超过6min
其实在一般企业应用中能达到99.9%或99%基本能满足公司业务的开展,而且2个9或3个9在实现中需要的成本及其难度相对5个9要小很多很多,在一般的企业级应用中能做到3个9基本就够了,当然能做到5个9那是最好,但是有些时候在追求极致的同时也会产生过犹不及情况(当然不是人人都是乔布斯,个人谬论不当之处请别较真~~)。
三、HA的架构层次
在上图中我们将HA大致分为3个层次,心跳传递层、资源管理、资源服务代理,那么它们是怎么工作的呢?我是这样来理解的:
从上图中我们可以清晰的看到左右两个节点(node),左节点与右节点的不同之处在于左节点多了一个策略引擎(Policy Engine,简称PE),所以可以看出左节点是主节点(A节点),右节点是备节点(P节点),A、P节点将底层的心跳信息相互传递并汇报给各自的CRM(集群资源管理器),CRM通过心跳信息来判断彼此节点的存活状态并相互通告。
1、PE是怎么启动本节点的资源的呢?
PE通过最终决策将需要启动的资源告知给 CRM,CRM通过本节点的LRM来执行资源代理,从而达到启动本节点的资源。在A、P节点中的LRM是不能彼此通讯的。
2、如果当A节点故障了,服务怎么转移到P节点?
从上图中我们可以很明显看出DC(Designated Coordinator)位于左节点,如果A节点故障了或服务关闭了(节点心跳信息传递服务),PE会回收在当前节点上运行的集群资源,P节点就会提升为主节点并启动本节点的PE模块,再启用定义的集群资源,同时自己由P节点转变为A节点并获得DC的权力。
四、常用的HA开源软件
1、heartbeat
2、corosync(openais)
3、RHCS(Red Hat Cluster Suite): cman
4、keepalived
五、相关概念
1、CRM(Cluster Resource Manager)集群资源管理,
1.1、资源管理器:
heartbeat v1: haresources
heartbeat v2: crm
heartbeat v3: pacemaker
corosync: pacemaker
cman: rgmanager
RHEL 6.4:cman, corosync
1.2、资源类型:
primitive(native):基本资源,原始资源
group:资源组
clone:克隆资源(可同时运行在多个节点上),要先定义为primitive后才能进行clone
master/slave:主从资源,如drdb
1.3、资源约束:
location:资源对节点的偏好
colocation:资源运行在同一个节点上的可能性
order: 资源采取动作的次序
资源粘性表示资源是否倾向于留在当前节点,如果为正整数,表示倾向,负数则会离开,-inf表示正无穷,inf表示正无穷
2、RA(Resource Agent)资源代理:
Lsb:linux表中库,一般位于/etc/rc.d/init.d/目录下的支持start|stop|status等参数的服务脚本都是lsb
ocf:Open cluster Framework,开放集群架构
heartbeat:heartbaet V1版本
stonith:专为配置stonith设备而用
HA(High Availability,简称HA),就是高可用性集群通过一组计算机系统提供透明的冗余处理能力,从而实现提供不间断的响应服务。其中每一台提供服务的计算机称为节点(Node)。当一个节点不可用或者不能处理客户的请求时,响应该请求的服务会及时转移到另外的可用节点来处理,而这些对于客户端是透明的,客户也不会去关心使用的资源具体是怎么提供的,集群系统会自动完成。
二、衡量标准
计算机系统的可用性(availability)是通过系统的可靠性(reliability)和可维护性(maintainability)来度量的。工程上通常用平均无故障时间(MTTF)来度量系统的可靠性,用平均维修时间(MTTR)来度量系统的可维护性。于是可用性被定义为:MTTF/(MTTF+MTTR)*100%
99% 一年宕机时间不超过90h
99.9% 一年宕机时间不超过10h
99.99% 一年宕机时间不超过1h
99.999% 一年宕机时间不超过6min
其实在一般企业应用中能达到99.9%或99%基本能满足公司业务的开展,而且2个9或3个9在实现中需要的成本及其难度相对5个9要小很多很多,在一般的企业级应用中能做到3个9基本就够了,当然能做到5个9那是最好,但是有些时候在追求极致的同时也会产生过犹不及情况(当然不是人人都是乔布斯,个人谬论不当之处请别较真~~)。
三、HA的架构层次
在上图中我们将HA大致分为3个层次,心跳传递层、资源管理、资源服务代理,那么它们是怎么工作的呢?我是这样来理解的:
从上图中我们可以清晰的看到左右两个节点(node),左节点与右节点的不同之处在于左节点多了一个策略引擎(Policy Engine,简称PE),所以可以看出左节点是主节点(A节点),右节点是备节点(P节点),A、P节点将底层的心跳信息相互传递并汇报给各自的CRM(集群资源管理器),CRM通过心跳信息来判断彼此节点的存活状态并相互通告。
1、PE是怎么启动本节点的资源的呢?
PE通过最终决策将需要启动的资源告知给 CRM,CRM通过本节点的LRM来执行资源代理,从而达到启动本节点的资源。在A、P节点中的LRM是不能彼此通讯的。
2、如果当A节点故障了,服务怎么转移到P节点?
从上图中我们可以很明显看出DC(Designated Coordinator)位于左节点,如果A节点故障了或服务关闭了(节点心跳信息传递服务),PE会回收在当前节点上运行的集群资源,P节点就会提升为主节点并启动本节点的PE模块,再启用定义的集群资源,同时自己由P节点转变为A节点并获得DC的权力。
四、常用的HA开源软件
1、heartbeat
2、corosync(openais)
3、RHCS(Red Hat Cluster Suite): cman
4、keepalived
五、相关概念
1、CRM(Cluster Resource Manager)集群资源管理,
1.1、资源管理器:
heartbeat v1: haresources
heartbeat v2: crm
heartbeat v3: pacemaker
corosync: pacemaker
cman: rgmanager
RHEL 6.4:cman, corosync
1.2、资源类型:
primitive(native):基本资源,原始资源
group:资源组
clone:克隆资源(可同时运行在多个节点上),要先定义为primitive后才能进行clone
master/slave:主从资源,如drdb
1.3、资源约束:
location:资源对节点的偏好
colocation:资源运行在同一个节点上的可能性
order: 资源采取动作的次序
资源粘性表示资源是否倾向于留在当前节点,如果为正整数,表示倾向,负数则会离开,-inf表示正无穷,inf表示正无穷
2、RA(Resource Agent)资源代理:
Lsb:linux表中库,一般位于/etc/rc.d/init.d/目录下的支持start|stop|status等参数的服务脚本都是lsb
ocf:Open cluster Framework,开放集群架构
heartbeat:heartbaet V1版本
stonith:专为配置stonith设备而用
相关文章推荐
- HA 技术简介
- java语言体系的技术简介之JSP、Servlet、JDBC、JavaBean(Application)
- Phab2 Pro体验 & Tango技术简介
- 基于Web的网络管理技术简介
- DDNS网络通的工作原理及其技术特色简介
- J2EE的13种核心技术简介
- Windows完成端口与Linux epoll技术简介
- Google 的开源技术protobuf 简介与例子
- Google 的开源技术protobuf 简介与例子(转)
- 将复杂查询写到SQL配置文件--SOD框架的SQL-MAP技术简介
- 80211与IEEE 802网络技术族谱简介
- RMON技术简介
- Eclipse RCP技术简介
- Maven简介(一)——Maven的安装和settings.xml的配置 - 好好学习,天天向上 - ITeye技术网站
- 数据挖掘技术简介
- 软件测试技术JUnit和单元测试入门简介--单元测试及软件测试技术概念以及JUnit编写原则和特征
- [转]SDN与OpenFlow技术简介
- Google 的开源技术protobuf 简介与例子
- J2ME 3D技术简介