美文网首页
LVS-负载 DR

LVS-负载 DR

作者: 楠有枝 | 来源:发表于2019-07-28 11:09 被阅读0次

直接路由(Direct routing)模式(VS-DR)

原理:负载均衡器和RS都使用同一个IP对外服务。但只有DR对ARP请求进行响应,所有RS对本身这个IP的ARP请求保 持静默。也就是说,网关会把对这个服务IP的请求全部定向给DR,而DR收到数据包后根据调度算法,找出对应的RS,把目的 MAC地址改为RS的MAC(因为IP一致)并将请求分发给这台RS。这时RS收到这个数据包,处理完成之后,由于IP一致,可以 直接将数据返给客户,则等于直接从客户端收到这个数据包无异,处理后直接返回给客户端。 优点:和TUN(隧道模式)一样,负载均衡器也只是分发请求,应答包通过单独的路由方法返回给客户端。与VS- TUN相比,VS-DR这种实现方式不需要隧道结构,因此可以使用大多数操作系统做为物理服务器。 缺点:(不能说缺点,只能说是不足)要求负载均衡器的网卡必须与物理网卡在一个物理段上。

一、环境准备

  • 1、准备机器(我用的centos7.3)

Download

①.准备 4台纯洁的机器

一台 LVS-server ,两台 real-server,一台 Client

②.网络拓朴

Client: CIP: 192.168.122.1

Director: VIP:192.168.122.100  
             DIP:192.168.122.2 

Real Server: 
    RIP:  192.168.122.10   192.168.122.20   192.168.122.30
    VIP: 192.168.122.100  192.168.122.100   192.168.122.100

 Nor-arp DNS Server: www.test.cn ===> 192.168.122.100

二、操作

1、(集群中所有主机)关闭防火墙和selinux

setenforce 0
systemctl stop firewalld

设置本地解析

cat /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomainlocalhost6localhost6.localdomain6
192.168.246.166 lvs-server
192.168.246.161 real-server1
192.168.246.162 real-server2

2、Director分发器配置(LVS-server)
ip addr add dev ens33 192.168.246.160/32      设置VIP 
 yum install -y ipvsadm      RHEL确保LoadBalancer仓库可用 
 service ipvsadm start    启动 

注意:启动如果报错: /bin/bash: /etc/sysconfig/ipvsadm: 没有那个文件或目录 需要手动生成文件
 ipvsadm --save > /etc/sysconfig/ipvsadm
再重新启动即可。
定义LVS分发策略
ipvsadm -C    清除内核虚拟服务器表中的所有记录。
ipvsadm -A -t 192.168.246.160:80 -s rr
ipvsadm -a -t 192.168.246.160:80 -r 192.168.246.161 -g
ipvsadm -a -t 192.168.246.160:80 -r 192.168.246.162 -g
service ipvsadm save   保存方式一,使用下面的保存方式,版本7已经不支持了 
ipvsadm -S > /etc/sysconfig/ipvsadm   保存方式二,保存到一个文件中 

ipvsadm -ln 
IP Virtual Server version 1.2.1 (size=4096) 
Prot LocalAddress:Port Scheduler Flags 
-> RemoteAddress:Port       Forward Weight ActiveConn InActConn
 TCP   192.168.246.160:80 rr
 -> 192.168.246.161:80 Route 1 0 0
 -> 192.168.246.162:80 Route 1 0 0
ipvsadm -L -n 
ipvsadm -L -n --stats   #显示统计信息 

1.Conns (connections scheduled) 已经转发过的连接数 
2.InPkts (incoming packets) 入包个数
3.OutPkts (outgoing packets) 出包个数
4.InBytes (incoming bytes) 入流量(字节)
5.OutBytes (outgoing bytes) 出流量(字节) 
ipvsadm -L -n --rate   #看速率 

1.CPS (current connection rate) 每秒连接数 
2.InPPS (current in packet rate) 每秒的入包个数 
3.OutPPS (current out packet rate) 每秒的出包个数
4.InBPS (current in byte rate) 每秒入流量(字节)
5.OutBPS (current out byte rate) 每秒入流量(字节)
3、 配置RS端
配置好网站服务器,测试所有RS #为了测试效果,提供不同的页面(以下两台real-server都操作)
yum install -y nginx   如果有nginx 不必安装  

echo "real-server1">>/usr/share/nginx/html/index.html 
两台机器都安装,按顺序添加不同的主机名以示区分 
ip addr add dev lo 192.168.246.160/32                 在lo接口上绑定VIP
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore      忽略arp广播 
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce     匹配精确ip地址回包
 
systemctl start nginx     启动nginx
systemctl enable nginx    设置nginx开机自启动 
============================================================================= 

因为:realServer的vip有了,接着就是同一个网段中拥有两个vip, 客户端在网关发送arp广播需找vip时需要让 realServer不接受响应.

解决:
echo 1 >/proc/sys/net/ipv4/conf/eth0/arp_ignore arp_ignore
设置为1,意味着当别人的arp请求过来的时候,如果接收的设备没有这个ip,就不做出响应(这个ip在lo 上,lo不是接收设备的进口)

echo 2 >/proc/sys/net/ipv4/conf/eth0/arp_announce
使用最好的ip来回应,什么是最好的ip?同一个网段内子网掩码最长的

4、测试

yum  -y install elinks
elinks -dump http://192.168.246.160

相关文章

  • LVS-负载 DR

    直接路由(Direct routing)模式(VS-DR) 原理:负载均衡器和RS都使用同一个IP对外服务。但只有...

  • 2018-01-06

    负载均衡之LVS/DR模式 DR的负载均衡调度器工作在网络七层协议中的数据链路层,也就是第二层。它通过修改数据包的...

  • LVS 负载均衡-DR

    1. LVS 简介 1.1 什么是LVS LVS(Linux Virtual Server) 是一个高度可扩展且高...

  • ipvsadm搭建DR模式配置负载均衡LVS

    上一篇文章-ipvsadm搭建NAT模式配置负载均衡LVS,完成了NAT模式配置负载均衡,今天测试DR模式配置负...

  • 2018-12-03

    负载均衡集群架构的dr模式项目出错; 集群架构分三种:net,dr,TUN(隧道模式): net:缺点主要在于分发...

  • LVS的三种工作模式

    一、LVS的三种工作模式 LVS负载均衡常用的工作模式有NAT、DR、和TUN三种,其中DR模式性能最为优越,使用...

  • 负载均衡——LVS DR模式

    背景 相比于nginx只能用于7层负载均衡,LVS就比较强大了,能在4层做负载均衡。而且性能和稳定性上LVS也比较...

  • 4层负载均衡

    3台机器 10.0.0.20 dr1 负载均衡器 两个网卡用 toute -n ...

  • linux-lvs的DR模式

    Linux-Lvs的DR模式实现后端真实服务器的负载均衡 DR模式也就是用直接路由技术实现虚拟服务器。它的连接调度...

  • linux-lvs+keepalived

    Linux-Lvs的DR模式实现后端真实服务器的负载均衡 DR模式也就是用直接路由技术实现虚拟服务器。它的连接调度...

网友评论

      本文标题:LVS-负载 DR

      本文链接:https://www.haomeiwen.com/subject/ebberctx.html