Web负载均衡(ipvsadm,DR模式)

Ubuntu 上ipvsadm负载均衡(DR模式,以80端口为例)

说明:3台服务器,ip分别为:10.0.1.2  10.0.1.3  10.0.1.4  虚拟ip:10.0.1.10

ipvsadm服务器(10.0.1.2)

$ sudo apt-get install ipvsadm

$ sudo ifconfig eth0:0 10.0.1.10 netmask 255.255.255.255 broadcast 10.0.1.10

$ sudo ip a (查看设置是否生效)

$ sudo route add -host 10.0.1.10 dev eth0:0

$ sudo route -n  (查看设置是否生效)

$ sudo ipvsadm -A -t 10.0.1.10:80 -s rr   (注rr为轮询模式)

$ sudo ipvsadm -a -t 10.0.1.10:80 -r 10.0.1.3:80 -g

$ sudo ipvsadm -a -t 10.0.1.10:80 -r 10.0.1.4:80 -g

$ sudo ipvsadm --save  (保存ipvsadm设置)

$ sudo ipvsadm -l (查看ipvsadm设置)

$ sudo ipvsadm -C  (清除ipvsadm设置)

$ sudo ipvsadm -a  (增加real服务器,如:$ sudo ipvsadm -a -t 10.0.1.10:80 -r 10.0.1.3:80 -g)

$ sudo ipvsadm -d   (删除real服务器,如:$ sudo ipvsadm -d -t 10.0.1.10:80 -r 10.0.1.3:80)

设置开机自启动:

$ sudo vi /etc/rc.local  (在exit 0上面)

按a或i进入编辑模式

ipvsadm -A -t 10.0.1.10:80 -s rr   (注rr为轮询模式)

ipvsadm -a -t 10.0.1.10:80 -r 10.0.1.3:80 -g

ipvsadm -a -t 10.0.1.10:80 -r 10.0.1.4:80 -g

ipvsadm --save

按Esc键退出编辑模式

:wq (保存并退出)

ipvsadm客户端(10.0.1.3)

$ sudo ifconfig lo:0 10.0.1.10 netmask 255.255.255.255 broadcast 10.0.1.10

$ sudo ip a (查看设置是否生效)

$ sudo route add -host 10.0.1.10 dev lo:0

$ sudo route -n  (查看设置是否生效)

$ sudo echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore

$ sudo echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore

$ sudo echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce

$ sudo echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce

设置开机自启动:

$ sudo vi /etc/rc.local  (在exit 0上面)

按a或i进入编辑模式

ifconfig lo:0 10.0.1.10 netmask 255.255.255.255 broadcast 10.0.1.10

按Esc键退出编辑模式

:wq (保存并退出)

ipvsadm客户端(10.0.1.4)

$ sudo ifconfig lo:0 10.0.1.10 netmask 255.255.255.255 broadcast 10.0.1.10

$ sudo ip a (查看设置是否生效)

$ sudo route add -host 10.0.1.10 dev lo:0

$ sudo route -n  (查看设置是否生效)

$ sudo echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore

$ sudo echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore

$ sudo echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce

$ sudo echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce

设置开机自启动:

$ sudo vi /etc/rc.local  (在exit 0上面)

按a或i进入编辑模式

ifconfig lo:0 10.0.1.10 netmask 255.255.255.255 broadcast 10.0.1.10

按Esc键退出编辑模式

:wq (保存并退出)

验证:

在2主机上分别建2个页面1.html  内容写各自主机ip

http://10.0.1.10/1.html

第一次会显示10.0.1.3

第二次会显示10.0.1.4

ipvsadm调度算法:

一、轮叫调度(Round-Robin Scheduling) rr
轮叫调度(Round
Robin Scheduling)算法就是以轮叫的方式依次将请求调度不同的服务器,即每次调度执行i = (i + 1) mod
n,并选出第i台服务器。算法的优点是其简洁性,它无需记录当前所有连接的状态,所以它是一种无状态调度。

二、加权轮叫调度(Weighted
Round-Robin Scheduling) wrr
加权轮叫调度(Weighted

Round-Robin
Scheduling)算法可以解决服务器间性能不一的情况,它用相应的权值表示服务器的处理性能,服务器的缺省权值为1。假设服务器A的权值为1,B的
权值为2,则表示服务器B的处理性能是A的两倍。加权轮叫调度算法是按权值的高低和轮叫方式分配请求到各服务器。权值高的服务器先收到的连接,权值高的服
务器比权值低的服务器处理更多的连接,相同权值的服务器处理相同数目的连接数。

三、最小连接调度(Least-Connection
Scheduling) lc
最小连接调度(Least-Connection
Scheduling)算法是把新的连接请求分配到当前连接数最小的服务器。最小连接调度是一种动态调度算法,它通过服务器当前所活跃的连接数来估计服务
器的负载情况。调度器需要记录各个服务器已建立连接的数目,当一个请求被调度到某台服务器,其连接数加1;当连接中止或超时,其连接数减一。

四、加权最小连接调度(Weighted
Least-Connection Scheduling)wlc
加权最小连接调度(Weighted Least-Connection
Scheduling)算法是最小连接调度的超集,这个是ipvsadm的默认算法。各个服务器用相应的权值表示其处理性能。服务器的缺省权值为1,系统管理员可以动态地设置服务器的权值。加权最小连接调度在调度新连接时尽可能使服务器的已建立连接数和其权值成比例。

时间: 2024-10-29 03:42:49

Web负载均衡(ipvsadm,DR模式)的相关文章

LVS负载均衡之DR模式

LVS负载均衡之DR 一.实验环境 二.实验步骤 配置VIP目的:为了客户机来请求时lvs直接调度节点服务器,节点服务器用VIP回应客户机请求.如果不配置VIP,用自己的ip回应,则客户机丢弃web本机地址,因为不是客户机所要找的IP地址. LVS配置 ip:vmnet2:192.168.1.2 VIP:eth0:0:192.168.1.254  NETMASK:255.255.255.0 1.加载ip_vs模块并安装ipvsadm #modprobe  ip_vs #yum  -y  inst

LVS负载均衡群集DR模式

LVS-DR在DR模式的群集中,LVS负载器为访问入口,但不作网关处理:服务器池中所有节点都各自接入internet,发送给客户端WEB响应数据包不需要LVS负载调度器.nat模式和dr模式的区别 两种模式都是实现负载均衡lvs的方法,nat模式在包进入的时候在分发器上做了目的地址的mac转换,也就是DNAT,包回去的时候从哪进来的也要从哪里出去,这就造成了nat模式在real server过多的时候造成了数据包在回去的时候都是从一个出口方向,也就造成了瓶颈. DR模式在数据包进入的时候由分发器

四层负载均衡LVS/DR模式的配置

1.环境准备准备 3 台纯净的虚拟机,两台 web 服务器,并关闭所有的防火墙和selinux 2.部署说明:? 网络使用NAT模式 ? DR模式要求Director DIP 和 所有RealServer RIP必须在同一个网段及广播域 ? 所有节点网关均指定真实网关 3.LVS-server 安装lvs管理软件 yum -y install ipvsadm 4.需要手动生成ipvsadm文件否则启动会报错 [[email protected] ~]# ipvsadm --save > /etc

web负载均衡

随着公司产品业务的推广发展壮大,对服务器的硬件性能.相应速度.服务稳定性.数据可靠性的要求越来越高.今后服务器的负载将难以承受所有的访问.从公司的实际情况,运营成本网络安全性考虑,排除使用价格昂贵的大型服务器.以及部署价格高昂的专用负载均衡设备. DNS轮询负载均衡解决方案虽然成本低廉但是安全性能不是很好,加上公司产品的特殊性需要用户验证的体系,在会话保持方面是一大缺陷,会话保持,如果是需要身份验证的网站,在不修改软件构架的情况下,这点是比较致命的,因为DNS解析无法将验证用户的访问持久分配到同

web负载均衡整理

参考:http://www.cnblogs.com/lovingprince/archive/2008/11/13/2166350.html http://www.cnblogs.com/lovingprince/archive/2008/11/13/2166349.html http://news.cnblogs.com/n/208124/ http://network.51cto.com/art/201108/281452.htm 负载均衡的概念 Web集群是由多个同时运行同一个web应用的

Haproxy+keepalied实现web负载均衡

一.实验拓扑图: keepalived: keepalived的主要目的是为ipvs提供高可用性,因此keepalived除了能够实现资源转移之外,自身能够调用ipvsadm命令来生成规则,而且还能够检测后端Rserver服务的健康状态检测.keepalived自身就是一个服务 ,启动之后工作在两个节点上(可以是多个节点),一个为当前活动节点,一个为备用节点简称为一主(master)一备(backup).master会不时的向backup传递通告信息(这种通告信息机制是基于vrrp协议),备用节

Web负载均衡实现方式(转)

Reference [1] https://www.cnblogs.com/eric-qin/p/7238278.html 负载均衡(Load Balance)是集群技术(Cluster)的一种应用.负载均衡可以将工作任务分摊到多个处理单元,从而提高并发处理能力.目前最常见的负载均衡应用是Web负载均衡.根据实现的原理不同,常见的web负载均衡技术包括:DNS轮询.IP负载均衡和CDN.其中IP负载均衡可以使用硬件设备或软件方式来实现. 什么是web负载均衡 服务器集群(Cluster)使得多个

LVS负载均衡三种模式的实现

何为lvs负载均衡? lvs负载均衡(linux virtual server)又名linux虚拟服务器.由章文嵩博士主导的负载均衡项目,目前LVS已经被集成到Linux内核模块中.该项目在Linux内核中实现了基于IP的数据请求负载均衡调度方案.如下图所示,互联网用户通过web请求访问到lvs调度器,然后调度器再根据算法把请求送给后端的linux web服务器上.比如这里拿负载均衡模式来说,由于web服务器都是连接的相同的存储,又都是跑的相同的服务,所以不论哪个服务器回应客户端,内容则都是一致

企业级web负载均衡完美架构

转载:揭秘企业级web负载均衡完美架构(图) 2010-07-06 15:16 抚琴煮酒 51CTO.com 字号:T | T 相信很多朋友对企业级的负载均衡高可用实例非常感兴趣,此篇文章根据成熟的线上环境而写,旨在帮助大家迅速架构一个企业级的负载均衡高可用的web环境. AD:WOT2014课程推荐:实战MSA:用开源软件搭建微服务系统 [51CTO.com独家特稿]相信很多朋友对企业级的负载均衡高可用实例非常感兴趣,此篇文章根据成熟的线上环境而写,旨在帮助大家迅速架构一个企业级的负载均衡高可