[toc]
MHA基于GTID主从复制高可用
1.MHA简介
MHA通常在10到30秒内以最少的停机时间执行自动的主故障转移和从升级。MHA可以防止复制一致性问题,并节省了必须购买其他服务器的费用。所有这些都具有零性能下降,无复杂性(易于安装)并且无需更改现有部署的情况。
MHA还提供了计划的在线主设备切换,可以在停机(仅阻止写入)的几秒钟(0.5-2秒)内将当前正在运行的主设备安全地更改为新的主设备。
MHA提供以下功能,在需要高可用性,数据完整性和近乎不间断的主维护的许多部署中很有用。
-
自动化的主站监视和故障转移
- MHA可以监视现有复制环境中的MySQL主服务器,并在检测到主服务器故障时执行自动主服务器故障转移。MHA通过识别来自最新从站的差分中继日志事件并将其应用于所有其他从站,包括那些尚未收到最新中继日志事件的从站,来保证所有从站的一致性。MHA通常可以在几秒钟内执行故障转移:9到12秒钟用于检测主设备故障,可选地7到10秒钟用于关闭主计算机电源,以避免脑部分裂;几秒钟的时间将差分中继日志应用于新的主设备。总停机时间通常为10-30秒。可以在配置文件中将特定从站指定为候选主站(设置优先级)。由于MHA维护从站之间的一致性,任何奴隶都可以晋升为新主人。通常不会导致突然的复制失败的一致性问题将不会发生。
-
交互式(手动启动)主故障转移
- 可以将MHA配置为手动启动(非自动),交互式故障转移,而无需监视主服务器。
-
非交互式主服务器故障转移
- 还支持不监视主服务器的非交互式自动主服务器故障转移。当已经使用MySQL主软件监视时,此功能特别有用。例如,您可以使用Pacemaker(Heartbeat)检测主服务器故障和虚拟IP地址接管,而使用MHA进行主服务器故障转移和从属升级。
-
在线将主服务器切换到其他主机
- 通常有必要将现有的主服务器迁移到另一台计算机上,例如当前主服务器存在硬件RAID控制器或RAM问题,或者要用速度更快的计算机替换它等时,这不是主服务器崩溃,但需要定期进行主维护。计划的主机维护应尽快完成,因为这会导致部分停机(禁用主机写入)。另一方面,您应该非常仔细地阻止/杀死当前正在运行的会话,因为不同的master之间可能会发生一致性问题(即“更新master1,更新master 2,提交master1,在提交master 2时出错”会导致数据不一致)。快速主开关和平稳阻止写入都是必需的。
MHA在写入器阻塞后的0.5-2秒内提供正常的主设备切换。通常可以接受0.5-2秒的写入器停机时间,因此即使不分配计划的维护时段,您也可以切换主机。升级到更高版本,更快的计算机等操作变得更加容易。