一,高可用原理node
系统可用性=平均无端障时间/(平均修复时间+平均无端障时间)服务器
提升系统可用性:框架
缩短平均修复时间(冗余机制)ssh
延长平均平均无端障时间ide
提升系统可用性方法:ui
HA集群:spa
手动切换命令行
自动切换orm
集群切换:
接口
failover: 故障切换
failback: 修复转会
集群资源:
vip: float ip
ipvs规则
约束类型:
位置约束(location)
排列约束(colocation)
顺序约束(order)
解决方案:
vrrp+script: keepalived
ais:
heartbeat
corosync
cman(openais)
服务的类型:
no ha-aware
ha-aware
HA的框架:
HA分层
Messaging Layer: 基础事务层,传递集群事务及心跳信息
提供程序:heartbeat v1, v2, v3 corosync(openAIS) cman(openAIS)
CRM: Cluster Resource Manager
提供程序:heartbeat v1: 自带资源管理器haresources(配置接口:配置文件,文件名也叫haresources)
heartbeat v2: 自带资源管理器crm (各节点运行crmd进程,配置接口:命令行客户端crmsh,GUI客户端hb-gui)
heartbeat v3 = heartbeat + pacemaker + cluster-glue
packmaker:
CLI: crm(SuSE), pcs
GUI: hawk, LCMC, pacemaker-mgmt
cman + rgmanager:
resource group manager:Failover Domain, node priority
配置接口:
clustat, cman_tool
Conga: luci+ricci
LRM: Local Resource Manager
由CRM提供
RA:Resource Agent
heartbeat legacy: heartbeat和传统类型,一般是/etc/ha.d/haresources.d/目录下的脚本;
LSB: /etc/init.d/*
OCF(Open Cluster Framework):
provider:
STONITH:
quorum: 法定票数(大于总票数的一半)
用来断定集群分裂的场景中,某些节点是否能够继续以集群方式运行;
with quorum 拥有法定票数,集群正常
with out quorum 没有法定票数,集群发生脑裂
仲裁设备:
ping node
ping node group
quorum disk: qdisk
资源隔离机制:
节点级别:STONITH
电源交换机
服务硬件管理模块
资源级别:
stopped
ignore
freeze
suicide
二,CentOS或RHEL系统高可用集群的工做模型:
CentOS 5:
RHCS:cman+rgmanager
选用第三方方案:corosync+pacemaker, heartbeat(v1或v2), keepalived
CentOS 6:
RHCS: cman+rgmanager
corosync + rgmanager
cman + pacemaker
heartbeat v3 + pacemaker
keepalived
三,配置高可用集群的前提:(以两节点的heartbeat为例)
一、时间必须保持同步
使用ntp服务器
二、节点必须名称互相通讯
解析节点名称
编辑/etc/hosts 集群中使用的主机名为`uname -n`表示的主机名;
三、ping node
仅偶数节点才须要;
四、ssh密钥认证进行通讯;