前言
什么是HA?HA做什么用的?
HA(High Available)是高可用集群,是保证业务不中断性的有效解决方案;通常HA集群部署在多个节点,正在提供服务的节点成为活动节点,没有提供服务的是非活动节点;当活动节点发生故障,非活动节点会转为活动节点,向外提供服务,以保证业务的连续性;这就是HA。
一、HA(High Available)的基本结构
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