LVS 负载均衡部署的三种模式 与搭建dr模式具体步骤

一 LVS 负载均衡部署的模式

LVS 有三种负载均衡的模式,分别是VS/NAT(nat 模式)、VS/DR(路由模式)、VS/TUN(隧道模式)。

(一)三种模式原理 及优缺点

1,nat 模式

1.1 原理

原理:首先负载均衡器接收到客户的请求数据包时,根据调度算法决定将请求发送给哪个后端的真实服务器(RS)。

然后负载均衡器就把客户端发送的请求数据包的目标IP地址及端口改成后端真实服务器的工P地址(RIP)。

真实服务器响应完请查看默认路由,把响应后的数据包发送给负载均衡器,

负载均衡器在接收到响应包后,把包的源地址改成虚拟地址,(VIP)然后发送回给客户端。

1.2 优点

集群中的服务器可以使用任何支持TCP/IP的操作系统,只要负载均衡器有一个合法的IP地址。

1.3 缺点

扩展性有限,当服务器节点增长过多时,由于所有的请求和应答都需要经过负载均衡器,因此负载均衡器将成为整个系统的瓶颈

2, 直接路由模式

2.1 原理

首先负载均衡器接收到客户的请求数据包时,根据调度算法决定将请求发送给哪个后端的真实服务器(RS)。

然后负载均衡器就把客户端发送的请求数据包的目标MAC地址改成后端真实服务器的MAC地址(R-MAC)

真实服务器响应完请求后,查看默认路由,把响应后的数据包直接发送给客户端,不需要经过负载均衡器。

2.2 优点

负载均衡器只负责将请求包分发给后端节点服务器,而RS将应包直接发给用户。所以,减少了负载均衡器的大量数据流动,负载均衡器不再是系统的瓶颈,也能处理很巨大的请求量。

2.3 缺点

需要负载均衡器与真实服务器RS都有一块网卡连接到同一物理网段上,必须在同一个局城网环境。

3, ip 隧道模式

首先负载均衡器接收到客户的请求数据包时,根据调度算法决定将请求发送给哪个后端的真实服务器(RS)。

然后负载均衡器就把客户端发送的请求报文封装一层IP隧道(T-IP)转发到真实服务器(RS)。

真实服务器响应完请求后,查看默认路由,把响应后的数据包直接发送给客户端,不需要经过负载均器。

3.1 优点

负载均衡器只负责将请求包分发给后端节点服务器,而Rs将应答包直接发给用户。所以,减少了负载均衡器的大量数据流动,负载均衡器不再是系统的瓶颈,也能处理很巨大的请求量。

且负载均衡服务器 和 真实服务器可以不在同一网段(一般用于跨地区的大型企业)

3.2 缺点

ip隧道要花钱买 成本高

(二) 简述三种模式区别

1,三种模式区别

NAT: 通过网络地址转换实现的虚拟服务器,大并发访问时,调度器的性能成为瓶颈使

DR: 用路由技术实现虚拟服务器,节点服务器需要配置VIP,注意MAC地址广播

TUN: 通过隧道方式实现虚拟服务器。

2, dr 和tun 区别

lvs 代理服务器(负载均衡服务器) 和真实服务器们 是否在同一网段

二 LVS 负载均衡部署dr 模式具体介绍

(一)架构图

(二) dr 模式两个问题 的解决

1,地址冲突问题

由以上架构图看到,调度服务器,真实服务器三台机器都配置同一个虚拟ip,这会导致ip冲突的问题。

解决方法: 设vip 虚拟地址 配在各自的虚口上lo 代理和真实都是一个地址

都配在 虚拟网卡回环口上

2,客户机 arp 广播 找虚拟地址 代理和真实都会回

解决完地址冲突问题后,客户机arp广播虚拟ip 所有真实服务器和代理服务器都会回

解决方法: 关掉真实服务器 的响应

要关两个: 无故arp 普通arp

(三)dr 模式另一种思路

客户机 做静态arp

即在客户机做:将虚拟ip地址 和代理服务器的mac 地址绑定

这样客户机只会去找代理服务器了

弊端:要能碰到客户机

三 实验 搭建dr 模式 LVS 代理服务器负载均衡

(一)实验环境

生产环境中客户机 是外网ip 假设已经经过转换成内网ip 以上是架构图

(二)55 代理服务器

1, 配置虚拟ip 地址

(代理服务器是真正要响应客户机的 所以虚拟ip 配在网卡上 真实服务器要把虚拟ip配置搭配lo回环网卡上)

2,写到 /etc/sysctl.conf 文件里

调整/proc响应参数 对于 DR 群集模式来说,由于 LVS 负载调度器和各节点需要共用 VIP 地址,应该关闭 Linux 内核的重定向参数响应服务器不是一台路由器,那么它不会发送重定向,所以可以关闭该功能

关闭路由转发

sysctl -p 从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载

4, 加载 ip_vs 内核模块

ip_vs 是内核模块的一个配置 是操作系统的一部分

modprobe 是把 ip_vs 配置加载到进程中

5,下载 lvs 软件

6,ipvsadm-save >/etc/sysconfig/ipvsadm

#保存配置文件

再启动软件 否则会报错

7,先清空策略

指定 代理服务器的虚拟ip

8, 指定 两个真实服务器的 虚拟ip

#添加真实服务器-a 指定VIP地址及TCP端口-t 指定RIP地址及TCP端口 -r 指定DR模式-g

dr 模式不支持端口映射 如果将此处80端口改为 其他端口 还是会变成80端口

9,查看策略 是否生效

(三)77 真实服务器

1,安装http

2, 添加 虚拟ip 注意!此处要加在lo 回环网卡上 避免地址冲突

3,做网页

4,添加系统只响应目的IP为本地IP的ARP请求

系统不使用原地址来设置ARP请求的源地址,而是物理mac地址上的IP

此处数字的意义:

0 - (默认值): 回应任何网络接口上对任何本地IP地址的arp查询请求

1 - 只回答目标IP地址是来访网络接口本地地址的ARP查询请求

2 -只回答目标IP地址是来访网络接口本地地址的ARP查询请求,且来访IP必须在该网络接口的子网段内

5,启动 http

(四) 88 真实服务器

配置与77 服务器一致

bash 复制代码
systemctl stop firewalld
setenforce 0

yum install httpd -y

ifconfig lo:0 192.168.217.188/32

echo 88ziyuan   > /var/www/html/index.html
cat    /var/www/html/index.html
88ziyuan

vim /etc/sysctl.conf

net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2

systemctl start httpd

(五) 客户机

访问虚拟ip 后 经过轮询 分别访问77和88真实服务器的内容

相关推荐
Ztiddler4 小时前
【Linux Shell命令-不定期更新】
linux·运维·服务器·ssh
小小不董5 小时前
Oracle OCP认证考试考点详解082系列16
linux·运维·服务器·数据库·oracle·dba
IPdodo全球网络5 小时前
如何利用静态住宅IP优化Facebook商城的网络稳定性与运营效率
运维·服务器
运维&陈同学5 小时前
【模块一】kubernetes容器编排进阶实战之k8s基础概念
运维·docker·云原生·容器·kubernetes·云计算
m0_519523106 小时前
Linux——简单认识vim、gcc以及make/Makefile
linux·运维·vim
mit6.8246 小时前
[Docker#4] 镜像仓库 | 部分常用命令
linux·运维·docker·容器·架构
zyp2468106 小时前
Linux之DNS服务器
linux·运维·服务器
wdxylb6 小时前
将C++搭建的简单HTTP服务器升级为 HTTPS 服务器
运维·服务器·https
Denzel张7 小时前
ubuntu_dpkg_dep_list
linux·运维·ubuntu
dessler7 小时前
云计算&虚拟化-虚拟化技术介绍
linux·运维·云计算