keepalived之负载均衡及服务器集群
在互连网应用技术里,负载均衡一直是热门话题,本书讨论的负载均衡技术,包括但不限于负 载均衡本身。使用负载均衡技术主要的目的包括如下几点: 系统高可用性:组成系统的某些设备或部件失效,并不会影响正常的服务。 系统可扩展性:用户的增加,引起访问数乃至流的增加,这种情形下,需要对系统进行扩容,以应对这种快速增长。对于提供高可用服务的互联网网站,其对可扩展的基本要求就是在保持系统服务不终止的情况下,透明的扩充容 ,即用户不知道扩容的存在, 或者说是扩容不对现有的服务产生任何负面作用。这些扩展主要包括:带宽扩展、服务 器扩展、存储容扩展、数据库扩展等,当然也包括主机增加内存等方面的扩展。 负载均衡能力:一个应用或服务由数个物理服务器提供,并且每个物理服务器运行的应用或服务是相同的,我们可以让用户的访问通过某种控制策略,把负载分摊到不同的物理服务器,从而保持每个物理服务器有比较合理的负载。当整个系统的负载趋于饱和时,通过增加物理服务器和扩充物理带宽来解决这个麻烦。增加物理服务器以后,系统的负载情况将重新在所有集群的物理服务器之间按照指定的算法重新达到新的均衡。 一个完整的负载均衡项目,一般由虚拟服务器、故障隔离及失败切换 3 个功能框架所组成。 虚拟服务器 虚拟服务器是负载均衡体系的基本架构,它分两层结构:转发器(Director)和真实服务器。图 6-1 为虚拟服务器的结构示意。 为什么称虚拟服务器?因为从用户的角度看来,似乎只是一个服务器在提供服务。虚拟服务 器最主要的功能是提供包转发和负载均衡,这个功能可以通过撰写 ipvsadm 脚本具体实现。 虚拟服务器项目由章文嵩博士所贡献,目前已被添加到各种 linux 发行版的内核。 故障隔离 故障隔离指虚拟服务器中的某个真实服务器(或某几个真实服务器)失效或发生故障,系统将自动把失效的服务器从转发队列中清理出去,从而保证用户访问的正确性;另一方面,当实效的服务器被修复以后,系统再自动地把它加入转发队列。 失败切换 失败切换,这是针对负载均衡器 Director…