网络安全检测|网络安全服务|网络安全扫描-香港墨客投资移动版

主页 > 业界资讯 > 网络安全预防措施

Linux之HA高可用集群的基础概念总结

Linux之HA高可用集群的基础概念总结

HA(High Availability)高可用集群,其特点为根据实际需求为前端Diretor,后端RS-server,数据库服务器,共享存储等集群节点做一个从备份服务器或者多个服务器互相备份,一旦主服务器挂掉,备份服务器能立马检测到并取代主服务器上的资源继续运行服务,从而最大限度避免了因服务器宕机造成的服务中止。

主节点(active/primary)备节点(passive/standby)

主调度器(Director)一般为集群中的关键节点,所以一般都有备份节点的存在;而后端RS-server可以根据实际可靠需求加备份节点,而存储服务器,如Mysql-Server,也作为集群的关键节点,一般都配有主从服务器。

HA集群着重服务的可靠性和稳定性两个方面

可用性=服务在线时间/(服务在线时间+故障处理时间)

可用性由 99%,99.9%,99.99%,99.999%不断提升,每多一个9,服务可用性提高十倍。在某些应用中服务可用性都要达到五个9的级别如:金融交易系统.....

HA Resource(高可用集群资源):一旦节点故障这些资源需要转移到其他备份节点上,包括VIP,服务,隔离设备,文件系统。每个RS上都运行有服务资源,当有多个RS节点时,一旦某个节点发生故障要立马进行资源转移到其他节点,让其他节点处理未处理完的请求,并且要防止Director将前端请求继续此节点,但有如此多的节点存在,故障发生时到底往哪个节点转移了?且要是这个故障节点又恢复了如何处理?这时就要定义资源的黏性,资源的约束等。

资源的粘性:资源更倾向运行在哪个节点上,即资源与节点的倾向性

如:定义web服务在A服务器上的资源粘性为120,在B服务器上的资源粘性为100,一旦A发生故障又恢复正常后web服务又会从B服务器上转移到A服务器

资源的黏性:资源是否倾向运行在当前节点,Score>0(倾向)Scoro<0(不倾向,即一有其他可运行此服务的节点,资源就立马转移到其他节点)

资源的约束:定义资源与资源的倾向性

colocation(排列约束):定义不同资源能否运行在同一个节点上,Score>0(可以),Score<0(不可以)

-inf(负无穷。。决不能运行在同一节点)

inf(正无穷。。必须运行在同一个节点)

location(位置约束):每个节点都可以给某资源一个Score,Score >0(资源倾向运行在此节点)

Score <0(资源不倾向运行在此节点)

一般资源黏性+位置约束 哪个大,资源更倾向运行在那个节点

Order(顺序约束):定义资源启动关闭时的顺序,因为不同资源可能有依赖关系如:VIP与IPVS规则,VIP先启动IPVS规则后启动

资源分类

Primitive 一个资源单独只运行在一个节点上(主资源)。

clone 每个节点上都运行此资源。

group 将多个资源划分为一个组,同组资源同进退,一起在节点上进行转移。

master/slave 主/从,一个资源只能运行在两个节点上,且一个为主一个为从。

备份节点如何知道主节点故障?

heartbeat(心跳信息):每个节点都要随时与备份节点上进行通信,目的为检测对方是否在线

但当存在三个及三个以上节点时且这些节点也要互相传输心跳信息(如 运行有同种服务的RS之间互为备份节点,),从而判断自己是否故障,是否为合法节点,如何判断?

将所有节点定义在一个组播内让其互相ping, 比如有A、B、C、D、E 五个RS节点运行有Web服务,某时刻A、B、C三个节点能互相ping通,而D、E两个节点可以互相ping 通,则可以定义一个Quorum(投票)机制,为每个节点定义为一票,则五个节点共五票,且定义只有获得一半以上票数才为合法节点,所以此时A、B、C节点共三票,而D,E节点共两票,可以认为D,E节点未非法节点(即D,E节点出了故障)

或者A节点ping不通其他节点获得一票,而B、C、D、E四个节点可以互相ping通获得四票,可以认为A节点为非法节点

而对于多节点集群来说,为了投票机制的实施,节点数最好为奇数,获得票数超过一半则认为合法

且可以定义不同节点的拥有票数不同,如A节点性能好有两票投票权,B节点性能一般拥有一票投票权,此时就不用节点奇数,只要总票数为奇数便可以产生决策。

一旦节点被认为为非法节点应对其采取什么措施?

Freeze(冻结) 此非法只处理已经连接的请求,不再接受新的请求,处理完请求后再进行资源转移

stop 非法节点直接停止运行服务,进行资源转移,这种措施最常用

ignore 直接忽略 继续正常运行服务

什么时候会用到ignore?

只有两个互为备份的节点时

(责任编辑:admin)