




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Linux负载均衡一、LVS 既述及原理LVS 是一个开源的软件, 由毕业于国防科技大学的章文嵩博士于 1998 年 5 月创立,可以实现 LINUX 平台下的简单负载均衡。LVS 是 LinuxVirtualServer 的缩写,意思是Linux 虚拟服务器。LVS 集群采用 IP 负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。为此,在设计时需要考虑系统的透明性、可伸缩性、高可用性和易
2、管理性。一般来说,LVS 集群采用三层结构,其主要组成部分为:1)负载调度器(loadbalancer),它是整个集群对外面的前端机,负责将客户的请求发送到一组服务器上执行, 而客户认为服务是来自一个 IP 地址(我们可称之为虚拟 IP 地址)上的。2)服务器池(serverpool),是一组真正执行客户请求的服务器,执行的服务有WERMAIL、FTP 和 DNS 等。3)共享存储(sharedstorage),它为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务。调度器是服务器集群系统的唯一入口点(SingleEntryPoint),它可以采用 IP 负载均
3、衡技术、基于内容请求分发技术或者两者相结合。在 IP 负载均衡技术中,需要服务器池拥有相同的内容提供相同的服务。当客户请求到达时,调度器只根据服务器负载情况和设定的调度算法从服务器池中选出一个服务器,将该请求转发到选出的服务器,并记录这个调度;当这个请求的其他报文到达,也会被转发到前面选出的服务器。在基于内容请求分发技术中,服务器可以提供不同的服务,当客户请求到达时,调度器可根据请求的内容选择服务器执行请求。因为所有的操作都是在 Linux 操作系统核心空间中将完成的,它的调度开销很小,所以它具有很高的吞吐率。服务器池的结点数目是可变的。当整个系统收到的负载超过目前所有结点的处理能力时,可以在
4、服务器池中增加服务器来满足不断增长的请求负载。对大多数网络服务来说,请求问不存在很强的相关性,请求可以在不同的结点上并行执行,所以整个系统的性能基本上可以随着服务器池的结点数目增加而线性增长。共享存储通常是数据库、网络文件系统或者分布式文件系统。|服务器结点需要动态更新的数据一般存储在数据库系统中,同时数据库会保证并发访问时数据的一致性。静态的数据可以存储在网络文件系统(如 NFS/CIFS 中,但网络文件系统的伸缩能力有限,一般来说,NFS/CIFSK 务器只能支持 36 个繁忙的服务器结点。对于规模较大的集群系统,可以考虑用分布式文件系统,如 AFSGFSCoda 和Intermezzo
5、等。分布式文件系统可为各服务器提供共享的存储区,它们访问分布式文件系统就像访问本地文件系统一样,同时分布式文件系统可提供良好的伸缩性和可用性。此外,当不同服务器上的应用程序同时读写访问分布式文件系统上同一资源时,应用程序的访问冲突需要消解才能使得资源处于一致状态。这需要一个分布式锁管理器(DistributedLockManager-),它可能是分布式文件系统内部提供的, 也可能是外部的。开发者在写应用程序时,可以使用分布式锁管理器来保证应用程序在不同结点上并发访问的一致性。负载调度器、服务器池和共享存储系统通过高速网络相连接,如 100Mbps 交换网络、Myrinet 和 Gigabit
6、网络等。使用高速的网络,主要为避免当系统规模扩大时互联网络成为整个系统的瓶颈。GraphicMonitor 是为系统管理员提供整个集群系统的监视器,它可以监视系统的状态。GraphicMonitor 是基于浏览器的,所以无论管理员在本地还是异地都可以监测系统的状况。为了安全的原因,浏览器要通过 HTTPS(SecureHTTP 协议和身份认证后,才能进行系统监测,并进行系统的配置和管理。可伸缩网络服务的几种结构,它们都需要一个前端的负载调度器(或者多个进行主从备份)。我们先分析实现虚拟网络服务的主要技术,指出 IP 负载均衡技术是在负载调度器的实现技术中效率最高的。在已有的 IP 负载均衡技术
7、中,主要有通过网络地址转换(NetworkAddressTranslation)将一组服务器构成一个高性能的、高可用的虚拟服务器,我们称之为 VS/NAT 技术(VirtualServerviaNetworkAddressTranslation)。在分析 VS/NAT 的缺点和网络服务的非对称性的基础上, 我们提出了通过 IP 隧道实现虚拟服务器的方法 VS/TUN (VirtualServerviaIPTunneling,和通过直接路由实现虚拟服务器的方法 VS/DR(VirtualServerviaDirectRoutin。,它们可以极大地提高系统的伸缩性。VS/NATVS/NAT、VS/
8、TUNVS/TUN 和 VS/DRVS/DR 技术是 LVSLVS 集群中实现的三种 IPIP 负载均衡技术。1)使用 VS/NAT 方法:客户通过 VirtualIPAddress(虚拟服务的 IP 地址)访问网络服务时,请求报文到达调度器,调度器根据连接调度算法从一组真实服务器中选出一台服务器,将报文的目标地址 VirtualIPAddress 改写成选定服务器的地址,报文的目标端口改写成选定服务器的相应端口,最后将修改后的报文发送给选出的服务器。同时,调度器在连接 Hash 表中记录这个连接,当这个连接的下一个报文到达时,从连接 Hash 表中可以得到原选定服务器的地址和端口,进行同样的
9、改写操作,并将报文传给原选定的服务器。当来自真实服务器的响应报文经过调度器时,调度器将报文的源地址和源端口改为VirtualIPAddress 和相应的端口,再把报文发给用户。当使用 VS/NAT 方法时,如果有大量的响应数据经过调度器,调度器将成为整个集群的瓶颈。2)使用 VS/TUN 方法:VS/TUN 的连接调度和管理与 VS/NAT 中的一样,只是它的报文转发方法不同。调度器根据各个服务器的负载情况,动态地选择一台服务器,将请求报文封装在另一个 IP 报文中,再将封装后的 IP 报文转发给选出的服务器;服务器收到报文后,先将报文解封获得原来目标地址为 VIP 的报文,服务器发现 VIP
10、 地址被配置在本地的 IP 隧道设备上,所以就处理这个请求,然后根据路由表将响应报文直接返回给客户。3)使用 VS/DR 方法:调度器和服务器组都必须在物理上有一个网卡通过不分断的局域网相连,如通过交换机或者高速的 HUB 相连。VIP 地址为调度器和服务器组共享,调度器配置的 VIP 地址是对外可见的,用于接收虚拟服务的请求报文;所有的服务器把VIP 地址配置在各自的 Non-ARP 网络设备上,它对外面是不可见的,只是用于处理目标地址为 VIP 的网络请求。在 VS/DR 中,调度器根据各个服务器的负载情况,动态地选择一台服务器,不修改也不封装 IP 报文,而是将数据帧的 MAC 地址改为
11、选出服务器的 MAC 地址,再将修改后的数据帧在与服务器组的局域网上发送。因为数据帧的 MAC 地址是选出的服务器,所以服务器肯定可以收到这个数据帧,从中可以获得该 IP 报文。当服务器发现报文的目标地址 VIP 是在本地的网络设备上,服务器处理这个报文,然后根据路由表将响应报文直接返回给客户。LVS 负载平衡器调度后台真实服务器的方法有八种,分别如下:1)RoundRobin 轮叫法2)WeightedRoundRobin 加权轮叫3)LeastConnections 最少链接4)WeightedLeastConnections 力口权最少链接5)Locality-BasedLeastCon
12、nections 基于局部性的最少链接6)Locality-BasedLeastConnectionswithReplication 带复制的基于局部性最少链接7)DestinationHashing 目标地址散列8)SourceHashing 源地址散列二、实现 LVS 负载平衡下面以实验的形式来说明 LVS 负载平衡的功能(本例是使用 LVSDR 模式, 调度方法为轮循呼叫),实验拓扑图如下所示:分析:上图中 0/16 为负载平衡器(实现 LVS)而 0/16、0/16 为两台 web 服务器。客户端访问负载平衡器的虚拟 IP 时
13、,由负载平衡器调度使用轮叫法调度两台 web 服务器。1.初始化各服务器如下图所示:(1)负载平衡器初始化(设置 IP 地址、计算机名称、hosts 文件)如下图所示:/etc/sysconfig/network-scripts/ifcfg-eth0 配置如下:BOOTPROT0-stdljc川DDR-fiO:OC:29UniONBOOT=yesI?IDDR-17221.0.30/etc/sysconfig/network 文件配置如下:KTUORkiXG_IPK=yesimssxwil=nIbmaslL,exampleci/etc/hosts 文件配置如下所示:n1hmasterlocaIh
14、ost*localdomainlocalho1ucaIhusl6.lucaldumtii(16luca1hub16为了能够顺利的看到实验效果,禁用 selinux,/etc/sysconfig/selinux 文件配置如下:二Thrfi1cront:-n1sihrrIntc?ofS|J】mironthr,$1.WSELINUX=contakeoneofthesethreevalues:二cnttJiCing-SL1.inuxsecuritjpolicyi&enforced,=pernissiveSELinuprintswarningsinsLeadofenforcing.-disabl
15、ed-SELinuxisfullydisabled,SEL1KIX二场ablqdlCLJ1T、TTTX1U*FnlA事ViL1-4-KJ!d1K一 0111no0,iC4说明:上述内容设置完毕后必须重新启动计算机让其生效。(2)使用上述相同方法设置两台 web 服务器的 IP 地址、计算机名、hosts 文件、及禁用selinux 并重启计算机。配置负载平衡器(LVS 庄机(1)为了不受防火墙的影响,在实验前关闭防火墙,如下图所示:11门nt1hmas1(?r=servirciptablessti)p清除防火堵规则:确定把ins设置为ACCEPT策略:Tiller用毛正在卸载Iiptables
16、模块:I确定1IroutujnIbmcLitci,,|二Irc-otnIbmastcr|mcunL/hJc/tnntmounttblockdevice/dev/hdeisnrile-ptLtccIcd.mountinpread-onlyrootAnlbmaster产cd/rnnt/Clustor蔡元纪制作Irootan1bmalcrC1uJStci|一口mithiDsadm1.二工-8+1.jW6.r口m-warning:ipvsadn14248*1*i386.rpm-HeaderV3DSAsignature:米爪”、keyD37017186Preparingi.(100K*MMOK=.Mm.
17、MKJ=JBM.WBV*KAHHLMKTHTJiBM*XB-d-KUMS*1!KMMM.aI1I1f1L1LIlFQ1ipvsadm(6X=|100(2)在负载平衡器上手工建立 LVS 调度脚本,如下图所示:rooton1boiasterClustervim/etc/init.d/vip.sh127,0.0Jytt;117202.LVS 调度脚本的内容如下图所示:=h;n/hash;ifconfigethOiO172*24.0.100broadcast55netmask235uprouteadd-lir-ILL_JJ19Jex灯LhG;ip5adm门-1L_,2L、,1。
18、:$0msadrn说明:首先将 LVS 虚拟 IP00 绑定至 ij 本地的 eth0:0 设备上,设置本地计算机要到达00 的数据需要使用 eth0:0 设备;ipvsadmC代表清除以前的 ipvsadm 设置;ipvsadm-A 代表在内核的虚拟服务器表中添加一条新的虚拟服务器记录,也就是增加一台新的虚拟服务器;-a 代表在内核虚拟服务器表的一条记录里添加一条新的真实服务器记录,也就是在一个虚拟服务器中增加一台新的真实服务器;-t-tcp-serviceservice-address 说明虚拟服务器提供的是 tcp 的服务;-s 代表使用的调度算法
19、,有这样几个选项 rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq,其中 rr 为轮叫法;-g 指定 LVS 的工作模式为直接路由模式(也是 LVS 默认的模式)(3)为 LVS 调度脚本添加相关的执行权限,然后执行调度脚本,并设置系统开机后自动执行该脚本,如下图所示::0:httpf172.24.0,IO:httpFjrarJHeightctiCcnnnrtctConnRoute10RouteI3.设置 0/16Web01 服务器(1)在服务器 web01 上首先关闭防火墙,服务,最后建立 web01 主页如下图所示:然后安装
20、 httpd 的 apache 软件包,并启动 apachel:httpd7fH:二二二=二二匚二二二二二二二二二二二二|100uI|roDtcvcbOScier|scrvicchttpdstart启动httcxh南定IrootdwcbOlServer|zechoh1111111111/var/wwi*/html/1ndex+htmlIrcnt(iweb01Serverl=(2)为了让 web01 绑定群集虚拟 IP,并忽略 ARP 请求包,需要建立脚本文件完成,如下图所示:iGiwehOlServerLIE/t?tc/1n11,d,sh|脚本文件的内容如下图所示:#!/bin/bashiif
21、configla:0172240100broadcast172,24*255,255netmask253255*255*255uP蔡元纪制作routeadd-E11-t172.21,0*10deloin1/proc/sys/rift/ipi-1/conr/lu/arp_ignore:_/proc/byb/nt;l/ip4/conf/1o/arp_annunceec?-1/proc/sys/net/ipv4/conf/all/arp_ignorc2/proc/sys/nct/ipv4Aonf/a11/arpannouncessc110说明: 上图中首先将00的虚拟IP绑定到本
22、机网卡的lo环回接口上,然后告诉本地计算机:到达 00 的数据需要使用设备 lo:0;然后设置忽略本地 ARP 请求, 最后使用 sysctlR 使之生效。(3)为脚本文件添加相关执行权限,然后执行脚本,并设置该脚本系统开机时自动启动,如下图所示:rootfivcbOl=5crviceiptablesstop清除防火墙规则:把chains设置为CCLPT策略:filter正在酬载liptabitb模块;Ir*.?ub01|二IiJuLCwebOl|二muuni/dz/hdc/mntmonntJblockdcicc/Jcv/hdcisnritc-pr.levied,nioun
23、iing1rootctycbOlcd/mntrootlebOlrnnt=cd5uccrootOwebOlServer注ncnr*vhhttD,I】1.广口电确定确定1就定rcadonlywarnin&ihttpd-2,2,3-6.e151386,rowHeaderV3DSAsisnatureiXOKY,keyID3蔡元纪制作(icm!1001Lliiepdring.rootawebOlServerJ1?chmoda+x/etc/initd/webOlshIrootatwcbOlScrcr|-IrootcowcbOlServer/ctcin11.d/webO1,shnet*ipv4ip_
24、irward=0netipv4.conf.defau11.rp_li1ter-1net,ip4.mnf,defau:Itseeept_,soijrcc_rnule=0ketrie1*syjiiq=0ketnel.coveruse_pid-1netHp4.tcp_syricookits=1_kernel.msgmnb-65S36禁兀纪制作kernel.rtibgniax-63336kernel.shmmax=4294987295kernel,5hna1I=2(i8435436rnotCwcbOlServer?roottwcbOlServereqhQ./tr/imt.d/rebOl*:sh*/elr/u-l”aI4.设置 0/16web02 服务器(1)在服务器 web02 上首先关闭防火墙,然后安装 httpd 的 apache 软件包,并启动 apache 服务,最后建立 web02 主页如下图所示:说明:为了更明显的看到实验效果,我们在两台 web 服务器上建立不相同的主页内容建立。(2)在 web02 的/etc/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房地产开发项目资料管理计划
- 水利工程技术文件管理计划
- 2025年幼儿园尊重与包容教育工作计划
- 2025班组安全培训考试试题答案各地真题
- 2024-2025日常安全培训考试试题及参考答案【预热题】
- 2025年企业级安全培训考试试题加答案可下载
- 2024-2025新进厂职工安全培训考试试题附参考答案(满分必刷)
- 七年级语文下册“比喻+拟人”考点梳理
- 一年级班主任道德教育专题研讨计划
- 康复科2025年患者恢复计划
- 私人建房委托协议书
- 基于大数据的新兴市场机器人应用模式研究-洞察阐释
- 《艾萨克·牛顿》课件
- 抱负与使命主题作文导写-2024-2025学年高一语文单元写作深度指导(统编版必修下册)
- 福建省莆田市2025届高中毕业班高三年级第四次教学质量检测试卷物理及答案(莆田四检)
- 货物装卸仓储合同协议
- 2024年四川省宁南县事业单位公开招聘医疗卫生岗笔试题带答案
- 初中数学融入课程思政的路径探索
- 智能制造对融资租赁行业影响-全面剖析
- 银行资产负债管理试题及答案
- 压力容器安全教育培训
评论
0/150
提交评论