LVS-DR群集部署

这篇具有很好参考价值的文章主要介绍了LVS-DR群集部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、LVS-DR数据包流向分析

二、 DR 模式的特点

总结

 三、LVS-DR中的ARP问题

1.在局域网中具有相同的IP地址,势必会造成各服务器ARP通信的紊乱

2.路由器根据ARP表项,会将新来的请求报文转发给RealServer,导致Director的VIP失效

3.解决上述问题的方法

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

1.配置负载调度器(192.168.88.50)

1.1配置虚拟IP地址(VIP:192.168.88.188)

1.2调整 proc 响应参数

1.3配置负载分配策略

2.部署共享存储(NFS服务器:192.168.88.80)

3.配置节点服务器(192.168.88.60 192.168.88.70)

3.1配置虚拟 IP 地址 

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

 4.测试 LVS 群集


一、LVS-DR数据包流向分析

LVS-DR群集部署

数据包流经路线为 1-2-3-4 

  1. 客户端发送请求到 Director Server(负载均衡器),请求的数据报文(源 IP 是 CIP,目标 IP 是 VIP)到达内核空间。
  2. Director Server 和 Real Server 在同一个网络中,数据通过二层数据链路层来传输。
  3. 内核空间判断数据包的目标IP是本机VIP,此时IPVS(IP虚拟服务器)比对数据包请求的服务是否是集群服务,是集群服务就重新封装数据包。修改源 MAC 地址为 Director Server 的 MAC地址,修改目标 MAC 地址为 Real Server 的 MAC 地址,源 IP 地址与目标 IP 地址没有改变,然后将数据包发送给 Real Server。
  4. 到达 Real Server 的请求报文的 MAC 地址是自身的 MAC 地址,就接收此报文。数据包重新封装报文(源 IP 地址为 VIP,目标 IP 为 CIP),将响应报文通过 lo 接口传送给物理网卡然后向外发出。
  5. Real Server 直接将响应报文传送到客户端。

二、 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 地址。

总结

  • 原理:首先负载均衡器接收到客户的请求数据包时,根据调度算法决定将请求发送给哪个后端的真实服务器(RS)。然后负载均衡器就把客户端发送的请求数据包的目标MAC地址改成后端真实服务器的MAC地址(R-MAC)。真实服务器响应完请求后,查看默认路由,把响应后的数据包直接发送给客户端,不需要经过负载均衡器。
  • 优点:负载均衡器只负责将请求包分发给后端节点服务器,而RS将应答包直接发给用户。所以,减少了负载均衡器的大量数据流动,负载均衡器不再是系统的瓶颈,也能处理很巨大的请求量。
  • 缺点:需要负载均衡器与真实服务器RS都有一块网卡连接到同一物理网段上,必须在同一个局域网环境。

 三、LVS-DR中的ARP问题

1.在局域网中具有相同的IP地址,势必会造成各服务器ARP通信的紊乱

  • 当ARP广播发送到LVS-DR集群时,因为负载均衡器和节点服务器都是连接到相同的网络上,它们都会接收到ARP广播
  • 只有前端的负载均衡器进行响应,其他节点服务器不应该响应ARP广播

 解决方案:对节点服务器进行处理,使其不响应针对VIP的ARP请求

  • 使用虚接口 lo:0 承载VIP地址
  • 设置内核参数 arp_ignore=1 :系统只响应目的IP为本地IP的ARP请求

2.路由器根据ARP表项,会将新来的请求报文转发给RealServer,导致Director的VIP失效

RealServer返回报文(源IP是VIP)经路由器转发,重新封装报文时,需要先获取路由器的MAC地址,发送ARP请求时,Linux默认使用IP包的源IP地址(即IP)作为ARP请求包中的源IP地址,而不使用发送接口的IP地址。

解决方案:

对节点服务器进行处理,设置内核参数 arp_announce=2 :系统不使用IP包的源地址来设置ARP请求的源地址,而选择发送接口的IP地址

3.解决上述问题的方法

修改/etc/sysctl.conf 文件
net.ipv4.conf.lo.arp_ignore = 1			#系统只响应目的IP为本地IP的ARP请求
net.ipv4.conf.lo.arp_announce = 2		#系统不使用IP包的源地址来设置ARP请求的源地址,而选择发送接口的IP地址
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2

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

DR服务器:192.168.88.50

web服务器1:192.168.88.60

web服务器2:192.168.88.70

nfs服务器:192.168.88.80

VIP:192.168.88.188

客户端:192.168.88.200

1.配置负载调度器(192.168.88.50)

systemctl stop firewalld.service
setenforce 0
modprobe ip_vs
cat /proc/net/ip_vs
yum -y install ipvsadm

1.1配置虚拟IP地址(VIP:192.168.88.188)

cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens33:0		#若隧道模式,复制为ifcfg-tunl0
vim ifcfg-ens33:0
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.88.188
NETMASK=255.255.255.255

ifup ens33:0          
ifconfig ens33:0

 LVS-DR群集部署

LVS-DR群集部署

1.2调整 proc 响应参数

#由于 LVS 负载调度器和各节点需要共用 VIP 地址,需要关闭 icmp 的重定向,不充当路由器。
vim /etc/sysctl.conf
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0

sysctl -p

LVS-DR群集部署

1.3配置负载分配策略

ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm

ipvsadm -C
ipvsadm -A -t 192.168.88.188:80 -s rr
ipvsadm -a -t 192.168.88.188:80 -r 192.168.88.60:80 -g	#若隧道模式,-g替换为-i
ipvsadm -a -t 192.168.88.188:80 -r 192.168.88.70:80 -g
ipvsadm

ipvsadm -ln					#查看节点状态,Route代表 DR模式

LVS-DR群集部署  

2.部署共享存储(NFS服务器:192.168.88.80)

systemctl stop firewalld.service
setenforce 0

yum -y install nfs-utils rpcbind
mkdir /opt/kgc /opt/benet
chmod 777 /opt/kgc /opt/benet

vim /etc/exports
/opt/kgc 192.168.88.0/24(rw,sync)
/opt/benet 192.168.88.0/24(rw,sync)

systemctl start rpcbind.service
systemctl start nfs.service

LVS-DR群集部署

3.配置节点服务器(192.168.88.60 192.168.88.70)

3.1配置虚拟 IP 地址 

systemctl stop firewalld.service
setenforce 0

#此地址仅用作发送 Web响应数据包的源地址,并不需要监听客户机的访问请求(改由调度器监听并分发)。因此使用虚接口 lo∶0 来承载 VIP 地址,并为本机添加一条路由记录,将访问 VIP 的数据限制在本地,以避免通信紊乱。
cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0		
vim ifcfg-lo:0
DEVICE=lo:0
ONBOOT=yes
IPADDR=192.168.80.188
NETMASK=255.255.255.255						#注意:子网掩码必须全为 1

ifup lo:0
ifconfig lo:0
route add -host 192.168.80.188 dev lo:0     #临时添加
或
vim /etc/rc.local
/sbin/route add -host 192.168.80.188 dev lo:0    #永久配置

chmod +x /etc/rc.d/rc.local

LVS-DR群集部署

 LVS-DR群集部署

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

vim /etc/sysctl.conf
net.ipv4.conf.lo.arp_ignore = 1			#系统只响应目的IP为本地IP的ARP请求
net.ipv4.conf.lo.arp_announce = 2		#系统不使用IP包的源地址来设置ARP请求的源地址,而选择发送接口的IP地址
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2

sysctl -p


yum -y install nfs-utils rpcbind httpd
systemctl start rpcbind
systemctl start httpd

--192.168.88.60---
mount.nfs 192.168.88.60:/opt/kgc /var/www/html
echo 'this is kgc web!' > /var/www/html/index.html

--192.168.80.101---
mount.nfs 192.168.88.70:/opt/benet /var/www/html
echo 'this is benet web!' > /var/www/html/index.html

LVS-DR群集部署 LVS-DR群集部署

LVS-DR群集部署

 4.测试 LVS 群集

在客户端使用浏览器访问 http://192.168.88.188/

LVS-DR群集部署文章来源地址https://www.toymoban.com/news/detail-490931.html

到了这里,关于LVS-DR群集部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 简单认识LVS-DR负载群集和部署实例

    1、客户端发送请求到 Director Server(负载均衡器),请求的数据报文(源 IP 是 CIP,目标 IP 是 VIP)到达内核空间。 2、Director Server 和 Real Server 在同一个网络中,数据通过二层数据链路层来传输。 3、内核空间判断数据包的目标IP是本机VIP,此时IPVS(IP虚拟服务器)比对数据包请

    2024年02月13日
    浏览(32)
  • 8月16日上课内容 第二章 部署LVS-DR群集

    本章结构:   数据包流向分析: (1)客户端发送请求到 Director Server(负载均衡器),请求的数据报文(源 IP 是 CIP,目标 IP 是 VIP)到达内核空间。 (2)Director Server 和 Real Server 在同一个网络中,数据通过二层数据链路层来传输。 (3)内核空间判断数据包的目标IP是本机V

    2024年02月11日
    浏览(51)
  • LVS-DR群集

    1.1 数据包流向分析 (1)客户端发送请求到 Director Server(负载均衡器),请求的数据报文(源 IP 是 CIP,目标 IP 是 VIP)到达内核空间 (2)Director Server 和 Real Server 在同一个网络中,数据通过二层数据链路层来传输 (3)内核空间判断数据包的目标IP是本机VIP,此时IPVS(IP虚拟

    2024年02月09日
    浏览(34)
  • CentOS 7 构建 LVS-DR 群集

    一、LVS-DR集群摘要 LVS(Linux Virtual Server)是一个用于构建可扩展和高可用性的负载均衡集群的软件。它基于Linux操作系统,并提供了一种将网络流量分发到多个后端服务器的机制。 二、基本工作原理 配置负载均衡器:在LVS集群中,首先需要配置一个或多个负载均衡器(Load

    2024年02月13日
    浏览(35)
  • 对比 LVS 负载均衡群集的 NAT 模式和 DR 模式,基于 CentOS 7 构建 LVS-DR 群集

    LVS(Linux Virtual Server)是一个开源的负载均衡软件,它支持多种负载均衡算法,包括 NAT 模式和 DR (Direct Routing)模式。下面分别介绍一下这两种模式的优势: 1.NAT 模式 在 NAT 模式中,LVS 负载均衡器将客户端请求的 IP 地址和端口转换为后端服务器的 IP 地址和端口,因此后端

    2024年02月03日
    浏览(34)
  • 基于 CentOS 7 构建 LVS-DR 群集

    LVS-DR模式工作原理 首先,来自客户端计算机CIP的请求被发送到Director的VIP。 然后Director使用相同的VIP目的IP地址将 请求发送到集群节点或真实服务器。 然后,集群某个节点将回复该数据包,并将该数据包直接发送到客户端计算机(不经过Director),并且以此回复数据包使用的

    2024年02月13日
    浏览(37)
  • 基于 CentOS 7 构建 LVS-DR 群集。

    本次实验我准备了4台虚拟机 DS:DIP--192.168.163.138         VIP--192.168.163.200 RIP1(web1)--192.168.163.140 RIP2(web2)--192.168.163.141 Client:user--192.168.163.142 RIP1 RIP2 使用Client验证 RIP1: RIP2同上 下载ipvsadm 添加ipvsadm服务 RIP1和RIP2皆如此 在Client上进行测试 成功访问到服务

    2024年02月13日
    浏览(30)
  • 构建 LVS-DR 群集、配置nginx负载均衡。

    目录 一、基于 CentOS 7 构建 LVS-DR 群集 1、准备四台虚拟机 2、配置负载调度器(192.168.2.130) 3、部署共享存储(192.168.2.133) 4、配置两个Web服务器(192.168.2.131、192.168.2.132) 测试集群 二、配置nginx负载均衡。 1、安装部署nginx 2、负载均衡服务器192.168.2.130 3、web1服务器192.168.2

    2024年02月12日
    浏览(33)
  • 【群集】——keepalived+LVS-DR+GFS+zabbix

    目录 🍋拓扑图 🍋案例实施 🍒1、环境配置 🍒1.1、配置IP地址 🍒1.2、GFS添加磁盘 🍈2、Keepalived 🍈2.1、配置主调度器 🍈2.2、配置备份调度器 🍓3、LVS-DR 🍓3.1、负载均衡 🍓3.1.1、关闭icmp重定向 🍓3.1.2、配置负载分配策略 🍓3.2、配置主调度器 🍓3.3、配置备份调度器 🍌

    2024年01月21日
    浏览(35)
  • LVS-DR+keepalived实现高可用负载群集

    VRRP 通信原理: VRRP就是虚拟路由冗余协议,它的出现就是为了解决静态路由的单点故障。 VRRP是通过一种竞选的一种协议机制,来将路由交给某台VRRP路由。 VRRP用IP多播的方式(多播地址224.0.0.18)来实现高可用的通信,工作时主节点发包,备节点接收包,当备节点接收不到主

    2024年02月12日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包