负载均衡连载之五

简介:

6.5 lvs负载均衡集群运行维护

作者:田逸(sery@163.com
 
当我们把所有的配置做好并通过各项功能测试后,就可以把这个集群环境正式运行起来(这里忽略其它处理过程),但这并不意味着万事大吉。要使负载均衡环境真正的高可用并符合业务需求,还有事情需要去做的。这些事情包括:负载均衡环境中对象新增、变更及删除,状态监控,故障的排查处理等。
 
6.5.1   对象新增、变更及删除
 
这里的对象包括vip、真实服务器、服务(vip+端口号)等。从前面的事例可以得知,一对负载均衡器,可以承担多个服务的转发任务,因此在运行过程中,很可能因为业务本身的变化而新增、变更或删除对象。比如:某个服务负载趋于饱和,需新加服务器;有些业务下线了,需要从转发队列中把服务删除掉。
 
对象增加、变更及删除的操作,涉及负载均衡器和真实服务器。在负载均衡器方面,主要的操作就是修改keepalived的配置文件keepalived.conf;在真实服务器上,进行的操作主要是编写lvs配置脚本、运行或者关闭这个配置脚本。
 
在有2个负载均衡器的lvs环境,所作的配置文件keepalived.conf变更操作要在这两个服务器上都进行一遍,以保持配置和服务的一致性。
 
当我们进行对象增加、变更或删除的操作时,只要注意好执行的先后顺序,就能保证提供的服务不中断,用户的正常访问不受影响。
 
      对象新增
假定在负载均衡环境新增一个web服务器,其操作顺序是:
1、   启用新增服务器的web服务。
2、   启用新增服务器的lvs客户端配置脚本。
3、   检验“1”和“2”两步的正确性。
4、   修改负载均衡器的配置文件keepalived.conf
5、   关闭第一个lvs负载均衡器,所有的转发服务将切换到另外一个负载均衡器上。
6、   启用“5”关闭的那个负载均衡器,然后关闭“5”中还在运行的那个负载均衡器。
7、   重新启动“6”所关闭的负载均衡器。
 删除对象
假定在负载均衡环境删除一个web服务器,其操作顺序是:
1、   关闭欲下线服务器的web服务。这样负载均衡器的健康检查会自动把该web服务从转发队列删除掉。
2、   卸载欲下线服务器的vip地址。即执行/usr/local/bin/lvs_real stop操作。
3、   修改负载均衡器的配置文件keepalived.conf
4、   关闭第一个lvs负载均衡器,所有的转发服务将切换到另外一个负载均衡器上。
5、   启用“4”关闭的那个负载均衡器,然后关闭“4”中还在运行的那个负载均衡器。
6、   重新启动“6”所关闭的负载均衡器。
      变更对象
与前两种方式的操作步骤基本相似,不再赘述。
 
这里再强调一下,如果真实服务器上的服务没关闭而把其上的vip卸载的话,某些用户的请求仍然会被负载均衡器转发过来,导致请求失败。因此,要记住,无论如何,请先关服务!
 
6.5.2   状态监控
 
为了随时随地了解整个lvs负载均衡环境的运行情况,我们必须对其进行有效的监控。当出现异常或故障时,监控系统能及时有效的通知维护人员,以便问题得以及时地处理。这也是提高可靠性的一个保障措施。
 
有很多开源的或商业类型的监控系统可供选择,本书选定开源的nagios作为监控平台,关于nagios的相关细节,请参照“网络服务及主机资源监控-nagios”一章。
 
可供nagios监控的对象很多,对lvs负载均衡环境而言,怎么选定对象才是最有效的呢?这里我们先来回顾一下lvs负载均衡环境运行时,其存在的表现形式有哪些?
 
1、   负载均衡器及真实服务器。
2、   各真实服务器上运行的服务。
3、   Lvs公用的vip
 
根据这些表现形式,我们选取存活检查及服务状态作为监控对象,就可以清晰地了解lvs负载均衡环境的运行状况。把它具体化,可分为:
1、   负载均衡器及真实服务器的存活检查。只有这些服务器运行正常,才可能有其他依赖服务。
2、   Vip的存活检查。一般情况下,启用了lvs环境后,是可以用ping的方式检查vip的。
3、   真实服务器服务状态检查。
4、   Vip对应的服务状态检查。一般通过check_tcp加端口号的形式实现。如果web集群,可以以check_http!url的方式更精确的检查。
 
6.5.3   故障处理
 
在对lvs运行环境进行有效的监控后,一旦有故障或异常发生,系统管理人员将会得到及时的通知。并且这些报警信息往往包含故障的基本情况,如负载过高、主机down了、服务严重不可用(critical)、磁盘空间快满了等等,这些信息非常有利于系统管理员定位故障点。如果没有一个有效的监控系统,故障的报告往往来自用户的报告。这些报告笼统而模糊,可能包含“你们的网站不能访问了”之类的字眼,要定位故障点,可能会花费更多的时间。
 
在知晓和定位故障以后,结下来就是分析和处理故障。Lvs负载均衡的故障点可分为:负载均衡器故障、真实服务器故障、vip故障、服务故障这几个部分。这些故障出现后,怎么着手处理?下面分别论述之。
 
      负载均衡器发生故障的检查点
1、   查看系统日志 /var/log/messages ,了解内核是否有报错信息。因为keepalived的日志也被追加到系统日子,因此通过系统日志,也能了解keepalived的运行情况。
2、   检查负载均衡器的网络连通状况。这包括ip地址的设置是否正确,是否能远程访问(如ping tracert等)。
3、   检查keepalived的运行情况。这包括进程是否处于运行中,ipvs模块是否被加载到系统的内核,vip是否被绑定到网络接口,ipvsadm是否有输出。
4、   检查负载均衡器的系统负载。
5、   检查keepalived的配置文件书写是否正确。因为keepalived启动过程不对配置文件做语法检查,因此在运行前,必须按需求表逐项检查配置文件keepalived.conf 的内容。有时,就可能就是因为漏写了一个“}”符号而导致意外的结果。配置文件的内容检查还包括主从优先级priority、虚拟路由标识virtual_router_id、路由标识router_id等几个部分,这些值有些是必须相同的、有些则必须不同。
6、   检查负载均衡器是否启用防火墙规则。
 
      真实服务器发生故障的检查点
1、   查看系统日志 /var/log/messages ,了解内核是否有报错信息。
2、   检查服务器的网络连通状况。
3、   检查服务是否正常运行。可以结合察看进程、模拟用户访问来确定。
4、   检查服务器的负载情况,看哪些进程占用较高的资源。如果暂停占资源高的进程,情况会怎么样?
5、   检查vip是否被绑定。Linux只能通过ip add 指令察看,freebsd ifconfig就可以了。
6、   检查主机防火墙是否被启用。如果需要启用主机防火墙,则应设置好过滤规则。
7、   从客户端直接访问服务器的服务,看是否能正常访问。这是dr模式的一个优点。
 
      vip发生故障的检查点
1、   检查负载均衡器的vip是否被绑定。
2、   检查负载均衡器ipvsadm的输出,察看输出的vip项是否与我们的设定相一致。
3、   检查各真实服务器的vip是否被绑定。
4、   从客户端测试一下vip的连通情况,如ping vip
5、   检查vip地址是否与其它服务器的地址相冲突。
 
      服务发生故障检查点
1、   检查服务是否正常运行。如查进程、模拟用户访问等。
2、   检查系统的负载情况。
3、   检查是否启用主机防火墙。
 
一旦知道问题的所在,解决问题本身就不再是什么困难的事情了,因此这里不再一一列举对应的解决方法。
 
6.5.4   数据备份
 
Lvs负载均衡环境需要备份的数据包括keepalived配置文件和lvs客户端配置脚本。因为这两个文件都是文本文件,并且尺寸小(几k而已),因此可以以复制的方式进行备份。如果把备份放在windows环境的话,尽量不要用word、写字板一类的工具修改它。如果用windowsword之类的工具编辑这两个文件,上传到linux服务器时,会出现格式问题,而导致运行错误。当然,可以用dos2unix修正格式,或者在vi的命令模式下,以“:set ff=unix”方式转换格式。














本文转自sery51CTO博客,原文链接:http://blog.51cto.com/sery/211403 ,如需转载请自行联系原作者
相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
1月前
|
负载均衡 算法
负载均衡的原理
负载均衡的原理
|
6月前
|
负载均衡 Cloud Native 网络协议
负载均衡原理及应用
负载均衡原理及应用
57 0
|
7月前
|
缓存 负载均衡 网络协议
简介几种负载均衡原理
简介几种负载均衡原理
|
9月前
|
域名解析 负载均衡 算法
负载均衡如何实现的?
负载均衡是一种通过将请求分配到多个服务器上,以平衡系统负载和提高性能的技术。
191 0
|
存储 运维 负载均衡
【分布式技术专题】「LVS负载均衡」全面透析Web基础架构负载均衡LVS机制的原理分析指南
【分布式技术专题】「LVS负载均衡」全面透析Web基础架构负载均衡LVS机制的原理分析指南
215 0
【分布式技术专题】「LVS负载均衡」全面透析Web基础架构负载均衡LVS机制的原理分析指南
|
负载均衡 网络协议 算法
关于开发中负载均衡(代理)的一些笔记
如果能深刻理解苦难,苦难就会给人带来崇高感 。 ——路遥
151 0
关于开发中负载均衡(代理)的一些笔记
|
负载均衡 前端开发 JavaScript
负载均衡设计|学习笔记
快速学习负载均衡设计
负载均衡设计|学习笔记
|
弹性计算 负载均衡 数据安全/隐私保护
DLB负载均衡实践
在高并发的情况下,经常会导致服务器响应速度慢,严重的情况会直接导致服务器停止服务。此时,会导致企业的业务中断,影响客户的正常访问。 本场景通过使用阿里云负载均衡SLB以及对负载均衡SLB后端服务器ECS的权重进行修改,可以快速解决上述的问题。
DLB负载均衡实践
|
负载均衡 算法 网络协议
|
负载均衡 算法 网络协议
仅需这一篇,带你吃透「负载均衡」!
一、「负载均衡」是什么 正如题图所示的这样,由一个独立的统一入口来收敛流量,再做二次分发的过程就是「负载均衡」,它的本质和「分布式系统」一样,是「分治」。
1294 0