负载均衡器在很多网络服务器部署方案中都起到重要的作用。负载均衡器配合通过各种协议和系统的控制和交换***地进行着分配规划工作。那么,在部署中,也容易发生一些问题,下面我们将简要的分析一下负载均衡器在其方案中的作用。
1、keepalived是lvs的扩展项目,因此它们之间具备良好的兼容性。这点应该是keepalived部署比其他类似工具能更简洁的原因吧!
2、通过对服务器池对象的健康检查,实现对失效机器/服务的故障隔离。
3、负载均衡器之间的失败切换failover,是通过VRRPv2(VirtualRouterRedundancyProtocol)stack实现的。
keepalived体系结构
Keepalived大致分两层结构:用户空间userspace和内核空间kernelspace.图1是来自官方站点(http://www.keepalived.org/software_design.html)关于其结构的展示。
图1keepalived内部结构图在这个结构图里,处于下端的是内核空间,它包括ipvs和NETLINK两个部分。netlink提供高级路由及其他相关的网络功能,如果我们在负载均衡器上启用netfilter/iptable,将会直接影响它的性能。出于图形上方的组件为用户空间,由它来实现具体的功能,下面选取几个重要的来做说明:
1、WatchDog负责监控checkers和VRRP进程的状况。
2、Checkers负责真实服务器的健康检查healthchecking,是keepalived最主要的功能。换句话说-可以没有VRRPStack,但健康检查healthchecking是一定要有的。
3、VRRPStack负责负载均衡器之间的失败切换FailOver.如果只用一个负载均衡器,则VRRP不是必须的。
4、IPVSwrapper用来发送设定的规则到内核ipvs代码。
5、NetlinkReflector用来设定vrrp的vip地址等。
Keepalived各种功能的实现是通过设置其配置文件keepalived.conf来完成的,关于配置文件各项的用途,将在后面进行描述。