LVS之三:DR模型(通过脚本实现)

1.当客户端访问集群中的服务(例如web),源IP(定义为A)和目标IP(定义为B)如上图所示,发送数据报文到调度器上

<1>客户端发送报文必须到调度器上,不能到Rearserver上,不然无法实现调度

实现原理:虽然RS上的lo口也配置VIP,但是却无法相应,通过如下配置在RS上实现

echo 1 >/proc/sys/net/ipv4/conf/lo/arp_ignore

echo 2 >/proc/sys/net/ipv4/conf/lo/arp_announce

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

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

arp_ignore(接受到arp请求时的响应级别,默认0)

1) 0:只要本地配置有相应的地址,给予响应

2) 1:仅在请求的目标地址配置请求到达的接口上的时候,才给于响应

arp_announce(将自己地址向外通告时的通告级别,默认0)

1) 0:将本地任何接口上的任何地址向外通告

2) 1:试图仅向目标网络通告语气网络匹配的地址

3) 2:仅向与本地接口上地址匹配的网络进行通告

2.调度器收到报文后查询ipvsadm规则,符合集群服务后发送报文到RS上,源目IP地址不变,是通过修改MAC地址发送到RS上的,

<1>调度器规则

ipvsadm -A -t 192.168.11.100:80 -s wrr

ipvsadm -a -t 192.168.11.100:80 -r 192.168.11.12 -g -w 2

ipvsadm -a -t 192.168.11.100:80 -r 192.168.11.13 -g -w 4

3.RS收到报文后,发现目标IP为自己的VIP(lo:0上配置,不对外响应,只做回报的源IP),用自己的VIP作为源地址发送报文

<1>如何实现发送报文时,源IP为自己的lo:0上的VIP,默认linux报文从哪个接口出源IP为那个接口

实现原理:ifconfig lo:1 192.168.11.100 netmask 255.255.255.255 up  (配置RS的VIP,不对外响应)

route add -h 192.168.11.100 dev lo:0   (增加路由,报文目标IP为192.168.11.100的接口为lo:0,

这样回报也是通过lo:0回报,确保报文源IP为VIP)

<2>确保调度器上的发包正确,增加如下配置

ifconfig eth:0 192.168.11.100 netmask 255.255.255.255 up  (添加VIP地址)

route add -h 192.168.11.100 dev eth:0

4.客户端收到后源IP为VIP,目的IP为客户端的IP,

报文的封装为:RS通过自己的lo:0回应报文,源IP则为VIP,目标IP则为客户端IP

时间: 2024-08-17 18:40:30

LVS之三:DR模型(通过脚本实现)的相关文章

位于2个网段的LVS的DR模型实验

实验规划说明: Director两块网卡,IP地址分配如下: 1.本地公网IP(eth0):192.168.112.101 2.vip(eth1:1):192.168.112.100 3.dip(eth1):192.168.201.7 Realsever1两块网卡,IP地址分配如下: 1.rip(eth0):192.168.201.8 2.vip(lo:0):192.168.112.100 3.本地IP(eth1):192.168.112.8  //通过该IP以便从Realsever1可以访问C

Linux实验报告-构建一个LVS的DR模型

Linux实验报告-构建一个LVS的DR模型 实验背景: 学习笔记,构建一个LVS的DR模型 实验目的: 了解LVS的DR模型工作原理 实现一个LVS的DR模型的实验 实验环境: Vmware Workstation 9,CentOS 6.4  实验步骤: 1,实验目的规划如下模型,CIP.VIP.DIP与RIP在同一网段 2.RS1上配置如下: 配置内核参数: #echo 1 > /prco/sys/net/ipv4/conf/lo/arp_ignore                    

lvs中dr模式配置脚本

1 dr模式介绍 1.1 lvs的安装 安装详解:http://blog.csdn.net/CleverCode/article/details/50586957. 1.2 lvs模式 lvs有三种模式dr,nat,tun.这里先介绍dr模式. 1.3 dr特点 1)Load Balancer和所有的Real Server在同一个局域网段上. 2)Real Server将请求处理后,直接返回给用户,不需要在通过调度器返回. 1.4 处理过程 请求过程:客户 => vip => RealServ

lvs+srs(dr模型)

参考: https://my.oschina.net/fengjihu/blog/416883 (srs集群模式) http://blog.csdn.net/reblue520/article/details/50857078 (lvs负载均衡) http://www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html (arp_ignore和arp_announce) http://www.linuxvirtualserver.org/docs

LVS基于DR模型实现负载均衡集群实验

实验拓扑: 实验规划: Director: eth0   DIP: 192.168.1.40 eth0:0 VIP: 192.168.1.41 RS1: eth0  RIP1: 192.168.1.20 lo:0  VIP: 192.168.1.41 RS2: eth0  RIP2: 192.168.1.21 lo:0  VIP: 192.168.1.41 实验步骤: 在各RS上部署web服务 yum install httpd -y echo "server is working."

集群--LVS的DR模型配置

1.查看内核是否有IPVS内核模块 grep -i 'ip_vs' /boot/config-2.6.32-431.el6.x86_64 或者 Centos6.5内核已经自带安装了lvs 2.安装ipvsadm内核中的lvs是通过ipvsadm来进行管理的 yum install -y ipvsadm 3.环境准备 管理IP地址 角色 备注 192.168.1.114 调度器(Director) 对外提供VIP服务的地址为192.168.1.88 192.168.1.115 RS1   192.

LVS集群DR、NAT模型配置, 及使用ldirectord完成LVS DR模型集群搭建

首先我们有三台主机:其中172.16.192.168作为前台主机:另外172.16.254.18和172.16.254.105作为后端主机,作为测试分别运行有web服务,并测试可用,如下图. 一.LVS NAT模型集群配置实验 1.首先在后端Real Server上设置默认网关,执行前端Virtual Server 2.在前端Virtual Server上开启路由转发功能 3.配置前端LVS集群 4.测试 总结:经过初步测试,我们可以看出已经可以实现rr轮询调度,修改相应的调度算法则可以实现不同

基于LVS的DR模式实现PHP应用

LVS-DR模式: 客户端请求服务器上的资源,就会发送请求报文,请求报文到达LVS调度器,调度器拆解报文首部,查看到请求的目标IP是自己,然后根据请求的目标端口并且根据调度算法随机挑选出一台Real Server服务器,这时在请求报文首部在次封装一层帧,即MAC地址,源MAC是自己,目标MAC是RS服务器.RS服务器接收到报文请求并处理请求,构建响应报文并发送给客户端,不经过调度器,所以避免了调度器过载导致并发出现瓶颈.因为RS是直接发送响应报文给客户端,所以需要RS服务器上需要配置调度器的公网

LVS详解及基于DR模型的案例

LVS简介 LVS(Linux Virtual Server),即Linux上虚拟的服务器集群系统.其实LVS就是一个前端的负载调度器,它在软件层次上实现了负载均衡,将接收到的请求均衡地转移至多个不同的服务器上运行,用较低的成本实现了将一组服务器构建成高性能.高可用的服务器集群. LVS由两部分组成ipvsadm和ipvs,ipvsadm工作于用户空间,用于编写集群服务.ipvs工作于内核空间.ipvsadm编写的集群服务交由ipvs来具体实现.ipvs是基于netfilter实现的,它工作在i

LVS下的NAT模型与DR模型实战

LVS是工作在四层的高性能负载均衡服务器,由于工作在TCP/IP层并不涉及到用户态,摆脱了套接字65535数量的限制,所以性能十分强悍,当然优秀的背后少不了我们国人章文嵩的付出,感谢开源如此优秀的作品. LVS 是工作在内核netfilter的INPUT链路上的一组ipvs框架,他的使用有点类似于配置netfilter实现防火墙过滤需要借助iptables这组工具,当然LVS也是如此,只提供了接口,如果想要配置ipvs需要首先安装ipvsadm这组工具,ipvsadm在base源中就有提供 在开