Loading... <p>前言</p> <p> 什么是HA?HA做什么用的?</p> <p> HA(High Available)是高可用集群,是保证业务不中断性的有效解决方案;通常HA集群部署在多个节点,正在提供服务的节点成为活动节点,没有提供服务的是非活动节点;当活动节点发生故障,非活动节点会转为活动节点,向外提供服务,以保证业务的连续性;这就是HA。</p> <p></p> <p>一、HA(High Available)的基本结构</p> <p></p> <p> <img src="//cto.wang/usr/uploads/2016/07/20160703180358-33.png" title="1435112160135422.png" alt="QQ图片20150624102054.png" /></p> <p>1)Messaging Layer: 信息层</p> <p> 用于节点之间传递心跳信息、传递事务信息;</p> <p> 常见的有以下几类:</p> <p> Openais标准:</p> <p> heartbeat v1,v2,v3(heartbeat的三个版本)</p> <p> corosync</p> <p> cman</p> <p> 非Openais标准:</p> <p> keepalived</p> <p> </p> <p>2)Cluster Resource Manager:CRM, 集群资源管理</p> <p> 接受上层对资源的管理,接受底层信息传递信息,以及提供接口给用户,让用户进行定义资源;</p> <p> 常见的有以下几类:</p> <p> heartbeat v1:resource manager</p> <p> 配置接口:/etc/ha.d/haresource</p> <p> heartbeat v2:crm;在各个节点运行crmd进程</p> <p> 配置接口:crmsh(CLI客户端);hb_gui(GUI客户端)</p> <p> heartbeat v3: pacemaker;以插件方式运行或运行为独立进程 </p> <p> 配置接口:crm、pcs(CLI客户端);hawk、LCMC、pacemaker-mgmt(GUI客户端)</p> <p> rgmanager:RHCS</p> <p> 配置接口:clsat、cman_tool(CLI客户端);Conga(GUI客户端)</p> <p> </p> <p>3)Resource Agent:RA</p> <p> 常见的有以下几类:</p> <p> heartbeat legacy:传统类型的资源代理,通常位于/etc/ha.d/目录下</p> <p> LSB: 通常位于/etc/rc.d/init.d/目录下的脚本;至少能够接受{start|stop|restart|status}等参数</p> <p> OCF:Open Card Framework;其子类别:provider</p> <p> STONITH:专用于让当前节点使用STONITH设备的资源</p> <p> </p> <p>二、Resource:资源</p> <p> 1)资源分类:</p> <p> primitive: 主类资源,只能在于某个节点运行一份(native);</p> <p> group:组资源,也称容器;包含一个或多个资源,这多个资源需要运行于同一个节点;</p> <p> clone:克隆资源;可以在同一个集群内部于多个节点运行多份克隆; </p> <p> master/salve:主从资源;在同一个集群内部于一个或两个节点运行两份,而此两份有主从关系;</p> <p> 2)资源的约束关系:</p> <p> location:位置约束;资源对节点的倾向性;-∞,+∞</p> <p> colocation: 排列约束;定义资源在一起的倾向性;-∞,+∞;也可通过资源“分组”实现在一起的功能</p> <p> order:顺序;定义资源在某节点启用时的次序;-∞,+∞</p> <p> 3)资源转移:</p> <p> failover: 故障转移</p> <p> failback:故障转回</p> <p> 4)资源隔离:级别</p> <p> 节点级别:STONITH</p> <p> 例如:power switch</p> <p> 资源级别:fencing</p> <p> 例如:FC SAN switch</p> <p></p> <p> </p> 最后修改:2021 年 12 月 10 日 10 : 53 AM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 赞赏作者 支付宝微信