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真实服务器的内容

相关推荐
Stark-C15 分钟前
功能齐全,支持协作 | Docker部署一款支持多人共享的私密浏览器『n.eko』
运维·docker·容器
嘟嘟Listing35 分钟前
设置jenkins时区记录
运维·jenkins
嘟嘟Listing36 分钟前
jenkins docker记录
java·运维·jenkins
伴野星辰37 分钟前
小乌龟TortoiseGit 安装和语言包选择
linux·运维·服务器
枫叶丹443 分钟前
【在Linux世界中追寻伟大的One Piece】多线程(一)
java·linux·运维
残念ing1 小时前
【Linux】—简单实现一个shell(myshell)
linux·运维·服务器
明月心9521 小时前
linux mount nfs开机自动挂载远程目录
linux·运维·服务器
库库的里昂1 小时前
Linux系统Docker部署开源在线协作笔记Trilium Notes与远程访问详细教程
linux·运维·docker·开源
在下不上天2 小时前
flume-将日志采集到hdfs
大数据·linux·运维·hadoop·hdfs·flume
Mango0000002 小时前
香港站群服务器有助于提升网站在搜索引擎中的排名
运维·服务器·搜索引擎