LVS-DR实现基于LAMP的负载均衡

基于搭建LAMP环境,并实践基于DNS做基于域名的虚拟主机中的环境,重新搭建一个同样的环境要求:

a)实现web服务文件更新的自动同步到另一台机器上

b)数据库实现主从复制

c)通过shell脚本实现网站源代码备份和mysql备份,备份策略包括全量备份、增量备份、差异备份

通过lvs实现负载均衡,要求使用DR模式,并能把其中的原理部分通过自己的理解汇总出来。

lvs:Linux Virtual Server, Linux虚拟四层交换的服务器,是一个虚拟的服务器集群系统。LVS有LVS-NAT,LVS-DR,LVS-TUN三种模式,其中DR模式意为Direct Routing(直接路由),是调度器与实际服务器都有一块网卡连在同一物理网段上的情况。以下是DR模式配置实验。

1,实验环境如下:

首先需在DR上安装IPVSADM程序包。并利用前面实验搭建好的两台LAMP环境的服务器做真实服务器。并启动HTTPD服务,验证如下:

2:在DR上配置VIP和DIP,并配置DR.

3,分别配置两台RS。先抑制ARP响应,然后设置lo:0上IP地址。

4,LVS负载均衡测试:

arp响应限制说明:

1)arp_ignore:

定义对目标地址为本地IP的ARP询问不同的应答模式0

0 - (默认值): 回应任何网络接口上对任何本地IP地址的arp查询请求

1 - 只回答目标IP地址是来访网络接口本地地址的ARP查询请求

2 -只回答目标IP地址是来访网络接口本地地址的ARP查询请求,且来访IP必须在该网络接口的子网段内

3 - 不回应该网络界面的arp请求,而只对设置的唯一和连接地址做出回应

4-7 - 保留未使用

8 -不回应所有(本地地址)的arp查询

2)arp_announce:

对网络接口上,本地IP地址的发出的,ARP回应,作出相应级别的限制: 确定不同程度的限制,宣布对来自本地源IP地址发出Arp请求的接口

0 - (默认) 在任意网络接口(eth0,eth1,lo)上的任何本地地址

1 -尽量避免不在该网络接口子网段的本地地址做出arp回应. 当发起ARP请求的源IP地址是被设置应该经由路由达到此网络接口的时候很有用.此时会检查来访IP是否为所有接口上的子网段内ip之一.如果改来访IP不属于各个网络接口上的子网段内,那么将采用级别2的方式来进行处理.

2 - 对查询目标使用最适当的本地地址.在此模式下将忽略这个IP数据包的源地址并尝试选择与能与该地址通信的本地地址.首要是选择所有的网络接口的子网中外出访问子网中包含该目标IP地址的本地地址. 如果没有合适的地址被发现,将选择当前的发送网络接口或其他的有可能接受到该ARP回应的网络接口来进行发送.

LVS原理总结:

ipvsadm:用户空间的命令行工具,用于管理集群服务;

ipvs: 工作内核中netfilter INPUT钩子上;

1、LVS的LVS-DR,LVS-NAT,LVS-TUN三种模式:

lvs-nat:多目标的DNAT(iptables);它通过修改请求报文的目标IP地址(同时可能会修改目标端口)至挑选出某RS的RIP地址实现转发;

(1)RS应该和DIP应该使用私网地址,且RS的网关要指向DIP;

(2)请求和响应报文都要经由director转发;极高负载的场景中,director可能会成为系统瓶颈;

(3)支持端口映射;

(4)RS可以使用任意OS;

(5)RS的RIP和Director的DIP必须在同一IP网络;

lvs-dr:direct routing它通过修改请求报文的目标MAC地址进行转发;

(1) 保证前端路由器将目标IP为VIP的请求报文发送给director;通过静态绑定或者arptables或者修改RS主机内核的参数实现。

(2)RS的RIP可以使用私有地址;但也可以使用公网地址;

(3)RS跟Director必须在同一物理网络中;

(4)请求报文经由Director调度,但响应报文一定不能经由Director;

(5)不支持端口映射;

(6)RS的网关不能指向DIP;

(7) RS可以大多数OS;

lvs-tun:不修改请求报文的ip首部,而是通过在原有的ip首部之外,再封装一个ip首部,类似于网络隧道机制实现。

(1)RIP, DIP, VIP均为公网地址;

(2)RS的网关的不能指向DIP;

(3)请求报文必须经由director调度,但响应报文必须不能经由director;

(4)不支持端口映射;

(5)RS的OS必须支持隧道功能;

2、DR模式工作原理:

1,接收client的请求,根据设定的负载均衡算法选取一台realserver的ip;

2,以选取的这个ip对应的mac地址作为目标mac,然后重新将IP包封装成帧转发给这台RS;DR将请求转发给RS是在数据链路层来实现的,所以DR必须和RS在同一网段里面。

3,RealServer要在lo接口上配置VIP,因为要让RS能够处理目标地址为vip的IP包,首先必须要让RS能接收到这个包,所以在lo上配置vip能够完成接收包并将结果返回client。

RealServer在局域网中收到包,拆开后发现目标IP(VIP)与本地匹配,于是处理这个报文。随后重新封装报文,发送到局域网。client与VS同一网段,那么client将收到这个回复报文。如果跨了网段,那么报文通过经由网关路由器从Internet返回给client。

时间: 2024-10-03 14:11:51

LVS-DR实现基于LAMP的负载均衡的相关文章

使用LVS+DR搭建集群实现负载均衡

使用LVS+DR搭建集群实现负载均衡 DR模式的概述与工作原理 DR模式服务概述:        Direct Routing(直接路由) --在同一个地域,同一个网段 Director分配请求到不同的real server.real server处理请求后直接回应给用户,这样director负载均衡器仅处理客户机与服务器的一半连接.负载均衡器仅处理一半的连接,避免了新的性能瓶颈,同样增加了系统的可伸缩性.Direct Routing由与采用物理层(修改MAC地址)技术,因此所有服务器都必须在一

LVS集群中的IP负载均衡技术

章文嵩 ([email protected]) 转自LVS官方参考资料 2002 年 4 月 本文在分析服务器集群实现虚拟网络服务的相关技术上,详细描述了LVS集群中实现的三种IP负载均衡技术(VS/NAT.VS/TUN和VS/DR)的工作原理,以及它们的优缺点. 1.前言在 前面文章中,讲述了可伸缩网络服务的几种结构,它们都需要一个前端的负载调度器(或者多个进行主从备份).我们先分析实现虚拟网络服务的主要技术,指出 IP负载均衡技术是在负载调度器的实现技术中效率最高的.在已有的IP负载均衡技术

LVS+Keepalived搭建MyCAT高可用负载均衡集群

LVS+Keepalived 介绍 LVS LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一.目前有三种IP负载均衡技术(VS/NAT.VS/TUN和VS/DR),十种调度算法(rrr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq). Keepalvied Keepalived在这里主要用作RealServer的健康状态检查以及Mast

使用LVS+NAT搭建集群实现负载均衡

使用LVS+NAT搭建集群实现负载均衡 LVS集群简介    计算机集群简称集群是一种计算机系统,它通过一组松散集成的计算机软件或硬件连接起来高度紧密地协作完成计算工作.在某种意义上,他们可以被看作是一台计算机.集群系统中的单个计算机通常称为节点,通常通过局域网连接,但也有其它的可能连接方式.集群计算机通常用来改进单个计算机的计算速度和/或可靠性.一般情况下集群计算机比单个计算机,比如工作站或超级计算机性能价格比要高得多        LVS集群分布图   集群有三种类型:           

实现基于DNS的负载均衡

转自:http://blog.sina.com.cn/s/blog_4e424e2101000c3g.html 如果你有一个很受欢迎的Web站点,你会发现当请求的连接数增加时,服务器的响应延时也会随之增加.虽然你可以增加RAM.升级处理器.使用更快的驱动器及总线,这在短期内会有一定的帮助,但最终会发现一台服务器无法完成需要的任务. 使用多台服务器平衡负载是一个不错的想法,你可以在你的服务器池中随意增加多台服务器来提高服务器的性能和增强网络的稳定性.如果你的服务器池中有多台服务器,当一台down机

用haproxy结合keepalived实现基于LNMP的负载均衡和高可用

今天我们讲haproxy结合keepalived实现LNMP的负载均衡和高可用,现在的公司大部分都基于haproxy实现负载均衡.下面以一个事例去给大家详细讲解如何去实现: 一.用haproxy结合keepalived实现基于lnmp的负载均衡和高可用服务,要求: (1)实现动静分离,图片和css,js都分离到专门的静态服务器上 (2)只允许172.17网段用户访问 (3)对于动态请求,要求实现基于cookie的会话保持 整体架构如下: 1.实验前需要关闭防火墙和selinux,以及同步时间.

基于Haproxy构建负载均衡集群

1.HAPROXY简介 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种负载均衡解决方案.HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理.HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接.并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的web服务器不被暴露到网络上. 官网:http://www.haproxy.com 2.HAProxy的特点是:1

基于Apache+Tomcat负载均衡的两种实现方法

Apache+Tomcat实现负载均衡的两种实现方法 如果我们将工作在不同平台的apache能够实现彼此间的高效通信,因此它需要一种底层机制来实现--叫做apr Apr的主要目的就是为了其能够让apache工作在不同的平台上,但在linux上安装apache的时候通常都是默认安装的 [[email protected] ~]#rpm -qi aprName                 :apr                                        Relocation

云计算设计模式(十七)——基于队列的负载均衡模式

云计算设计模式(十七)——基于队列的负载均衡模式 使用队列,作为一项任务,它调用才能顺利间歇重物,可能会以其他方式导致失败的服务或任务超时服务之间的缓冲区.这个模式可以帮助最小化峰中的可用性和响应需求为任务和服务的影响. 背景和问题 许多解决方案在云中涉及运行调用服务的任务.在这种环境下,如果一个服务进行间歇重物,它可能会导致性能或可靠性问题 一个服务可以是一个组件,它是相同的溶液作为利用它的任务的一部分,或者它可以是第三方服务提供访问经常使用的资源,如高速缓存或存储服务.如果相同的服务是由多个