企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
1)高可用集群(HA) 为什么需要HA 由于硬件、软件各类故障,单台电脑提供的服务终止会导致整个服务中断,为了提高服务的高可用,我们会搭多台服务器同时提供服务。 A=MTBF/(MTBF+MTTR) 我们应该通过几个9来衡量服务器的性能。(99.9% 99.99% 99.999% 2)HA中的重要概念 * Message Layer 需要运行在每个节点上 功能: 实现各节点心跳信息的传递,集群事务消息传递,并向上层提供费用的API接口 实现的软件: hearbeat corosync cman * CRM 集群资源管理层 (每个资源管理器通过配置接口去配置) 功能: 调用底层message layer提供的丰富的API功能,负责集群策略,决定哪个资源运行到哪个节点 实现的软件: heartbeat v1 haresources (配置接口: 配置文件,文件名:haresources) heartbeat v2 crm (配置接口: 在每个节点上运行一个crmd(5560/tcp)进程,这个有一个命令行接口,命令行接口为:crmsh; heatbeat-gui接口(程序名:hb_gui)) heartbeat v3 + pacemaker (配置接口: crmsh,pcs,GUI接口: hawk(suse上支持),pacemaker-gui) corosync+pacemaker cman+rgmanager(RHCS) (配置接口: cluster.conf(xml格式),system-config-cluster,conga(webgui),cman_tool.......) 组合方式: heartbeat v1 hearbeat v2 heartbeat v3 + pacemaker corosync + pacemaker corosync v1 +pacemaker (pacemaker是以corosync插件运行) corosync v2 +pacemaker (pacemaker是以独立服务运行) cman + rgmanager centos6: corosync+cman+pacemaker (cman以插件形式) 在centos7上: corosync v2(支持投票系统)+ pacemaker * LRM 本地资源管理层 功能: 接收CRM的发来的指令,负责在本地执行资源管理,通过RA资源代理层(各类服务脚本)启动服务 * RA 资源代理层 功能:各类服务脚本 常见的服务脚本有:OCF,LSB风格的 资源代理的种类: heartbeat v1 资源代理(有hearbeat所提供) LSB脚本: /etc/rc.d/init.d/目录下脚本 OCF: open cluster framework(开放集群框架) 3) 资源隔离 Stonish: 节点级别隔离 Fence: 资源级别的隔离 4) 投票系统 2节点的集群,必须需要仲裁盘或ping node 拥有法定票数(with quorum): > 总票数/2 without quorun 不拥有法定票数 5)模型 N - M N个节点运行M个服务(5个节点运行4个服务) 6)判断资源在哪个节点 资源的约束性 位置约束:资源对节点的倾向性 排列约束: 资源彼此间是否能运行在统一节点的倾向性 顺序约束:多个资源的启动顺序(判断谁先启动)、 定义故障转移域(组) 故障转移域(fda):node1,node5 7) 资源类型 主资源: primitive 在集群中只能运行一个实例 克隆资源: clone 在集群中可运行多个实例 匿名克隆 全局唯一克隆,状态克隆 主从资源(master/slave),多状态资源 克隆资源的特殊实现 group: 组资源、是一种特殊资源(启动或停止、资源监视、粘性) 将多个资源组合在一起 资源属性: priority 优先级 target-role: 默认started,stopped,master is-managed: 是否允许集群管理资源 resource-stickiness: 资源粘性 allow-migrate: 是否允许迁移