【LVS】2、部署LVS-DR群集

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

LVS-DR数据包的流向分析

1.客户端发送请求到负载均衡器,请求的数据报文到达内核空间;

2.负载均衡服务器和正式服务器在同一个网络中,数据通过二层数据链路层来传输;

3.内核空间判断数据包的目标IP是本机VIP,此时IP虚拟服务器比对数据包请求的服务是否是集群服务,是、则重新封装数据包;修改源MAC地址为负载均衡服务器的MAC地址,目标MAC地址为真实服务器的MAC地址,源IP地址和目标IP地址不变,然后将数据包发送给真实服务器

4.如果到达真实服务器的请求报文的MAC地址是自身的MAC地址,就接收此报文;数据包重新封装报文(源 IP 地址为 VIP,目标 IP 为 CIP),将响应报文通过 lo 接口传送给物理网卡然后向外发出

5.真实服务器直接将响应报文传送到客户端

    Clint向目标VIP发出请求,Director(负载均衡器)接收
    IP包头及数据帧头部信息

LVS-DR中的ARP故障

1.ARP通信紊乱
防止网关路由器发送ARP广播时调度器和节点都进行响应,导致ARP通信紊乱;
可以不对非本地物理网卡的arp请求进行响应,使用虚拟接口lo:0承载VIP地址

        在LVS-DR负载均衡群集中,负载均衡器与节点服务器都要配置相同的VIP地址,在局域网中具有相同的IP地址,会造成各服务器ARP通信的紊乱;

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

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

        使用虚拟接口lo:0承载VIP地址

        设置内核参数arp_ignore=1:代表系统只响应目的IP为本地IP的ARP请求

2.ARP_announce-2
系统不使用响应数据的源IP地址(VIP)来作为本机进行的arp请求报文的源IP地址,
而是使用发送报文的物理网卡的IP地址作为ARP请求报文的源IP地址,
这样可以防止网关路由器接收到源IP地址为VIP的ARP请求,报文后的又去更新ARP缓存表,导致外网再去发送请求时,数据包无法到达调度器

RS返回报文(源IP是VIP)经路由器转发,重新封装报文时,需要想获取路由器的MAC地址,发送ARP请求时,Linux默认使用IP包的源IP地址(即VIP)作为ARP请求包中的源IP地址,此时路由器的路由表进行更新,VIP的MAC地址由原先的均衡器变为节点服务器,路由器根据ARP表项,会将新来的请求报文转发给节点服务器,导致均衡器的VIP失效,又会造成VIP的紊乱

解决办法:

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

修改/etc/sysctl.conf文件
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce =2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce =2

LVS-DR的特性

1.负载均衡服务器(DS)和真实服务器(RS)必须在同一个物理网络中

2.RS可以使用私有地址,也可以使用公网地址,如果使用公网地址,可以通过互联网对RIP直接进行访问

3.DS作为群记得访问入口,但不作为网关使用

4.所有请求报文经由DS,但回复响应报文不能经过DS

5.RS的网关不允许指向DS IP,即RS发送的数据包不允许经过DS

6.RS上的lo接口配置VIP的IP地址

LVS的优点:负载均衡器只负责将请求包分发给物理服务器,而物理服务器将响应包直接发送给用户,所以负载均衡器能处理很巨大的请求流量;这种方式,一台负载均衡能为超过100M的物理服务器服务,负载均衡器不再是系统瓶颈;使用LVS-DR方式,如果你的负载均衡器拥有100M全双工网卡的话,使用LVS就能达到1G甚至更高的吞吐量

5万以内用Nginx,5-10万使用

LVS的缺点:所有的调度器和节点服务器在同一个广播域,必须在同一个物理网络中,不支持异地容灾

.

LVS-DR负载均衡群集部署

流程图:(待修改ing)

【LVS】2、部署LVS-DR群集,lvs,服务器,linux

设备准备:
DR 服务器:192.168.220.130
Web 服务器1:192.168.220.111      
Web 服务器2:192.168.220.112      
vip:192.168.220.135
NFS共享存储:192.168.220.131
1.配置负载调度器(192.168.220.130)
#关闭防火墙和安全机制
systemctl stop firewalld.service
setenforce 0

#安装加载ip_vs
modprobe ip_vs
cat /proc/net/ip_vs
#安装ipvsadm服务
yum -y install ipvsadm
(1)配置虚拟 IP 地址(VIP:192.168.220.135) 
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens33:0

vim ifcfg-ens33:0
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.220.135
NETMASK=255.255.255.255

#启动虚拟网卡ens33:0
ifup ens33:0
#查看虚拟网卡ens33:0当前状态
ifconfig ens33:0


#ifup 与 ifdown 会直接到 /etc/ sysconfig/network-scripts 目录下搜索对应的配置文件,进行启动与关闭
(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
(3)配置负载分配策略
#保存重定向,开启ipvsadm
ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl restart ipvsadm

ipvsadm -C        #清空所有规则
ipvsadm -A -t 192.168.220.135:80 -s rr        #配置虚拟IP;rr为普通轮询
ipvsadm -a -t 192.168.220.135:80 -r 192.168.220.111:80 -g			#-g表示DR模式;若隧道模式,-g替换为-i
ipvsadm -a -t 192.168.220.135:80 -r 192.168.220.112:80 -g

#启动ipvsadm
ipvsadm
#查看节点状态,Route代表 DR模式
ipvsadm -ln
2.部署共享存储(NFS服务器:192.168.220.131)
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
/usr/share *(ro,sync)
/opt/kgc 192.168.220.0/24(rw,sync)
/opt/benet 192.168.220.0/24(rw,sync)

systemctl start nfs.service
systemctl start rpcbind.service

3.配置节点服务器(192.168.220.111、192.168.220.112)

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

systemctl stop firewalld.service
setenforce 0
(1)配置虚拟 IP 地址(VIP:192.168.220.135)
cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0		
vim ifcfg-lo:0
DEVICE=lo:0
ONBOOT=yes
IPADDR=192.168.220.135
NETMASK=255.255.255.255						#注意:子网掩码必须全为 1
#开启虚拟网卡lo:0,查看虚拟网卡lo:0的状态
ifup lo:0
ifconfig lo:0
#添加规则
route add -host 192.168.220.135 dev lo:0

vim /etc/rc.local
/sbin/route add -host 192.168.220.135 dev lo:0

#给文件执行权限
chmod +x /etc/rc.d/rc.local
(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.220.111---
#挂载
mount.nfs 192.168.220.111:/opt/kgc /var/www/html
echo 'this is kgc web!' > /var/www/html/index.html
--192.168.220.112---
#挂载
mount.nfs 192.168.220.112:/opt/benet /var/www/html
echo 'this is benet web!' > /var/www/html/index.html
4.测试 LVS 群集

在客户端使用浏览器访问 http://192.168.220.135文章来源地址https://www.toymoban.com/news/detail-657978.html

到了这里,关于【LVS】2、部署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日
    浏览(33)
  • 8月16日上课内容 第二章 部署LVS-DR群集

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

    2024年02月11日
    浏览(52)
  • 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)
  • web集群学习:基于CentOS 7构建 LVS-DR 群集并配置服务启动脚本

    目录 1、环境准备 2、配置lvs服务启动脚本 1、在RS上分别配置服务启动脚本 2、在lvs director上配置服务启动脚本 3、客户端测试 配置LVS-DR模式主要注意的有 1、vip绑定在RS的lo接口; 2、RS做arp抑制; VIP=192.168.95.10 RS1=192.168.95.11 RS2=192.168.95.12 网络接口:ens33 在两台RS上分别准备w

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

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

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

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

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

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

    2024年02月13日
    浏览(40)
  • 基于 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日
    浏览(32)
  • LVS负载均衡群集——LVS-NAT模式搭建和LVS-DR模式搭建

    目录 lvs工作模式 1、NAT模式(VS-NAT) 2、直接路由模式(VS-DR) 3、IP隧道模式(VS-TUN) LVS调度算法 LVS群集类型 1)负载均衡群集 LB 2)高可用群集 HA 3)高性能运输群集 HPC LVS-NAT模式搭建 1、NFS部署 2、web服务器部署(节点服务器) 3、负载调度器配置  4、使用客户端测试 LVS

    2024年02月07日
    浏览(50)
  • LVS-DR+keepalived实现高可用负载群集

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

    2024年02月12日
    浏览(42)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包