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

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

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

当只有两个节点互为备份时,一旦主节点ping不通备份节点,这时因为只有两个节点无法采取投票机制(一旦采取投票机制则两个节点都只获得一票,都认为自己挂掉了,那么不但主节点会停止服务,原本应该替代主节点的备份节点也因为认为自己非法而无法对主节点进行取代),主节点只能继续运行服务,直到被Stonish设备或fence设备隔离进行资源转移,这时备份节点也会取代主节点。

为了提供一个一个MySQL服务要具有哪些资源?

VIP 专门提供服务

FIP(float IP)流动的IP,可以再节点之间转移

Mysql服务

文件系统(要进行挂载)

一旦一个节点挂掉,向哪个节点转移?

定义个节点的资源约束score,哪个score大,更倾向于向哪个节点转移

脑裂:假设一个集群有4个RS_Server A、B、C、D

其中A正在往一个文件中写入数据,并且由于A服务器的CPU繁忙或错误添加了一条Iptables规则隔离了heartbeat传输等原因,未对其备份节点发出自己的心跳信息,这时CRM(cluster resource manager 专门用来收集集群资源或服务信息的集群资源管理器)发现检测不到A的心跳信息,认为A服务器挂掉了,便把A上的所有资源转移到了其他节点比如B上,这是B节点继续完成A节点的任务(向文件中写入数据),就会造成A和B同时往一个文件中写入,便会造成文件系统的崩溃及文件错乱。

如何避免脑裂?

在进行资源转移之前先将原来的节点进行资源隔离:

节点隔离

Stonish设备 如 直接断电爆头,一发现某节点无法传输heartbeat直接给其断电

资源级别隔离

FC-SAN (光纤交换机)可以实现在存储资源隔离故障节点的访问

如何检测一个节点是否故障?

加仲裁磁盘 主节点往一个共享磁盘中不断写入数据,一旦备节点发现自己可以访问共享磁盘但未发现主节点写入数据,则可以认为主节点挂掉,进行隔离

ping网关 只要能ping通网关 说明本节点正常,一旦ping不同则可以认为自己发生故障进行隔离

watchdog看门狗,协调同一个节点上不同进程每隔一段时间往watchdog中写入数据,一旦写入中断watchdog会尝试重启此进程,如果重启不了,则此节点故障,从此集群中去掉

Massaging Layer(负责以UDP协议在主节点与备节点间以组播模式传输heartbeat,资源黏性,资源约束,等信息),Massaging Layer 也是一个服务(UDP/694),且要让其开机自启动。

Cluster Resource Manager(集群的资源管理器):专门处理统计收集群上每个资源的状态如:资源黏性资源约束,节点是否健康;并又CRM的子件PE计算出资源现在应该运行在哪个节点上,再由CRM的子件TE指挥每个节点的LRM完成相应操作如:将服务从A节点迁移到B,在B节点上启用VIP,文件系统.....

高可用集群节点上的服务启动都要由CRM决定,不能让其自启动,所以必须#chkocnfig 服务名称 off

PE:policy engine 策略引擎

TE:Tranaction Engine 事物引擎

LRM:location Resource Manager 本地资源管理器

PE,TE,LRM都是CRM的组成

RA:Resource Agent资源代理

所有能够负责资源启动、关闭、重启、状态监测的脚本都叫RA,RA运行在每个节点上

RA的类别

Legency heartbeat v1 RA

LSB 所有遵循linux的shell编程支持start|restart|stop|status的脚本都是LSB类型 如/etc/rc.d/init.d/目录中的所有脚本

OCF(open cluster framework)此类脚本不但可以接受start|restart|stop|status等参数,甚至可以接受monitior(监控)等参数

DC(designated coordinator)事物协调员,DC也为CRM的子件,是在多节点中选举出的一个节点

Messager Layer的软件实现

heartbeat(v1 v2 v3 三个版本)

heartbeat v3 又分为heartbeat、pacemaker、cluster-glue

CoroSync 红帽6.0后默认使用的Messaging Layer

Cman 红帽5.0后默认使用的Messaging Layer 但由于工作在内核空间且配置复杂所以6.0后换成了工作在用户空间的CoroSync

(责任编辑:admin)