lvs DR模式负载均衡实操

ps:做 dr 模式 之前,先把之前做过的操作清空掉

1、ipvsadm -ln 查看规则

2、ipvsadm -C 清空规则

3、ipvsadm -ln 确认

4、iptables -t nat -F: 清空iptables的nat规则

5、master和slave把网卡所对应的网关(GATEWAY)改回来

vim /etc/sysconfig/network-scripts/ifcfg-ens33

6、dr用不到ens37这个网卡(192.168.56.128)

ifdown ens37

[[email protected] ~]# 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.0.133:80 rr

-> 192.168.0.134:80             Route   1      0          4

-> 192.168.0.140:80             Route   1      0          4

[[email protected] ~]# ipvsadm -C      //清空规则

[[email protected] ~]# ipvsadm -ln      //确认是否清空

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port           Forward Weight ActiveConn InActConn

[[email protected] ~]# iptables -t nat -F    //清空iptables的nat规则

5、master和slave把网卡所对应的网关(GATEWAY)改回来

vim /etc/sysconfig/network-scripts/ifcfg-ens33

[[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

[[email protected] ~]# systemctl restart network

[[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

[[email protected] ~]# systemctl restart network

一、DR  模式 VS  NAT 模式

缺点:比较浪费公网ip,每一个rs都必须要有一个独立的公网 ip

优点:用户的请求直接吐给客户端,不借助于分发器dir

实验环境:

(1)lvs_dir:192.168.0.139

(2)master:192.168.0.134

(3)slave:192.168.0.140

都看成对外的公网 ip

  另外,

(a)还需要一个虚拟ip(192.168.0.133)

   (b)测试机器:192.168.0.130

二、分发器 dir 设置

1、编辑脚本

vim  /usr/local/sbin/lvs_dr.sh

#打开端口转发

echo 1 > /proc/sys/net/ipv4/ip_forward

ipv=/sbin/ipvsadm

vip=192.168.0.133

dengserver1=192.168.0.134

dengserver2=192.168.0.140

ifconfig ens33:0 $vip broadcast $vip netmask 255.255.255.255 up

#增加一条路由

route add -host $vip dev ens33:0

$ipv -C

$ipv -A -t $vip:80 -s rr

$ipv -a -t $vip:80 -r $dengserver2:80 -g -w 1

$ipv -a -t $vip:80 -r $dengserver1:80 -g -w 1

参数说明:

-g:表示 dr 模式

-m:表示 nat 模式

2、执行脚本 sh !$

3、ipvsadm -ln  多出一个vip 192.168.0.133

[[email protected] ~]# 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.0.133:80 rr

-> 192.168.0.134:80             Route   1      0          0

-> 192.168.0.140:80             Route   1      0          0

三、真实服务器 real server 设置

1、rs1,rs2都写脚本: vim /usr/local/sbin/lvs_rs.sh

(1)配置vip,绑定的网卡不是eth0,而是在回环地址 lo 上

(2)增加路由,调整arp相关的内核参数

写入:

#!/bin/bash

vip=192.168.0.133

ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up

route add -host $vip lo:0

#调整内核参数

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内核参数的意义:

百度:

(a)ARP广播会产生的问题

当客户端发起访问VIP 对应的域名的请求(curl 192.168.131.100)时,根据网络通信原理会产生ARP 广播,因为负载均衡器dir和真实的服务器rs在同一网络并且VIP设置在集群中的每个节点上,此时集群内的真实服务器会尝试回答来自客户端计算机的查找VIP的ARP广播,这就会产生问题,大家都说我是"VIP"。

(b)为了达到负载均衡的目的,必须想法办让真实服务器忽略来自客户端计算机的ARP广播请求 ——》 调整arp内核参数

问题:lvs有vip,real server也有vip,但client请求只访问lvs的vip?

——》 在所有real server上要关闭所有arp请求,导致不能响应client发出的arp请求(相当于哑巴),只有lvs可以响应,这样请求就会传到lvs的vip中,这就是为什么要禁止real server 的 arp请求和响应

##############################

2、rs1,rs2执行脚本: sh  /usr/local/sbin/lvs_rs.sh

四、测试

1、浏览器访问vip :192.168.0.133 ——》 不精准(刷新无数次都是master,然后等一段时间,刷新无数次也是slave = =,所以才说不精准咯~~)

2、在另外一台linux服务器上进行测试:

[[email protected] ~]# curl 192.168.0.133

this is master server

[[email protected] ~]# curl 192.168.0.133

this is slave server

[[email protected] ~]# curl 192.168.0.133

this is master server

[[email protected] ~]# curl 192.168.0.133

this is slave server

[[email protected] ~]# curl 192.168.0.133

this is master server

[[email protected] ~]# curl 192.168.0.133

this is slave server

时间: 2024-10-15 05:05:22

lvs DR模式负载均衡实操的相关文章

LVS DR模式 负载均衡服务搭建

LVS 负载均衡 最近在研究服务器负载均衡,阅读了网上的一些资料,发现主要的软件负载均衡方案有nginx(针对HTTP服务的负载均衡),LVS(针对IP层,MAC层的负载均衡).LVS模式工作在网络层,且由内核实现负载转发,效率要比nginx高.     LVS负载均衡包含三种模式: 1. NAT模式(类似路由器,实现外网内网地址映射,负载均衡服务器修改请求包的源以及目的MAC地址和IP地址,发送给实际服务器:负载均衡服务器,修改响应包的源以及目的MAC地址和IP地址,发送给客户端.请求和响应报

LVS DR模式负载均衡的搭建(单网段)

LVS DR模式负载均衡的搭建(单网段) 实验需要五台虚拟机,都是centos7 客户端 路由器 lvs服务器 172.22.144.188 1接口172.22.144.17 2接口192.168.49.5 172.22.144.17 192.168.49.5 rs1服务器 rs2服务器 192.168.49.3 192.168.49.4 **客户端的配置** vim /etc/sysconfig/nerwork-scripts/ifcfg-ens33 DEVICE=ens33 NAME=ens

CentOS下LVS DR模式负载均衡配置详解

一安装LVS准备: 1.准备4台Centos 6.2 x86_64 注:本实验关闭 SELinux和IPtables防火墙. 管理IP地址 角色 备注 192.168.1.101 LVS主调度器(Master Director) 对外提供服务的VIP为192.168.1.180 192.168.1.114 LVS从调度器(Backup Director) 平时可以作为RS(真实服务器使用) 192.168.1.104 RS1(真实服务器)   192.168.1.103 RS2(真实服务器)  

centos 7.3 LVS的NAT模式负载均衡实操

一.LB集群原理 1.实现手段 硬件:F5负载均衡器 软件:LVS(4层,网络层),Nginx(7层,应用层) 2.负载均衡架构图 说明: LVS集群使用三层架构 第一层:负载均衡层(Load Balancer) 位于整个集群系统的最前端,由一台或多台负载调度器(Director Server,以下简称dir)组成. dir的作用类似一个路由器,它含有为完成LVS功能所设定的路由表,通过这些路由表把用户的请求分发给服务器群组层的应用服务器(Real Server) ps:客户认为服务是来自一个虚

LVS基于DR模式负载均衡的配置

DR: 集群节点跟director必须在同一个物理网络中: 后端服务器(真实服务器)可以使用公网地址,实现便捷的远程管理和监控: director仅负责处理入站请求,响应报文则由realserver直接发往客户端: 不支持端口映射: 准备3台服务器,一台做转发,2太做子服务器,如下: Node1 VIP:192.168.252.200 DIP:192.168.252.11 集群服务器DR Node2 RIP:192.168.252.12 VIP:192.168.252.200 RS,apache

LVS/DR + keepalived负载均衡高可用实现

一.keepalived简介 keepalived是分布式部署解决系统高可用的软件,结合lvs(LinuxVirtual Server)使用,解决单机宕机的问题.keepalived是一个基于VRRP协议来实现IPVS的高可用的解决方案.对于LVS负载均衡来说,如果前端的调度器direct发生故障,则后端的realserver是无法接受请求并响应的.因此,保证前端direct的高可用性是非常关键的,否则后端的服务器是无法进行服务的.而我们的keepalived就可以用来解决单点故障(如LVS的前

LVS/NAT + keepalived负载均衡实现

一.keepalived简介 keepalived是分布式部署解决系统高可用的软件,结合lvs(LinuxVirtual Server)使用,解决单机宕机的问题.keepalived是一个基于VRRP协议来实现IPVS的高可用的解决方案.对于LVS负载均衡来说,如果前端的调度器direct发生故障,则后端的realserver是无法接受请求并响应的.因此,保证前端direct的高可用性是非常关键的,否则后端的服务器是无法进行服务的.而我们的keepalived就可以用来解决单点故障(如LVS的前

负载均衡之LVS/DR模式

和NAT模式不同,DR的负载均衡调度器工作在网络七层协议中的数据链路层,也就是第二层.它通过修改数据包的目标MAC地址,将数据包转发到实际应用服务器上,最重要的是,实际服务器的响应数据包将直接返回给用户端,而不需要经过负载调度器 1.LVS.DR简介 LVS 是Linux Virtual Server的简称,在实际环境中经常作为B/S结构的网络应用中的负载均衡器来使用,工作在7层网络模型中的,网络层,也就是通常说的IP层,由于数据的处理是在Linux内核态完成的,所以相对反向代理服务器来说,性能

负载均衡(LVS DR模式搭建,DR只用一个公网ip,Keepalived+LVS DR)

一.LVS DR模式搭建 准备工作 三台机器: 分发器,dir:192.168.52.100 rs1:192.168.52.101  (网关改回来,之前nat模式改成100) rs2: 192.168.52.102  (网关改回来,之前nat模式改成100) vip:192.168.52.200   (这个虚拟ip需要绑定在每台机器上) 分发器dir上: [[email protected] ~]# iptables -F [[email protected] ~]# vim /usr/loca