keepalived实现高可用的LVS负载均衡集群
1、准备知识
1.1、LVS
LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。
一般来说,LVS集群采用三层结构,其主要组成部分为:
A、负载调度器directirserver,它是整个集群对外面的前端机,负责将客户的请求发送到一组服务器上执行,而客户认为服务是来自一个IP地址(我们可称之为虚拟IP地址)上的。
B、服务器池realserver,是一组真正执行客户请求的服务器,执行的服务有WEB、MAIL、FTP和DNS等。
C、共享存储,它为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务。
1.2、keepalived
1.2、keepalived
keepalived是一个类似于layer3, 4 & 7交换机制的软件,也就是我们平时说的第3层、第4层和第7层交换。我们只需要简单配置keepalived的配置文件即可实现自动生成ipvsadm规则。还可以监控后端realserver主机的健康状态,出现故障时自动剔除集群,恢复后自动添加,以及MASTER与BACKUP之间的故障切换。
1.3、为什么要keepalived+LVS
lvs是一个在四层上实现后端realserver的负载均衡的集群,lvs遗留下两个问题:一个是lvs的单点故障; 第二个是lvs不能检测后端realserver的健康状态检查。最常用的方法就是在负载调度层构建双机热备系统。keepalived的配置文件里面可以自行生成ipvs的规则,并且自行检测后端realserver的状态,当后端realserver不能提供服务了,keepalived会自行将其在ipvs规则里面删除,当后端realserver可以提供服务了,又自行的在ipvs规则里面添加。