LVS DR模式负载均衡群集部署

1 LVS-DR 模式的特点

直接路由直接路由 调节器仅作为客户端的访问入口,节点服务器的响应消息是直接返回客户端的,不需要经过调节器(与NAT模式的区别)节点服务器与调节器是部署在同一物理网络内,因此不需要建立专用的IP隧道。(与TUN模式的区别)

DR模式是企业首选的LVS模式

原理:首先负载均衡器接收到客户的请求数据包时,根据调度算法决定将请求发送给哪个后端的真实服务器(RS)。然后负载均衡器就把客户端发送的请求数据包的目标MAC地址改成后端真实服务器的MAC地址(R-MAC)。真实服务器响应完请求后,查看默认路由,把响应后的数据包直接发送给客户端,不需要经过负载均衡器。

优点:负载均衡器只负责将请求包分发给后端节点服务器,而RS将应答包直接发给用户。所以,减少了负载均衡器的大量数据流动,负载均衡器不再是系统的瓶颈,也能处理很巨大的请求量。 缺点:需要负载均衡器与真实服务器RS都有一块网卡连接到同一物理网段上,必须在同一个局域网环境。

1.2 DR 模式的特点 (1)Director Server 和 Real Server 必须在同一个物理网络中。

(2)Real Server 可以使用私有地址,也可以使用公网地址。如果使用公网地址,可以通过互联网对 RIP 进行直接访问。

(3)Director Server作为群集的访问入口,但不作为网关使用。

(4)所有的请求报文经由 Director Server,但回复响应报文不能经过 Director Server。

(5)Real Server 的网关不允许指向 Director Server IP,即Real Server发送的数据包不允许经过 Director Server。

(6)Real Server 上的 lo 接口配置 VIP 的 IP 地址。

2 实现DR模式 LVS负载均衡群集部署

DR服务器:192.168.1.200

Web 服务器1:192.168.1.100

Web 服务器2:192.168.1.101

vip:192.168.1.103

客户端:192.168.1.102

2.1 配置负载调度器

DR服务器:192.168.1.200

  1. systemctl stop firewalld.service
  2. setenforce 0
  3. modprobe ip_vs //加载ip_vs内核模块
  4. cat /proc/net/ip_vs //查看IPVS的状态和配置信息
  5. yum -y install ipvsadm //安装ipvsadm

2.1.1 配置虚拟 IP 地址

  1. cd /etc/sysconfig/network-scripts/
  2. cp ifcfg-ens33 ifcfg-enslo:0 #若隧道模式,复制为ifcfg-tunl0
  3. vim ifcfg-enslo:0
  4. DEVICE=enslo:0
  5. ONBOOT=yes
  6. IPADDR=192.168.1.20
  7. NETMASK=255.255.255.255
  8. ifup enslo:0 //刷新网卡
  9. ifconfig enslo:0

2.1.2 调整内核响应参数

由于 LVS 负载调度器和各节点需要共用 VIP 地址,需要关闭 icmp 的重定向,不充当路由器


  1. vim /etc/sysctl.conf
  2. net.ipv4.ip_forward = 0
  3. net.ipv4.conf.all.send_redirects = 0
  4. net.ipv4.conf.default.send_redirects = 0
  5. net.ipv4.conf.ens33.send_redirects = 0
  6. sysctl -p

2.1.3 配置负载分配策略


  1. ipvsadm-save > /etc/sysconfig/ipvsadm
  2. systemctl start ipvsadm
  3. ipvsadm -C
  4. ipvsadm -A -t 192.168.1.20:80 -s rr
  5. ipvsadm -a -t 192.168.1.20:80 -r 192.168.1.100:80 -g #若隧道模式,-g替换为-i
  6. ipvsadm -a -t 192.168.1.20:80 -r 192.168.1.101:80 -g
  7. ipvsadm
  8. ipvsadm -ln #查看节点状态,Route代表 DR模式

2.2 部署共享存储

NFS服务器:192.168.1.102

  1. systemctl stop firewalld.service
  2. setenforce 0
  3. yum -y install nfs-utils rpcbind
  4. mkdir /opt/cyw /opt/cww
  5. chmod 777 /opt/cyw /opt/cww
  6. vim /etc/exports
  7. /usr/share *(ro,sync)
  8. /opt/cyw 192.168.30.0/24(rw,sync)
  9. /opt/cww 192.168.30.0/24(rw,sync)
  10. systemctl start rpcbind.service
  11. systemctl start nfs.service

2.3 配置节点服务器

web1:192.168.1.102

web2:192.168.1.100

  1. systemctl stop firewalld.service
  2. setenforce 0

2.3.1 配置虚拟 IP 地址

此地址仅用作发送 Web响应数据包的源地址,并不需要监听客户机的访问请求(改由调度器监听并分发)。因此使用虚接口 lo∶0 来承载 VIP 地址,并为本机添加一条路由记录,将访问 VIP 的数据限制在本地,以避免通信紊乱

分别在web1 、web2 上部署 VIP:192.168.1.20


  1. cd /etc/sysconfig/network-scripts/
  2. cp ifcfg-lo ifcfg-lo:0
  3. vim ifcfg-lo:0
  4. DEVICE=lo:0
  5. ONBOOT=yes
  6. IPADDR=192.168.1.20
  7. NETMASK=255.255.255.255
  8. ifup lo:0
  9. ifconfig lo:0
  10. route add -host 192.168.1.20 dev lo:0
  11. vim /etc/rc.local
  12. /sbin/route add -host 192.168.1.20 dev lo:0
  13. chmod +x /etc/rc.d/rc.loca

2.3.2调整内核的 ARP 响应参数以阻止更新 VIP 的 MAC 地址,避免发生冲突


  1. vim /etc/sysctl.conf
  2. ......
  3. net.ipv4.conf.lo.arp_ignore = 1 #系统只响应目的IP为本地IP的ARP请求
  4. net.ipv4.conf.lo.arp_announce = 2 #系统不使用IP包的源地址来设置ARP请求的源地址,而选择发送接口的IP地址
  5. net.ipv4.conf.all.arp_ignore = 1
  6. net.ipv4.conf.all.arp_announce = 2
  7. sysctl -p
  8. 或者
  9. echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
  10. echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
  11. echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
  12. echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
  13. sysctl -p
  14. yum -y install nfs-utils rpcbind httpd
  15. systemctl start rpcbind
  16. systemctl start httpd

开启web1 和 web2 的httpd服务 及rpcbind

3 测试 LVS 群集

LVS DR模式负载均衡群集部署的更多相关文章

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

    LVS 负载均衡 最近在研究服务器负载均衡,阅读了网上的一些资料,发现主要的软件负载均衡方案有nginx(针对HTTP服务的负载均衡),LVS(针对IP层,MAC层的负载均衡).LVS模式工作在网络层 ...

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

    一安装LVS准备: 1.准备4台Centos 6.2 x86_64 注:本实验关闭 SELinux和IPtables防火墙. 管理IP地址 角色 备注 192.168.1.101 LVS主调度器(Ma ...

  3. LVS负载均衡群集部署——DR模式

    LVS负载均衡群集部署--DR模式 1.LVS-DR概述 2.部署实验 1.LVS-DR概述: LVS-DR(Linux Virtual Server Director Server)工作模式,是生产 ...

  4. LVS负载均衡群集部署——NAT模式

    LVS负载均衡群集部署--NAT模式 1.群集应用概述 2.NAT模式LVS负载均衡群集部署 1.群集应用概述: 存在的问题: 互联网应用中,随着站点对硬件性能.响应速度.服务稳定性.数据可靠性等要求 ...

  5. NAT模式 LVS负载均衡群集部署

    NAT模式 LVS负载均衡群集部署的操作步骤 实验环境准备: 负载调度器:内网关 ens33:172.16.10.1,外网关 ens37:12.0.0.1 Web节点服务器1:172.16.10.10 ...

  6. LVS+Keepalived-DR模式负载均衡高可用集群

    LVS+Keepalived DR模式负载均衡+高可用集群架构图 工作原理: Keepalived采用VRRP热备份协议实现Linux服务器的多机热备功能. VRRP,虚拟路由冗余协议,是针对路由器的 ...

  7. LVS的DR模式负载均衡

    参考项目:http://www.cnblogs.com/along21/p/7833261.html#auto_id_3 LVS的DR模式实现负载均衡 1.环境 lvs-server :192.168 ...

  8. lvs 中DR模式负载均衡及keepalived

    lvs DR配置 LVS负载均衡:三种负载均衡模式:DR,TUN(ip隧道),NAT,这里我们介绍DR模式 server1: 首先,配置server机yum源 方便后期实验流畅vim /etc/yum ...

  9. 搭建Lvs负载均衡群集

    一.Lvs详解 lvs内核模型 1.模型分析 用户访问的数据可以进入调度器 匹配调度器分配的虚拟IP|IP+端口(路由走向) 根据调度器的算法确定匹配的服务器 2.调度条件:基于IP.基于端口.基于内 ...

  10. LVS基于DR模式搭建负载均衡群集

    LVS -DR模式集群架构原理图

随机推荐

  1. Kafka 杂谈

    开始之前 首先,此篇文章会有很多地方会和 RocketMQ 比较,不太熟悉 RocketMQ 可以去看看我之前写的RocketMQ基础概念剖析&源码解析,先有个大概的印象,可能会帮助你更好的理 ...

  2. Health Kit文档大变样,一起尝鲜!

    Health Kit文档全新升级,开发场景更清晰,聚焦你关心的问题,快来一起尝鲜! 文档入口请戳:文档入口~ 如果你是运动健康的老朋友,可以从旧文档页面上方的提示信息中进入:最新版本哦. 一. 架构调 ...

  3. 远程desk工具利用总结

    NO.1 Todesk 根据目标软件安装情况有以下两种利用方法 1.目标机已有完整版todesk. 1)改配置文件. 老版本可替换至本地查看密码(此法在最近更新的几个版本中已经失效),新版本只可更改密 ...

  4. IIC通信协议

    1.IIC 通信协议简介 I2C 通讯协议(Inter-Integrated Circuit)是由 Phiilps 公司开发的, 由于它引脚少,硬件实现简单,可扩展性强,不需要 USART.CAN 等 ...

  5. celery笔记二之建立celery项目、配置及几种加载方式

    本文首发于公众号:Hunter后端 原文链接:celery笔记二之建立celery项目.配置及几种加载方式 接下来我们创建一个 celery 项目,文件夹及目录如下: proj/__init__.py ...

  6. ARC142

    ARC142 考试情况:一眼订正,鉴定为做出前三题. A - Reverse and Minimize 分析题目性质可得三种情况: \(K\) 末尾有 \(0\) 最多只有 \(K\) 本身一个答案. ...

  7. OSI7层模型和TCP/IP模型

    前言 在计算机网络领域中,OSI7层模型和TCP/IP模型是两个重要的概念.本文将对这两个模型进行介绍和比较,让大家了解它们的区别和联系. 目录 前言 OSI7层模型 TCP/IP模型 OSI7层模型 ...

  8. Linux设置多个Tomcat开机自启动

    Linux设置多个Tomcat开机自启动 前言 一台服务器上有多个tomcat环境,重启服务器后,每次需要手动一个个启动服务,非常麻烦,于是可以设置tomcat开机自启动. tomcat开机自启动非常 ...

  9. Java中读取用户输入的是谁?Scanner类

    前言 我们在初学 Java 编程的时候,总是感觉很枯燥乏味,想着做点可以交互的小系统,可以让用户自由输入,系统可以接收做出反映.这就要介绍一下 Java 中的 Scanner 类了. 一.Scanne ...

  10. java利用jni调用dll方法

    准备工作: 需要用到的插件jni4net:这个需要去官网下载:https://sourceforge.net/projects/jni4net/files/ (1)     jni4net 是一个开源 ...