标签:
一,高可用原理
系统可用性=平均无故障时间/(平均修复时间+平均无故障时间)
提高系统可用性:
缩短平均修复时间(冗余机制)
延长平均平均无故障时间
提高系统可用性方法:
HA集群:
手动切换
自动切换
集群切换:
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为例)
1、时间必须保持同步
使用ntp服务器
2、节点必须名称互相通信
解析节点名称
编辑/etc/hosts 集群中使用的主机名为`uname -n`表示的主机名;
3、ping node
仅偶数节点才需要;
4、ssh密钥认证进行通信;
标签:
原文地址:http://7280780.blog.51cto.com/7270780/1705463