LVS-DR负载均衡模型的RIP和VIP在不同网络的实现

LVS-DR模型架构图解:

(172.16.0.1/16,192.168.0.254/24,192.168.1.254/24)

Router

LVS Server  DIP:192.168.0.30/24 VIP:172.16.31.54/18

客户端IP:192.168.1.31/24   SW          WEB1:Real Server1 DIP:192.168.0.31/24 VIP:172.16.31.54/18

WEB2:Real Server2 DIP:192.168.0.131/24 VIP:172.16.31.54/18

客户端和三台服务器分别连接SW,SW连接Router

一.实验环境介绍

路由器:存在多个网络 172.16.0.1,192.168.0.254,192.168.1.254

交换机:连接不同网络的主机

客户端:Windos XP;客户端IP地址为:192.168.1.31/24

LVS:Director 负载均衡服务器,其DIP和VIP在不同网段;

RS:Real Server;后端web服务器;其RIP和VIP在不同网段;

二.地址规划

VIP使用172.16.0.0/16网络

RIP使用192.168.0.0/24网络

1.Real Server的RIP的规划:

RS1:192.168.0.31/24

RS2:192.168.0.131/24

2.Director的LVS Server的地址规划:

DIP:192.168.0.130/24

VIP:172.16.31.54/16

3.客户端IP规划:

172.16.31.31/16或者192.168.1.31/24

RS响应客户端请求报文,需要将网关指向192.168.0.254/24,由192.168.0.254转发其响应报文到172.16.31.0/16或者192.168.1.0/24这个网络中来;

更真实的设计:将客户端的IP地址设置成192.168.1.31/24来实现

三.DR模型实现负载均衡的工作原理

上面说了NAT模型的实现方式,那么NAT模型有个缺陷,因为进出的每个数据包都要经过Director Server,当集群系统负载过大的时候Director Server将会成为整个集群系统的瓶颈,那么DR模型就避免了这样的情况发生,DR模型在只有请求的时候才会经过Director Server, 回应的数据包由Real Server 直接响应用户不需要经过Director Server,其实三种模型中最常用的也就是DR模型了,下面来说DR模型具体是怎么实现负载均衡的,根据上图,

1.首先客户端用户用CIP请求VIP;

2.根据上图可以看到,不管是Director Server还是Real Server上都需要配置VIP,那么当用户请求到达我们的集群网络的前端路由器的时候,请求数据包的源地址为CIP目标地址为VIP,此时路由器会发广播问谁是VIP,那么我们集群中所有的节点都配置有VIP,此时谁先响应路由器那么路由器就会将用户请求发给谁,这样一来我们的集群系统是不是没有意义了,那我们可以在网关路由器上配置静态路由指定VIP就是Director Server,或者使用一种机制不让Real Server 接收来自网络中的ARP地址解析请求,这样一来用户的请求数据包都会经过Director Servre;

3.当Director Server收到用户的请求后根据此前设定好的调度算法结果来确定将请求负载到某台Real Server上去,假如说此时根据调度算法的结果,会将请求负载到Real Server 1上面去,此时Director Server 会将数据帧中的目标MAC地址修改为Real Server1的MAC地址,然后再将数据帧发送出去;

4.当Real Server1 收到一个源地址为CIP目标地址为VIP的数据包时,RealServer1发现目标地址为VIP,而VIP是自己,于是接受数据包并给予处理,当Real Server1处理完请求后,会将一个源地址为VIP目标地址为CIP的数据包发出去,此时的响应请求就不会再经过Director Server了,而是直接响应给用户;

四.架构实现

1.LVS Server配置

DIP设置:

[[email protected] network-scripts]# pwd

/etc/sysconfig/network-scripts

[[email protected] network-scripts]# cat ifcfg-eth0

DEVICE="eth0"

BOOTPROTO="static"

HWADDR="08:00:27:FF:73:49"

NM_CONTROLLED="yes"

ONBOOT="yes"

TYPE="Ethernet"

IPADDR=192.168.0.130

NETMASK=255.255.255.0

GATEWAY=172.16.0.1

VIP设置:

(1).不同网络:

[[email protected] network-scripts]#ifconfig eth0:0 172.16.31.54/16 up

(2).同一网络的只广播给自己;本实验不需要设置广播

[[email protected] network-scripts]#ifconfig eth0:0 172.16.31.54 netmask 255.255.255.255 broadcast 172.16.31.54 up

配置路由:

[[email protected] network-scripts]# route add -host 172.16.31.54 dev eth0:0

2.Real Server设置:

RS1的网卡的ip配置:

[[email protected] network-scripts]# pwd

/etc/sysconfig/network-scripts

[[email protected] network-scripts]# cat ifcfg-eth0

DEVICE="eth0"

BOOTPROTO="static"

HWADDR="08:00:27:41:D4:C9"

NM_CONTROLLED="yes"

ONBOOT="yes"

TYPE="Ethernet"

IPADDR=192.168.0.31

NETMASK=255.255.255.0

GATEWAY=172.16.0.1

需要指定网关:

[[email protected] network-scripts]#route add default gw 192.168.0.254

3.在RS上配置arptables:

[[email protected] network-scripts]#echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce

[[email protected] network-scripts]#echo 2 >/proc/sys/net/ipv4/conf/eth0/arp_announce

[[email protected] network-scripts]#echo 1 >/proc/sys/net/ipv4/conf/eth0/arp_ignore

[[email protected] network-scripts]#echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore

在RS上设置VIP地址:

[[email protected] network-scripts]#ifconfig lo:0 172.16.31.54 netmask 255.255.255.255 broadcast 172.16.31.54 up

在RS上添加路由:

[[email protected] network-scripts]#route add-host 172.16.31.54 dev lo:0

4.启动web服务;此处安装了LAMP架构+wordpress,可以参考我前面写的文章,这里就不重复了。

#service httpd start

#curl http://192.168.0.31

#curl http://172.16.100.8

5.RS2的配置:跟RS1一致的哦!

设置RIP地址:

#ifconfig eth0 192.168.0.131/24 up

#route add default gw 192.168.0.254

配置arptables:

#echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce

#echo 2 >/proc/sys/net/ipv4/conf/eth0/arp_announce

#echo 1 >/proc/sys/net/ipv4/conf/eth0/arp_ignore

#echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore

设置VIP地址:

#ifconfig lo:0 172.16.31.54 netmask 255.255.255.255 broadcast 172.16.31.54 up

添加路由:

#route add -host 172.16.31.54 dev lo:0

#启动web服务

#service httpd start

#curl http://192.168.0.131

#curl http://172.16.31.54

6.LVS Server上定义集群服务:

#ipvsadm  -A  -t 172.16.31.54:80 -s rr

#ipvsadm  –a  -t 172.16.31.54:80 -r 192.168.0.31 -g

#ipvsadm  –a  -t 172.16.31.54:80 -r 192.168.0.131 –g

设置完成后访问网页测试:

http://www.stu31.com/wp/

我们在LVS上查看一下连接状态:

[[email protected] ~]# ipvsadm -A -t 172.16.31.54:80 -s rr

[[email protected] ~]# ipvsadm -a -t 172.16.31.54:80 -r 192.168.0.31 -g

[[email protected] ~]# ipvsadm -a -t 172.16.31.54:80 -r 192.168.0.131 -g

[[email protected] ~]# ipvsadm -L -n

至此:LVS-DR模式的负载均衡实验完成!!!

时间: 2024-11-05 09:52:53

LVS-DR负载均衡模型的RIP和VIP在不同网络的实现的相关文章

LVS DR 负载均衡集群

LVS DR 负载均衡集群 试验准备:五台主机ABCDE,主机ABCDE均为单网卡,IP地址分别为192.168.10.2,192.168.10.3,192.168.10.4,192.168.10.5,192.168.10.6.主机A作为内网客户端,主机B负载均衡调度器,主机C和主机D作为网站服务器,主机E作为共享存储,均清除防火墙和SELINUX.操作系统均为RHELx86_64,为最小化安装. 主机A操作 #vim /etc/sysconfig/network-scripts/ifcfg-e

RHEL6 搭建LVS/DR 负载均衡集群 案例

搭建LVS/DR 负载均衡集群 案例 实验拓扑图: 操作流程: Director Server :        192.168.4.50 pc50 安装并启用ipvsadm 配置辅助IP地址 创建虚拟服务器,向虚拟服务器中加入节点 Real Server:        192.168.4.51 pc51        192.168.4.52 pc52 配置WEB 服务器 配置辅助IP地址,调整内核参数 Clinet :192.168.4.253 pc253 连接虚拟服务器测试 环境准备:

LVS+keepalived负载均衡实战

1 首先安装虚拟机 安装系统 这里 配置两台虚拟机 1:192.168.137.102   2:192.168.137.103 分别安装tomcat 默认80端口,同时都是开启状态 配置192.168.137.102 的   /etc/rc.d/init.d/realserver  新建文件拷贝下面的内容进去,赋予权限,并启动该虚拟网卡,并同理 操作在192.168.137.103  并修改 SNS_VIP=192.168.137.98 这个虚拟地址,并启动成功,ifconfig 查看该虚拟ip

LVS搭建负载均衡(二)DR模型

应用场景:LVS配置负载均衡方式之一:dr 测试环境:

使用LVS实现负载均衡原理及安装配置详解

转:http://www.cnblogs.com/liwei0526vip/p/6370103.html 使用LVS实现负载均衡原理及安装配置详解 负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均衡设备F5.Netscale.这里主要是学习 LVS 并对其进行了详细的总结记录. 一.负载均衡LVS基本介绍 LB集群的架构和原理很简单,就是当用户的请求过来时,会直接分发到Director

Linux中使用LVS实现负载均衡

什么是LVS     LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统. 同时LVS又被称为四层路由,工作于传输层上. LVS技术简介     LVS集群采用IP负载均衡技术和基于内容请求分发技术.调度器具有很好的吞吐率,将请求均衡地转 移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的. 高可用的虚拟服务器.整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序. 为此,在设计时需

使用 LVS 实现负载均衡原理及安装配置详解

使用 LVS 实现负载均衡原理及安装配置详解 来源:肖邦linux 发布时间:2017-02-19 阅读次数:106 0 负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均衡设备F5.Netscale.这里主要是学习 LVS 并对其进行了详细的总结记录. 一.负载均衡LVS基本介绍 LB集群的架构和原理很简单,就是当用户的请求过来时,会直接分发到Director Server上,然后它把用

集群之LVS(负载均衡)详解

提高服务器响应能力的方法 scale on  在原有服务器的基础上进行升级或者直接换一台新的性能更高的服务器. scale out  横向扩展,将多台服务器并发向外响应客户端的请求.优点:成本低,扩展架构比较简单. 集群(Cluster),通俗地讲就是按照某种组织方式将几台电脑组织起来完成某种特定任务的这样一种架构. 三种集群类型: LB,Load Balancing 负载均衡:在一定程度上能够实现高可用的目的. HA,High Availability 高可用:实时在线,能够及时响应客户端请求

LVS实现负载均衡

一. LVS简介 LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,它的官方站点是www.linuxvirtualserver.org.现在LVS已经是 Linux标准内核的一部分,在Linux2.4内核以前,使用LVS时必须要重新编译内核以支持LVS功能模块,但是从Linux2.4内核以后,已经完全内置了LVS的各个功能模块,无需给内核打任何补丁,可以直接使用LVS提供的各种功能. 使用LVS技术要达到的目标是:通过LV