实验环境:
三台CentOS7    实验环境为内网地址,生产环境中为外网地址
LVS:192.168.245.142
Node1:192.168.245.129

Node2:192.168.245.128

DR模式中所有网络必须在一个物理网段!

LVS-DR模式(Centos7)_TUN

DR模式-准备工作:

【1】首先安装apache,并开启。

    yum install -y httpd

LVS-DR模式(Centos7)_负载均衡_02

LVS-DR模式(Centos7)_负载均衡_03


【2】关闭相关防火墙策略(仅实验环境)三台主机相同操作

LVS-DR模式(Centos7)_LVS_04


【3】在lvs server上 安装LVS

LVS-DR模式(Centos7)_TUN_05


【4】配置虚拟网卡 LVS为虚拟独立网卡   Node server 为虚拟桥接网卡

LVS 虚拟网卡配置:

LVS-DR模式(Centos7)_TUN_06.

LVS-DR模式(Centos7)_LVS_07


开启路由转发功能:echo "1" > /proc/sys/net/ipv4/ip_forward



Node1 虚拟桥接网卡设置(Node2配置相同):

子网掩码最好设置为全网,否则可能出现不知名的错误。

LVS-DR模式(Centos7)_TUN_08

LVS-DR模式(Centos7)_负载均衡_09

关闭Web server上的 arp响应(从内核参数中修改):

设置路由:!!!!!!!!!!!!!!!!! 

[root@node1]route add -host 192.168.245.13 dev lo:1
[root@node1]systemctl restart network
[root@node2]route add -host 192.168.245.13 dev lo:1
[root@node2]systemctl restart network

LVS-DR模式(Centos7)_负载均衡_10

LVS-DR模式(Centos7)_LVS_11


arp_ignore=1 用来丢弃lo上arp包,如果不丢弃,就会收到请求,从而忽略了LB(负载均衡器)

arp_anonunce=2 因为client请求的是VIP的地址,后端VIP地址与LB地址相同,此参数是为了忽略client的直接请求,而是由LVS来调度。


配置LVS:


LVS-DR模式(Centos7)_DR_12

-d -t //删除与后端连接的条目

-D -t //删除一条LVS记录




LVS-DR模式(Centos7)_TUN_13

LVS-DR模式(Centos7)_DR_14


常用负载均衡算法:

-s rr //轮询

-s wrr //加权轮询

-s lc  //最少连接数

-s wlc //加权最少连接数

-s sh  //源散列法   根据第一次session来调度


加权轮询:

LVS-DR模式(Centos7)_负载均衡_15

访问5次三次由Node1处理 二次由Node2 来处理。



总结:生产模式中常用为DR模式

NAT模式:分发器分发给后端的server 后端server返回结果给分发器  结果由分发器在返给client 这样会导致LVS server瓶颈

DR模式返回的结果不需要经过分发器  后端返回结果时 会根据mac地址直接给client

TUN模式:必须使用全部公网资源,此模式比DR模式多了IP封装的开销