LVS实现网络负载均衡实例讲解.ppt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LVS 实现 网络 负载 均衡 实例 讲解
- 资源描述:
-
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,网站集群架构设计,LVS,实现网络负载均衡实例精讲,CU,版主,kns0124wh(,百湖),2009,年,6,月,20,日 西安,清楚为什么会出现,LVS,LVS,能够做到的,LVS,实现方式,LVS,需要,High Availability,LVS,的应用延伸,互联网的发展,Unix,诞生于,1969,年,1987,商业化的互联网诞生,1990,年互联网的膨胀在继续,群集概念的出现,人口大爆炸,男的比女的多,3700,万,都去上网。于是服务器吃不消了,有人提出了群集、云,-,概念。,解决之道,Html,语法,URL,重定向,Location,返回代码,早前的,DNS,的多个,A,记录,负载均衡产品,F5,硬件,GSLB,服务端应用负载均衡 从程序解决,开源解决之道,节约采购硬件成本、减少开发难度,基于开源应用软件的,Modules,解决之路,apache,mod_geoip,mod_proxy_balancer,mod_proxy_ajp,nginx,GEO Module,tomcat sessions,1998,年,5,月创立,LVS,成为了,Linux,内核的一部分 效率高,真实运行的,Web proxy,集群系统,什么是,LVS,LVS,是章文嵩博士发起和领导的优秀的集群解决方案,许多商业的集群产品,比如,RedHat,的,Piranha,等,都是基于,LVS,的核心代码的。,LVS,是一个开源的软件,在,LINUX,平台下实现基于,IP,负载均衡技术和内容请求分发技术。,LVS,是,Linux Virtual Server,的缩写,意思是,Linux,虚拟服务器。,www.linuxvirtualserver.org/,,zh.linuxvirtualserver.org,/,LVS,能做到的,The Linux Virtual Server is a highly scalable and highly available server built on a cluster of real servers,with the load balancer running on the Linux operating system.The architecture of the server cluster is fully transparent to end users,and the users interact as if it were a single high-performance virtual server.,www.linuxvirtualserver.org/,高性能的调度器,LVS,集群采用,IP,负载均衡,技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,结合,健康检测,功能调度器自动屏蔽掉服务器的故障,结合,High Availability,技术,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。为此,在设计时需要考虑系统的透明性、可伸缩性、高可用性和易管理性。,LVS,不能做到的,机器数量需要多,Nginx,在一个主机上就可以实现很好的负载,基于,IP,的调度算法不能实现基于语意的调度,对于应用程序的,sessions,需要借助其他方式,对于数据库,RAC,、,REPLICATION,不同,Google file system,Bigtable,Mapreduce,(,Hadoop,开源的可运行于大规模集群上的分布式并行编程框架),典型,LVS,结构,一般来说,,LVS,集群采用三层结构,负载调度器、服务器池、共享存储主要部分组成。,LVS,的三个部分,负载调度器(,load balancer,),它是整个集群对外面的前端机,负责将客户的请求发送到一组服务器上执行,而客户认为服务是来自一个,IP,地址(我们可称之为虚拟,IP,地址)上的。,服务器池(,server pool,),是一组真正执行客户请求的服务器,执行的服务有,WEB,、,MAIL,、,FTP,和,DNS,等。,共享存储(,shared storage,),它为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务。,三种,IP,负载均衡技术,可伸缩网络服务结构,都需要一个前端的负载调度器(主从备份),基于,IP,负载均衡技术是在负载调度器的实现技术中效率最高的。,在已有的,IP,负载均衡技术中,主要有通过网络地址转换(,Network Address Translation,)将一组服务器构成一个高性能的、高可用的虚拟服务器,我们称之为,VS/NAT,技术(,Virtual Server via Network Address Translation,)。,在分析,VS/NAT,的缺点和网络服务的非对称性的基础上,通过,IP,隧道实现虚拟服务器的方法,VS/TUN,(,Virtual Server via IP Tunneling,),通过直接路由实现虚拟服务器的方法,VS/DR,(,Virtual Server via Direct Routing,),,VS/DR,可以极大地提高系统的伸缩性。,VS/NAT,、,VS/TUN,和技术是,LVS,集群中实现的三种,IP,负载均衡技术。,VS/NAT,的体系结构,半连接的,TCP,有限状态机,VS/TUN,的体系结构,VS/DR,的体系结构,调度算法,轮叫调度(,Round-Robin Scheduling,),加权轮叫调度(,Weighted Round-Robin Scheduling,),最小连接调度(,Least-Connection Scheduling,),加权最小连接调度(,Weighted Least-Connection Scheduling,),基于局部性的最少链接(,Locality-Based Least Connections Scheduling,),Cache,带复制的基于局部性最少链接(,Locality-Based Least Connections with Replication Scheduling,),Cache,目标地址散列调度(,Destination Hashing Scheduling,),源地址散列调度(,Source Hashing Scheduling,),LVS,实现方式,IP Virtual Server,Netfilter,module,ls,-l/lib/modules/,uname,-r/kernel/net/ipv4/ipvs,RedHat,7.3/8.0,都把,ipvs,预先编译到了,RedHat,发行版的内核当在,redhat9.0,取消了预编译,目前,IPVS,包含在,2.6,的内核中,不需要重新编译,非常简单,ipvsadm,utility to administer the IP Virtual Server inside the Linux kernel,ipvsadm,常用命令,增加调度服务,ipvsadm,-A-t,虚拟服务地址,:,服务端口,-s,调度算法,增加真实服务器,ipvsadm,-a-t,虚拟服务地址,:,服务端口,-r,真实服务地址,g,工作模式,删除真实服务器,ipvsadm,-d-t,虚拟服务地址,:,服务端口,-r,真实服务地址,g,工作模式,删除调度服务,ipvsadm,-D-t,虚拟服务地址,:,服务端口,-s,调度算法,查看调度状态,ipvsadm,ln,ipvsadm,-,lnc,状态同步,主节点,ipvsadm,-start-daemon master-,mcast,-interface eth0,从节点,ipvsadm,-start-daemon backup-,mcast,-interface eth0,session,会话保持,Persistence,-p persistent timeout,持久稳固的服务。这个选项的意思是来自同一个客户的多次请求,将被同一台真实的服务器处理。,timeout,的默认值为,300,秒。,解决这个问题,最有效的办法就是在后端,web,节点间实现,session,复制,用户在任何一个真实,web,节点上的,session,发生变化时,通过一定的策略同步复制到其它,web,节点上。,调度器与真实服务器配置,在调度器上,设置,VIP,调度地址,开启,IP,转发,ifconfig,eth0:0,虚拟服务地址,netmask,255.255.255.255 broadcast,虚拟服务地址,up,route add-host,虚拟服务地址,dev eth0:0,echo 1 /proc/sys/net/ipv4/ip_forward,调度器与真实服务器配置,在真实服务器上,设置,VIP,应答地址,屏蔽,arp,请求,ifconfig,lo:0,虚拟服务地址,netmask,255.255.255.255,borcast,虚拟服务地址,up,route add-host,虚拟服务地址,dev lo:0,echo 1 /proc/sys/net/ipv4/conf/lo/arp_ignore,echo 2 /proc/sys/net/ipv4/conf/lo/arp_announce,echo 1 /proc/sys/net/ipv4/conf/all/arp_ignore,echo 2 /proc/sys/net/ipv4/conf/all/arp_announce,RealServer,标准配置方式,编辑,/etc/sysconfig/network-scripts/ifcfg-lo:0,设置,VIP,地址,DEVICE=lo:0,IPADDR=192.168.1.160#VIP,地址,NETMASK=255.255.255.255,BROADCAST=192.168.1.160#,广播地址设置为,VIP,地址,ONBOOT=yes,NAME=loopback,编辑,/etc/,sysctl.conf,设置禁用,arp,net.ipv4.conf.lo.arp_ignore=1,net.ipv4.conf.lo.arp_announce=2,net.ipv4.conf.all.arp_ignore=1,net.ipv4.conf.all.arp_announce=2,演示环境,采用,VS/DR,模式,通过,ipvsadm,命令方式建立演示一个典型的环境:一个,dr,节点、两个,realserver,节点运行,WEB,服务。,VIP,:,192.168.1.160/24,DR:192.168.1.161/24,RealServerA:192.168.1.167/24,RealServerB:192.168.1.168/24,GATEWAY,:,192.168.1.1,DNS,:,192.168.1.1,Demo,演示视频,问题,配置脚本问题,DR,节点成为单点故障源,无,RealServer,的监控状态检测,LVS,需要,High Availability,LVS,需要,High Availability,LVS Piranha,LVS heartbeat,ldirectord,LVS,Keepalived,LVS Piranha,piranha,为,REDHAT,开发的一个,LVS,集群管理工具叫,Piranha,,用于控制,LVS,集群,并提供了一个图形化的配置界面。,Piranha-Load-balanced Web and FTP Clusters,piranha-,gui,service,pulse service,Linux Virtual Server Administration,/HTTP/1.0rnrn,Piranha,安装,Piranha,是调度节点的配置,,RealServer,节点的配置仍不能缺少,rs,节点设置,VIP,rs,节点禁用,ARP,对于,centos,yum-y install piranha,ipvsadm,不能使用,yum,需要安装如下包(具体版本因,OS,不同),php,-common,php-cli,php,ipvsadm,piranha,Piranha,配置文件,/etc/,sysconfig/ha/lvs.cf,添加删除节点,更改调度服务定义,更改参数设置,更改后重新启动,pulse,Piranha,结合,Kickstart,定制,结合,Kickstart,%post,脚本定制,预定义,修改,lvs.cf,快速,采用,VS/DR,模式,通过,Piranha,方式建立演示一个典型的环境:一个,dr,节点、两个,realserver,节点运行,WEB,服务。,VIP,:,192.168.1.160/24,DR:192.168.1.161/24,BDR,:,192.168.1.162/24,RealServerA:192.168.1.167/24,RealServerB:192.168.1.168/24,GATEWAY,:,192.168.1.1,DNS,:,192.168.1.1,配置监控检测,测试节点移除,Demo,演示视频,LVS,Keepalived,keepalived,,Keepalived,在这里主要用作,RealServer,的健康状态检查以及,DR,调度,Master,主机和,BackUP,主机之间,failover,的实现,当网卡就可以实现(主备监听),VRRP,提示:在,centos 5.3,上有异常,VRRP,:,Virtual Router Redundancy Protocol,(虚拟路由器冗余协议,虚拟路由器冗余协议(,VRRP,)是一种选择协议,它可以把一个虚拟路由器的责任动态分配到局域网上的,VRRP,路由器中的一台。控制虚拟路由器,IP,地址的,VRRP,路由器称为主路由器,它负责转发数据包到这些虚拟,IP,地址。一旦主路由器不可用,这种选择过程就提供了动态的故障转移机制,这就允许虚拟路由器的,IP,地址可以作为终端主机的默认第一跳路由器。,LVS,Keepalived,Keepalived,keepalived,是一个类似于,layer3,4&5,交换机制的软件,也就是我们平时说的第,3,层、第,4,层和第,5,层交换。,Keepalived,的作用是检测,web,服务器的状态,如果有一台,web,服务器死机,或工作出现故障,,Keepalived,将检测到,并将有故障的,web,服务器从系统中剔除,当,web,服务器工作正常后,Keepalived,自动将,web,服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的,web,服务器。,Layer3,4&5,工作在,IP/TCP,协议栈的,IP,层,,TCP,层,及应用层,原理分别如下:,Layer3,:,Keepalived,使用,Layer3,的方式工作式时,,Keepalived,会定期向服务器群中的服务器发送一个,ICMP,的数据包(既我们平时用的,Ping,程序),如果发现某台服务的,IP,地址没有激活,,Keepalived,便报告这台服务器失效,并将它从服务器群中剔除,这种情况的典型例子是某台服务器被非法关机。,Layer3,的方式是以服务器的,IP,地址是否有效作为服务器工作正常与否的标准。,Layer4:,如果您理解了,Layer3,的方式,,Layer4,就容易了。,Layer4,主要以,TCP,端口的状态来决定服务器工作正常与否。如,web server,的服务端口一般是,80,,如果,Keepalived,检测到,80,端口没有启动,则,Keepalived,将把这台服务器从服务器群中剔除。,Layer5,:,Layer5,就是工作在具体的应用层了,比,Layer3,Layer4,要复杂一点,在网络上占用的带宽也要大一些。,Keepalived,将根据用户的设定检查服务器程序的运行是否正常,如果与用户的设定不相符,则,Keepalived,将把服务器从服务器群中剔除。,Demo,演示视频,heartbeat,ldirectord,heartbeat,www.linux-ha.org,Heartbeat,heartbeat,是一种心跳检测机制。他可以让两台服务器(,Master Server,和,Slave Server,)互为备份。,Heartbeat,的中文是“心跳检测”。,Slave Server,利用,heartbeat,来检测,Master,Master,的当前状态,当,Master Server,不能工作时(如:,down,机),Slave Server,通过,heartbeat,来接管,Master Server,的所有工作,这个接管过程在,10,秒以内完成,对用户来说没有什么察觉。,Heartbeat,中包含一个,IP take over,(,IP,地址接管)的功能,此功能是通过,ARP,欺骗的手段来完成的。,heartbeat,ldirectord,ldirectord,工作原理:,ldirectord,需要在每台真实服务器,web,服务器的根目录下建立你在配置文件所指定的文件与内容,然后,ldirectord,通过循环检查此文件来确定真实服务器是否存活,如果不存活,则自动将其权重设为,0,,以确保后面客户的连接不会再导向失效的真实服务器,如果真实服务修复上线后,则其又将它的权重设为以使它能够继续为客端连接提供服务。,ldirectord,主要是通过调用,ipvsadm,来创建,ipvs,虚拟服务器表。,ldirectord,(,LinuxDirectorDaemon,)可以对服务和物理服务器进行监测,被广泛地用于,http,和,https,等服务。它是专门为,LVS,(,LinuxVirtualServer,)监控而编写的,不仅能从,heartbeat,的配置文件,/etc/,ha.d/xxx.cf,中读取所有有关,IPVS,(,IPVirtulServer,)路由表配置的信息,还可以方便地被,heartbeat,管理(比如由,heartbeat,来启动和停止,ldirectord,服务)。,Demo,演示视频,LVS,的应用延伸,Web,站点负载(,LAMP/J2EE/,Lighttpd,),结合,Squid,服务成为,CDN,结合,MySQL,Cluster,成为,MySQL,高性能高可靠群集,基于,LVS,的二次开发,在,CU,上发起的两个项目,计划发起一个项目:基于,Centos,或,Ubuntu,重构,OS,最新进展整合,Discuz,展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




LVS实现网络负载均衡实例讲解.ppt



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/13189509.html