HA高可用集群学习笔记

前言

  什么是HA?HA做什么用的?

  HA(High Available)是高可用集群,是保证业务不中断性的有效解决方案;通常HA集群部署在多个节点,正在提供服务的节点成为活动节点,没有提供服务的是非活动节点;当活动节点发生故障,非活动节点会转为活动节点,向外提供服务,以保证业务的连续性;这就是HA。

一、HA(High Available)的基本结构

                       QQ图片20150624102054.png

1)Messaging Layer: 信息层

   用于节点之间传递心跳信息、传递事务信息;

 常见的有以下几类:

 Openais标准:

   heartbeat v1,v2,v3(heartbeat的三个版本)

   corosync

   cman

 非Openais标准:

   keepalived

 

2)Cluster Resource Manager:CRM, 集群资源管理

   接受上层对资源的管理,接受底层信息传递信息,以及提供接口给用户,让用户进行定义资源;

  常见的有以下几类:

  heartbeat v1:resource manager

   配置接口:/etc/ha.d/haresource

  heartbeat v2:crm;在各个节点运行crmd进程

   配置接口:crmsh(CLI客户端);hb_gui(GUI客户端)

  heartbeat v3: pacemaker;以插件方式运行或运行为独立进程  

   配置接口:crm、pcs(CLI客户端);hawk、LCMC、pacemaker-mgmt(GUI客户端)

 rgmanager:RHCS

   配置接口:clsat、cman_tool(CLI客户端);Conga(GUI客户端)

  

3)Resource Agent:RA

  常见的有以下几类:

  heartbeat legacy:传统类型的资源代理,通常位于/etc/ha.d/目录下

  LSB: 通常位于/etc/rc.d/init.d/目录下的脚本;至少能够接受{start|stop|restart|status}等参数

  OCF:Open Card Framework;其子类别:provider

  STONITH:专用于让当前节点使用STONITH设备的资源

 

二、Resource:资源

 1)资源分类:

  primitive: 主类资源,只能在于某个节点运行一份(native);

  group:组资源,也称容器;包含一个或多个资源,这多个资源需要运行于同一个节点;

  clone:克隆资源;可以在同一个集群内部于多个节点运行多份克隆; 

  master/salve:主从资源;在同一个集群内部于一个或两个节点运行两份,而此两份有主从关系;

 2)资源的约束关系:

  location:位置约束;资源对节点的倾向性;-∞,+∞

  colocation: 排列约束;定义资源在一起的倾向性;-∞,+∞;也可通过资源“分组”实现在一起的功能

  order:顺序;定义资源在某节点启用时的次序;-∞,+∞

 3)资源转移:

  failover: 故障转移

  failback:故障转回

 4)资源隔离:级别

  节点级别:STONITH

   例如:power switch

  资源级别:fencing

   例如:FC SAN switch

    

原创文章,作者:马行空,如若转载,请注明出处:http://www.178linux.com/5627