Keealived+LVS 维护技巧与调优

【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,然后,重启

时间: 2024-10-27 10:19:06

Keealived+LVS 维护技巧与调优的相关文章

20个Linux服务器性能调优技巧

Linux是一种开源操作系统,它支持各种硬件平台,Linux服务器全球知名,它和Windows之间最主要的差异在于,Linux服务器默认情况下一般不提供GUI(图形用户界面),而是命令行界面,它的主要目的是高效处理非交互式进程,响应时间并不是那么重要,相反,能够长时间处理高负载才是最关键的. Linux高可用服务器集群解决方案让IT系统管理员可以从容应对许多常见的硬件和软件故障,允许多台计算机一起工作,为关键服务正常运行提供保障,系统管理员可以不中断服务执行维护和升级.Linux服务器有各种用途

SQL Server调优系列进阶篇(如何维护数据库索引)

原文:SQL Server调优系列进阶篇(如何维护数据库索引) 前言 上一篇我们研究了如何利用索引在数据库里面调优,简要的介绍了索引的原理,更重要的分析了如何选择索引以及索引的利弊项,有兴趣的可以点击查看. 本篇延续上一篇的内容,继续分析索引这块,侧重索引项的日常维护以及一些注意事项等. 闲言少叙,进入本篇的主题. 技术准备 数据库版本为SQL Server2012,前几篇文章用的是SQL Server2008RT,内容区别不大,利用微软的以前的案例库(Northwind)进行分析,部分内容也会

[转]20个你不得不知的Linux服务器性能调优技巧

Linux是一种开源操作系统,它支持各种硬件平台,Linux服务器全球知名,它和Windows之间最主要的差异在于,Linux服务器默认情况下一般不提供GUI(图形用户界面),而是命令行界面,它的主要目的是高效处理非交互式进程,响应时间并不是那么重要,相反,能够长时间处理高负载才是最关键的.Linux高可用服务器集群解决方案让IT系统管理员可以从容应对许多常见的硬件和软件故障,允许多台计算机一起工作,为关键服务正常运行提供保障,系统管理员可以不中断服务执行维护和升级. Linux服务器有各种用途

11 个简单的 Java 性能调优技巧

大多数开发人员理所当然地以为性能优化很复杂,需要大量的经验和知识.好吧,不能说这是完全错误的.优化应用程序以获得最佳性能不是一件容易的事情.但是,这并不意味着如果你不具备这些知识,就不能做任何事情.这里有11个易于遵循的建议和最佳实践可以帮助你创建一个性能良好的应用程序. 大部分建议是针对Java的.但也有若干建议是与语言无关的,可以应用于所有应用程序和编程语言.在讨论专门针对Java的性能调优技巧之前,让我们先来看看通用技巧. 1.在你知道必要之前不要优化 这可能是最重要的性能调整技巧之一.你

Java性能调优11个实用技巧

1.在必要之前,先不要优化 这可能是最最重要的性能调优技巧之一.你应该遵循常见的最佳实践,并尝试有效地实现你的用例.但这并不意味着在证明它是必要之前,替换任何标准库或构建复杂的优化. 在大多数情况下,过早的优化占用了大量的时间,使得代码难以读取和维护.更糟糕的是,这些优化通常不会带来任何好处,因为你花费了大量时间来优化应用程序的非关键部分. 那么,你如何证明你需要优化某些东西呢? 首先,你需要确定应用程序代码的速度,例如,为所有API调用指定一个最大响应时间,或者指定在特定时间范围内导入的记录数

iOS应用性能调优的25个建议和技巧

目录 我要给出的建议将分为三个不同的等级: 入门级. 中级和进阶级: 入门级(这是些你一定会经常用在你app开发中的建议) 1. 用ARC管理内存 2. 在正确的地方使用reuseIdentifier 3. 尽可能使Views透明 4. 避免庞大的XIB 5. 不要block主线程 6. 在Image Views中调整图片大小 7. 选择正确的Collection 8. 打开gzip压缩 中级(这些是你可能在一些相对复杂情况下可能用到的) 9. 重用和延迟加载Views 10. Cache, C

51CTO学习笔记--Linux运维故障排查思路与系统调优技巧视频课程(高俊峰)

51CTO学习笔记--Linux运维故障排查思路与系统调优技巧视频课程 第一课 Linux运维经验分享与思路 1.一般把主机名,写到hosts下    127.0.0.1    hostname,因为很多应用要解析到本地.oracle没有这个解析可能启动不了. 2.注释掉UUID以及MAC地址,需要绑定网卡的时候,这个可能会有影响. 3.磁盘满了无法启动,  var下木有空间,无法创创建PID等文件,导致文件无法启动,按e   进入single  然后b  重启进入单用户模式. 4.ssh登陆系

iOS-------应用性能调优的25个建议和技巧

性能对 iOS 应用的开发尤其重要,如果你的应用失去反应或者很慢,失望的用户会把他们的失望写满App Store的评论.然而由于iOS设备的限制,有时搞好性能是一件难事.开发过程中你会有很多需要注意的事项,你也很容易在做出选择时忘记考虑性能影响. 这正是我写下这篇文章的原因.这篇文章以一个方便查看的核对表的形式整合了你可以用来提升你app性能的25条建议和技巧. 请耐心读完这篇文章,为你未来的app提个速! 注意:每在优化代码之前,你都要注意一个问题,不要养成”预优化”代码的错误习惯.时常使用I

(转) iOS应用性能调优的25个建议和技巧

From: http://www.cocoachina.com/ios/20150408/11501.html 英文原文:raywenderlich,感谢@路塔石 的热心翻译.:) 译文链接:http://blog.jobbole.com/37984/ 写在前面 本文来自iOS Tutorial Team 的 Marcelo Fabri,他是Movile的一名 iOS 程序员.这是他的个人网站:http://www.marcelofabri.com/,你还可以在Twitter上关注@marcel