【Keealived+LVS负载均衡部署问题排错思路】
1、iptables防火墙问题
[Directort 和 Real Server]
iptalbes防火墙会造成Clinet用户、Director和Rs真实服务器3者之间两者任意连接有问题,在部署过程中,我们最好配置防火墙允许LAN内所有IP互相访问。即内网都互通,如果是学习测试环境,建议把iptables防火墙关掉测试,Directors之间的failover切换也会被防火墙影响,而导致LVS Director两边启动VIP发生裂脑
2、LINUX负载均衡器转发问题[Director]
对于NAT模式,Linux内核转发及iptables转发功能需要开发,对于DR模式负载均衡,转发模式可以不打开
3、RS端抑制ARP问题[Real Server]
这个经常被忘记执行,要注意,每个RS端都要搞,我们习惯通过一个脚本来执行,例如:lvs
4、RS端lo上绑定业务VIP,多业务VIP,每个RS都要绑定[Real Server]
这个经常被忘记执行,要注意,每个RS端都要搞,我们习惯通过一个脚本来执行,例如:ipvs_client,特别是当一个RS被多个负载均衡器转发时,会配多个VIP
5、RS端lo上绑定的业务VIP,有时lo接口VIP会丢失,例如执行/etc/init.d/network restart后
解决办法:
1、lvs完整脚本启动命令放入/etc/local
2、把RS端lo绑定的业务VIP做成网卡配置文件提供服务如/etc/sysconfig/network-scripts/ifcfg-lo:181
3、修改/etc/init.d/network 脚本,让重启network时也把lvs脚本启动
6、ipvsadm -L -n 检查LVS真实服务器情况及 VIP 连接及配置
7、检查Keepalived配置文件(主从的不同)
单实例主从模式区别:主从配置文件的区别是 (route_id,state,priorities)
8、查看系统日志/var/log/messages
对于LVS负载均衡来说,系统日志/var/log/messages很重要,要随时保持查看日志的习惯
9、通过tcpdump跟踪数据包流向
tcpdump非常强大,在各种场合都可以使用,这里也不例外。例:在RS监控来自Director的数据流信息
tcpdump -nnn -i eth1 -s 10000 -A host 192.168.1.1 and port 80
tcpdump -i eth0 -nn ‘port 52114 and src host 192.168.1.1‘
10、注意LVS配置语法,尤其是大括号问题,要成对出现,可以写个脚本来判断大括号是不是成对
【Keepalived+LVS生产环境负载均衡维护思路】
对于一个有数十个实例的负载均衡keepalived.conf维护确实不是很容易的事情
1、业务高峰期尽量不修改负载均衡配置,以免发生故障影响用户体验
2、修改keepalived.conf时,执行临时备份操作/bin/cp keepalived.conf keepalived.conf.20160610
3、修改keepalived.conf时,把两个负均衡器的改名标识好,然后下载下来,保留原始的配置,然后复 制出新两份配置,改好一份后,然后通过比较工具来比较修改另一份,线上用vimdiff也可以
4、替换正式配置文件后,主负载均衡器可以先执行/etc/keepalived stop,把业务切到备份负载均衡器 上,也可以直接执行/etc/init.d/keepalived restart重启直接让主生效,如果发现异常,立即 stop,或者用事先准备好的命令恢复,例如:
重启后立刻检查业务是否正常,可以浏览器访问或者Linux下wget业务地址,如果发现问题立即用事 先准备好的恢复命令恢复,或者停止keepalived,把业务切到未修改的备机上,然后查看主负均服务 器的配置
/etc/init.d/keepalived restart
wget http://www.wsyht.com (检查不在负载均衡器上)
事先准备好的恢复命令
/bin/cp keepalived.conf /bin/cp keepalived.conf.new
/bin/cp keepalived.conf.2016.06.19 keepalived.conf
/etc/init.d/keepalived restart
主负均衡器调整好之后,备份负载均衡器直接执行/etc/init.d/keepalived restart 重启直接生 效,如果有必要刻意过下切换分别测试下,以免配置不对导致以后自动切换时异常
【LVS性能调忧】
1、关闭iptables时,换硬件防火墙
大流量时,iptables是一个性能瓶颈,关闭或换硬件防火墙
2、内核优化
3、网卡优化
增加LVS主机的网络吞吐能力,有利于提高LVS的处理速度和能力
1、使用更快的网卡,比如使用千兆,万兆的网卡
2、可以进一步将两块或多块网卡绑定(多块网卡的绑定有待验证)
4、TCP/IP优化
net.core.netdev_max_backlog = 65000
5、硬件优化
IPVS的运行,使用的服务器资源主要是CPU、内存I/O,网络I/O;IPVS完全运行在内存中,并且运行 在内核上
当IPVS的应用在DR模式时,即不耗CPU,也不耗I/O,运行非常快,所以系统负载非常的低,所以LVS 应用服务器的配置要求非常低,以为LVS很重要,所以配置一个相当高端的服务器,实在是一种浪 费,只要服务器稳定就好,例如:
生产环境负载均衡集群系统架构设备选购案例
选项的依据:价格、性能、冗余
6、增大哈希表,调到 ip_vs_conn_tab_bits 到20
通过重启,向内核传递参数来调整,在引导程序的kernel相关的配置行上,添加: ip_vs_conn_tab_bits=20,然后,重启