马哥学习笔记二十二——高可用集群原理
HA Resource:资源
FailOver:故障转移
FailBack:故障转回
资源粘性:资源是否倾向于留在当前节点
Messaging Layer:集群服务信息层,基于UDP互相传递心跳信息,集群事务信息等
heartbeat(v1,v2,v3)
heartbeat v3:heartbeat,pacemaker,cluster-glue
corosync
cman
keepalived
ultramonkey
CRM:(cluster resource manager)集群资源管理器,统计收集集群上每一个资源的状态,并计算出当前资源应该运行在哪个节点上等
haresource,crm(heartbeat v1/v2)
pacemaker(heartbeat v3/corosync)
rgmanager(cman)
DC:(Designated Coordinator)事务协调员(CRM子模块)
PE:Policy Engine 策略引擎,计算
TE:Transaction Engine 事务引擎,指挥计算后动作
LRM:本地资源管理器(CRM子模块),动作
RA:Resorce Agent 资源管理脚本,资源代理
RG:Resource Group 资源组
资源约束:Constraint
排列约束: (colocation)
资源是否能够运行于同一节点
score:
正值:可以在一起
负值:不能在一起
位置约束:(location), score(分数)
正值:倾向于此节点
负值:倾向于逃离于此节点
顺序约束: (order)
定义资源启动或关闭时的次序
vip, ipvs
ipvs-->vip
资源隔离:
节点级别:STONITH
资源级别:
例如:FC SAN switch可以实现在存储资源级别拒绝某节点的访问
split-brain: 集群节点无法有效获取其它节点的状态信息时,产生脑裂后果之一:抢占共享存储
without_quorum_policy:全局资源不具备法定票数的资源策略
freeze:冻结
stop:
ignore:
Heartbeat v1 自带的资源管理器
haresources:
Heartbeat v2 自带的资源管理器
haresources crm
Heartbeat v3: 资源管理器crm发展为独立的项目,pacemaker
Resource Type:
Primitive:主资源,在某一时刻只能运行在某一结点上的资源
clone:同时在多个节点上运行的资源
group:把多个主资源归类于一块
master/slave:独特的clone资源,只能运行2份,主从关系 drbd
RA Classes:
legacy heartbeat v1 RA
LSB(linux standard base):/etc/rc.d/init.d
OCF(open cluster framework)
pacemaker
linbit(drbd)
STONITH
HA集群条件:
1.时间同步
2.SSH双机互信
3.主机名称要与uname -n一致,并通过/etc/hosts解析
crmd进程监听在tcp/5560端口上