




已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网站集群架构设计LVS实现网络负载均衡实例精讲,清楚为什么会出现LVSLVS能够做到的LVS实现方式LVS需要HighAvailabilityLVS的应用延伸,互联网的发展,Unix诞生于1969年1987商业化的互联网诞生1990年互联网的膨胀在继续,群集概念的出现,人口大爆炸,男的比女的多3700万,都去上网。于是服务器吃不消了,有人提出了群集、云-概念。,解决之道,Html语法URL重定向Location返回代码早前的DNS的多个A记录负载均衡产品F5硬件GSLB服务端应用负载均衡从程序解决,开源解决之道,节约采购硬件成本、减少开发难度基于开源应用软件的Modules解决之路apachemod_geoipmod_proxy_balancermod_proxy_ajpnginxGEOModuletomcatsessions1998年5月创立LVS成为了Linux内核的一部分效率高真实运行的Webproxy集群系统,什么是LVS,LVS是章文嵩博士发起和领导的优秀的集群解决方案,许多商业的集群产品,比如RedHat的Piranha等,都是基于LVS的核心代码的。LVS是一个开源的软件,在LINUX平台下实现基于IP负载均衡技术和内容请求分发技术。LVS是LinuxVirtualServer的缩写,意思是Linux虚拟服务器。//,LVS能做到的,TheLinuxVirtualServerisahighlyscalableandhighlyavailableserverbuiltonaclusterofrealservers,withtheloadbalancerrunningontheLinuxoperatingsystem.Thearchitectureoftheserverclusterisfullytransparenttoendusers,andtheusersinteractasifitwereasinglehigh-performancevirtualserver./,高性能的调度器,LVS集群采用IP负载均衡技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,结合健康检测功能调度器自动屏蔽掉服务器的故障,结合HighAvailability技术从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。为此,在设计时需要考虑系统的透明性、可伸缩性、高可用性和易管理性。,LVS不能做到的,机器数量需要多Nginx在一个主机上就可以实现很好的负载基于IP的调度算法不能实现基于语意的调度对于应用程序的sessions需要借助其他方式对于数据库RAC、REPLICATION不同Googlefilesystem,Bigtable,Mapreduce(Hadoop开源的可运行于大规模集群上的分布式并行编程框架),典型LVS结构,一般来说,LVS集群采用三层结构,负载调度器、服务器池、共享存储主要部分组成。,LVS的三个部分,负载调度器(loadbalancer),它是整个集群对外面的前端机,负责将客户的请求发送到一组服务器上执行,而客户认为服务是来自一个IP地址(我们可称之为虚拟IP地址)上的。服务器池(serverpool),是一组真正执行客户请求的服务器,执行的服务有WEB、MAIL、FTP和DNS等。共享存储(sharedstorage),它为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务。,三种IP负载均衡技术,可伸缩网络服务结构,都需要一个前端的负载调度器(主从备份)基于IP负载均衡技术是在负载调度器的实现技术中效率最高的。在已有的IP负载均衡技术中,主要有通过网络地址转换(NetworkAddressTranslation)将一组服务器构成一个高性能的、高可用的虚拟服务器,我们称之为VS/NAT技术(VirtualServerviaNetworkAddressTranslation)。在分析VS/NAT的缺点和网络服务的非对称性的基础上通过IP隧道实现虚拟服务器的方法VS/TUN(VirtualServerviaIPTunneling)通过直接路由实现虚拟服务器的方法VS/DR(VirtualServerviaDirectRouting),VS/DR可以极大地提高系统的伸缩性。VS/NAT、VS/TUN和技术是LVS集群中实现的三种IP负载均衡技术。,VS/NAT的体系结构,半连接的TCP有限状态机,VS/TUN的体系结构,VS/DR的体系结构,调度算法,轮叫调度(Round-RobinScheduling)加权轮叫调度(WeightedRound-RobinScheduling)最小连接调度(Least-ConnectionScheduling)加权最小连接调度(WeightedLeast-ConnectionScheduling)基于局部性的最少链接(Locality-BasedLeastConnectionsScheduling)Cache带复制的基于局部性最少链接(Locality-BasedLeastConnectionswithReplicationScheduling)Cache目标地址散列调度(DestinationHashingScheduling)源地址散列调度(SourceHashingScheduling),LVS实现方式,IPVirtualServerNetfiltermodulels-l/lib/modules/uname-r/kernel/net/ipv4/ipvsRedHat7.3/8.0都把ipvs预先编译到了RedHat发行版的内核当在redhat9.0取消了预编译目前IPVS包含在2.6的内核中,不需要重新编译,非常简单ipvsadmutilitytoadministertheIPVirtualServerinsidetheLinuxkernel,ipvsadm常用命令,增加调度服务ipvsadm-A-t虚拟服务地址:服务端口-s调度算法增加真实服务器ipvsadm-a-t虚拟服务地址:服务端口-r真实服务地址g工作模式删除真实服务器ipvsadm-d-t虚拟服务地址:服务端口-r真实服务地址g工作模式删除调度服务ipvsadm-D-t虚拟服务地址:服务端口-s调度算法查看调度状态ipvsadmlnipvsadm-lnc,状态同步,主节点ipvsadm-start-daemonmaster-mcast-interfaceeth0从节点ipvsadm-start-daemonbackup-mcast-interfaceeth0,session会话保持Persistence,-ppersistenttimeout持久稳固的服务。这个选项的意思是来自同一个客户的多次请求,将被同一台真实的服务器处理。timeout的默认值为300秒。解决这个问题,最有效的办法就是在后端web节点间实现session复制,用户在任何一个真实web节点上的session发生变化时,通过一定的策略同步复制到其它web节点上。,调度器与真实服务器配置,在调度器上设置VIP调度地址开启IP转发ifconfigeth0:0虚拟服务地址netmask55broadcast虚拟服务地址uprouteadd-host虚拟服务地址deveth0:0echo1/proc/sys/net/ipv4/ip_forward,调度器与真实服务器配置,在真实服务器上设置VIP应答地址屏蔽arp请求ifconfiglo:0虚拟服务地址netmask55borcast虚拟服务地址uprouteadd-host虚拟服务地址devlo:0echo1/proc/sys/net/ipv4/conf/lo/arp_ignoreecho2/proc/sys/net/ipv4/conf/lo/arp_announceecho1/proc/sys/net/ipv4/conf/all/arp_ignoreecho2/proc/sys/net/ipv4/conf/all/arp_announce,RealServer标准配置方式,编辑/etc/sysconfig/network-scripts/ifcfg-lo:0设置VIP地址DEVICE=lo:0IPADDR=60#VIP地址NETMASK=55BROADCAST=60#广播地址设置为VIP地址ONBOOT=yesNAME=loopback编辑/etc/sysctl.conf设置禁用arpnet.ipv4.conf.lo.arp_ignore=1net.ipv4.conf.lo.arp_announce=2net.ipv4.conf.all.arp_ignore=1net.ipv4.conf.all.arp_announce=2,演示环境,采用VS/DR模式,通过ipvsadm命令方式建立演示一个典型的环境:一个dr节点、两个realserver节点运行WEB服务。VIP:60/24DR:61/24RealServerA:67/24RealServerB:68/24GATEWAY:DNS:,Demo演示视频,问题,配置脚本问题DR节点成为单点故障源无RealServer的监控状态检测LVS需要HighAvailability,LVS需要HighAvailability,LVSPiranhaLVSheartbeatldirectordLVSKeepalived,LVSPiranha,piranha为REDHAT开发的一个LVS集群管理工具叫Piranha,用于控制LVS集群,并提供了一个图形化的配置界面。Piranha-Load-balancedWebandFTPClusterspiranha-guiservicepulseserviceLinuxVirtualServerAdministration,Piranha,GET/HTTP/1.0rnrn,Piranha安装,Piranha是调度节点的配置,RealServer节点的配置仍不能缺少rs节点设置VIPrs节点禁用ARP对于centosyum-yinstallpiranhaipvsadm不能使用yum需要安装如下包(具体版本因OS不同)php-commonphp-cliphpipvsadmpiranha,Piranha配置文件,/etc/sysconfig/ha/lvs.cf添加删除节点更改调度服务定义更改参数设置更改后重新启动pulse,Piranha结合Kickstart定制,结合Kickstart%post脚本定制预定义修改lvs.cf快速,采用VS/DR模式,通过Piranha方式建立演示一个典型的环境:一个dr节点、两个realserver节点运行WEB服务。VIP:60/24DR:61/24BDR:62/24RealServerA:67/24RealServerB:68/24GATEWAY:DNS:配置监控检测,测试节点移除,Demo演示视频,LVSKeepalived,keepalivedKeepalived在这里主要用作RealServer的健康状态检查以及DR调度Master主机和BackUP主机之间failover的实现当网卡就可以实现(主备监听)VRRP提示:在centos5.3上有异常,VRRP:VirtualRouterRedundancyProtocol(虚拟路由器冗余协议,虚拟路由器冗余协议(VRRP)是一种选择协议,它可以把一个虚拟路由器的责任动态分配到局域网上的VRRP路由器中的一台。控制虚拟路由器IP地址的VRRP路由器称为主路由器,它负责转发数据包到这些虚拟IP地址。一旦主路由器不可用,这种选择过程就提供了动态的故障转移机制,这就允许虚拟路由器的IP地址可以作为终端主机的默认第一跳路由器。,LVSKeepalived,Keepalivedkeepalived是一个类似于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端口的状态来决定服务器工作正常与否。如webserver的服务端口一般是80,如果Keepalived检测到80端口没有启动,则Keepalived将把这台服务器从服务器群中剔除。Layer5:Layer5就是工作在具体的应用层了,比Layer3,Layer4要复杂一点,在网络上占用的带宽也要大一些。Keepalived将根据用户的设定检查服务器程序的运行是否正常,如果与用户的设定不相符,则Keepalived将把服务器从服务器群中剔除。,Demo演示视频,heartbeatldirectord,heartbeatHeartbeatheartbeat是一种心跳检测机制。他可以让两台服务器(MasterServer和SlaveServer)互为备份。Heartbeat的中文是“心跳检测”。SlaveServer利用heartbeat来检测MasterMaster的当前状态,当MasterServer不能工作时(如:down机)SlaveServer通过heartbeat来接管MasterServer的所有工作,这个接
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届嘉兴市秀洲区九年级化学第一学期期中质量检测模拟试题含解析
- 2026届福建省莆田市哲理中学九上化学期中达标测试试题含解析
- 2026届山东省青岛市李沧区化学九上期中监测试题含解析
- 配送车司机雇佣合同6篇
- 离婚自愿协议书:财产分配、子女监护及债务分担协议
- 矿业节能减排矿长及环保顾问双重聘用合同
- 租赁车辆安全培训合同违约责任及赔偿细则
- 私人土地买卖合同中的土地规划与建设要求协议
- 专升本护理云南考试题及答案
- 专科思政考试题库及答案
- 多囊卵巢综合症及护理方法
- 2025年城市更新与历史文化街区保护相结合的社区治理模式研究报告
- DB1311T 091-2025 旧水泥混凝土路面多锤头碎石化施工技术规范
- 前臂骨折护理查房
- 排他协议合同协议
- 经济数学微积分 杨慧卿 第4版 教案 第1-3章 函数、极限与连续;一元函数微积分;一元函数积分学
- 脑卒中护理新进展
- 足浴店租赁合同
- 2025-2030中国术中神经生理监测行业市场发展趋势与前景展望战略研究报告
- 《YS-T621-2021百叶窗用铝合金带、箔材》
- 《胸痛中心质控指标及考核标准》(第三版修订版)
评论
0/150
提交评论