从微观角度分析整个集群工作原理
1.总共分为四层:
(1)信息基础架构层 传递心跳信息和事务状态信息
(2)成员关系层 重要组件:CCM(Cluster Consensus Manager),当底层传递过来的信息汇总,形成概览图
(3)资源分配层 重要组件:CRM(资源管理器),基于CCM传递过来的各节点
状态信息进行管理。主要作用:维护一个本地的关于所有资源及其集群全局属性的
配置信息CIB(当添加,删除,修改一个资源时,则直接修改的就是CIB文件)要想修 改CIB只能在CIB的主节点上进行。
CIB的主节点称为DC(指定的协调员),DC是集群自动协商产生的。
DC的主要工作:根据集群中的某一个资源判定是否发生故障,来决定资源流转到哪个 节点上去(往哪里流转,怎么流转),要做出决策,根据资源的粘性和约束来判定下 一次该流转到哪个节点上去。
PE(策略引擎)制定决策
TE(处理引擎)具体执行
LRM:CRM指挥LRM来调用本地的资源代理来启动,停止或重启
某个特定资源
(4)资源层 重要组件:RA 资源代理(其实RA就是集群启动、停止、监控等的脚本)
RA的类别:Heatbeat V1
LSB (脚本 /etc/init.d/)
OCF (Open Cluster Framework) 开放式集群架构
heartbeat / pacemaker
第三方RA:
STONITH
DRBD
2.各层组件:心跳层 (有的也提供Membership的功能)
Heartbeat
Keepalive
Corosync/openais
RHCS(红帽官方集群套件)
资源分配层:CRM: pacemaker
cman(红帽)
资源层:RA: Heatbeat V1
LSB (脚本 /etc/init.d/)
OCF (Open Cluster Framework) 开放式集群架构
heartbeat / pacemaker
第三方RA:
STONITH
DRBD
3.集群架构中所用到的共享存储的解决方案:
共享存储有以下几种解决方案:
(1)两个节点上都有本地存储,通过文件传递的方式提供
两种解决方案:
文件级别 rsync Server
块级别 drbd
(2)使用NFS服务实现文件共享
(3)使用共享存储(实现的是块级别的共享)
DAS
NAS
SAN
4.资源的类型:
资源类型;
primitive (本地运行的主资源)
group (将资源加入组中)
clone (需要在多个节点通知启动)(OCFS2,stonith)
master-slave (有主次之分,)(drbd)
5.资源约束
位置约束(location):更愿意在哪个节点
次序约束(order):资源在一个节点上运行时执行的次序
排列约束(colocation):定义多个资源在同一个节点上运行