目前互联网主流的实现WEB网站及数据库服务高可用软件包括:keepalived、heartbeat等。Heartbeat是比较早期的实现高可用软件,而keepalived是目前轻量级的管理方便、易用的高可用软件解决方案,得到众多青睐。
Keepalived是一个类似于工作在layer 3(网络层),4(传输层) & 7(应用层)交换机制的软件,Keepalived软件有两种功能,分别是监控检查、VRRP冗余协议,keepalived是模块化设计,不同模块负责不同的功能,keepalived常用模块包括:
1.Core,是keepalived的核心,负责主进程的启动和维护,全局配置文件的加载解析等 。
2.Check,负责healthchecker(健康检查),包括了各种健康检查方式,以及对应的配置的解析,包括LVS的配置解析;
3.Vrrp,VRRPD子进程,VRRPD子进程就是来实现VRRP协议;
4.Libipfwc,iptables(ipchains)库,配置LVS会用到;
5.Libipvs,虚拟服务集群,配置LVS会使用。
Keepalived的作用是检测web服务器的状态,如果有一台web服务器、Mysql服务器宕机,或工作出现故障,Keepalived检测到后,会将有故障的web服务器或者Mysql服务器从系统中剔除,当服务器工作正常后Keepalived自动将web、Mysql服务器加入到服务器群中。
这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的WEB和M