部署LVS-DR群集

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

一.LVS数据包流向分析

1.数据包流向

(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 直接将响应报文传送到客户端。

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

二.LVS-DR中ARP的问题

1.问题1

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

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

1.1 解决办法

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

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

2.问题2

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

2.1 解决办法

对节点服务器进行处理,设置内核参数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.LVS-DR模式需要注意

保证前端路由将目标地址为VIP报文系统发给调度器 (DS)LVS-DR模式需要注意的是,而不是节点服务器 (RS )

解决法案:修改
RS上内核参数 (arp ingore和arp announce) 将节点服务器上VIP地址配置在lo接口的别名上,并限制其不能响应对VIP地址解析请求。

arp ingore=1 表示系统只响应目的IP为本地的ARP请求
arp annouce=2表示系统不使用IP包的源地址来设置的ARP请求的源地址,而选择发送接口的IP地址

2.优点

负载均衡器只负责将请求的包分发给物理服务器,而物理服务器将应答包直发送给用户。所以 负载均衡器处理很巨大请求量,这种方式台负载均衡能为超过100台的物理服务器的服务负载均衡不再是西永的瓶颈。使用LVS-DR方式,如果你的负载均衡器有100M全双工网卡的话,就能使得整个Vs能达到1G的吞吐量,甚至更高.

3.缺点

这种方式需要所有的负载均衡和节点服务器都在同一广播域:不支持异地容灾。

四.案例,构建LVS-DR集群部署

1.LVS-DR集群构架图

部署LVS-DR群集,lvs,网络,服务器

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

DR 服务器:192.168.198.14 中配置虚拟 IP 地址vip:192.168.198.180

Web 服务器1:192.168.198.11

Web 服务器2:192.168.198.12

NFS服务器:192.168.198.13

2.1 配置负载调度器(192.168.198.14)

systemctl stop firewalld.service
setenforce 0
modprobe ip_vs
cat /proc/net/ip_vs
yum -y install ipvsadm
2.1.1 配置虚拟 IP 地址(VIP:192.168.198.180)
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.198.180
NETMASK=255.255.255.255
ifup ens33:0
ifconfig ens33:0
2.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

部署LVS-DR群集,lvs,网络,服务器

sysctl -p

部署LVS-DR群集,lvs,网络,服务器

2.1.3 配置负载分配策略
ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm

ipvsadm -C
ipvsadm -A -t 192.168.198.180:80 -s rr
ipvsadm -a -t 192.168.198.180:80 -r 192.168.198.11:80 -g
#若隧道模式,-g替换为-i
ipvsadm -a -t 192.168.198.180:80 -r 192.168.198.12:80 -g
ipvsadm
#查看节点状态,Route代表 DR模式
ipvsadm -ln		

部署LVS-DR群集,lvs,网络,服务器

2.2 部署共享存储(NFS服务器:192.168.198.13)

systemctl stop firewalld.service
setenforce 0

yum -y install nfs-utils rpcbind
mkdir /opt/blue /opt/summer
chmod 777 /opt/blue /opt/summer

vim /etc/exports
/usr/share *(ro,sync)
/opt/blue 192.168.198.0/24(rw,sync)
/opt/summer 192.168.198.0/24(rw,sync)
systemctl start nfs.service
systemctl start rpcbind.service

2.3 配置节点服务器(192.168.198.11、192.168.198.12)

web1服务器:192.168.198.11

web2服务器:192.168.198.12

两个web服务器都配置以下配置

2.3.1 配置虚拟 IP 地址(VIP:192.168.198.180)
#此地址仅用作发送 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.198.180
NETMASK=255.255.255.255						#注意:子网掩码必须全为 1
ifup lo:0
ifconfig lo:0

部署LVS-DR群集,lvs,网络,服务器

部署LVS-DR群集,lvs,网络,服务器

route add -host 192.168.198.180 dev lo:0

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

chmod +x /etc/rc.d/rc.local
2.3.2 调整内核的 ARP 响应参数以阻止更新 VIP 的 MAC 地址,避免发生冲突
vim /etc/sysctl.conf
......
#系统只响应目的IP为本地IP的ARP请求
net.ipv4.conf.lo.arp_ignore = 1	
#系统不使用IP包的源地址来设置ARP请求的源地址,而选择发送接口的IP地址
net.ipv4.conf.lo.arp_announce = 2		
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2

部署LVS-DR群集,lvs,网络,服务器

部署LVS-DR群集,lvs,网络,服务器

sysctl -p
或者
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p

部署LVS-DR群集,lvs,网络,服务器

部署LVS-DR群集,lvs,网络,服务器

yum -y install nfs-utils rpcbind httpd
systemctl start rpcbind
systemctl start httpd
lsof -i:80
#查看共享是否建立
showmount -e 192.168.198.13

![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YgxocrRO-1688550390445)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230705151421569.png)](https://img-blog.csdnimg.cn/0995ca0eb9cd4dd3935cde9c39abf324.png)

部署LVS-DR群集,lvs,网络,服务器

--192.168.198.11---
mount.nfs 192.168.198.13:/opt/blue /var/www/html
echo 'this is bluec web!' > /var/www/html/index.html

--192.168.198.12---
mount.nfs 192.168.198.13:/opt/summer /var/www/html
echo 'this is summer web!' > /var/www/html/index.html

2.4 测试 LVS 群集

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

部署LVS-DR群集,lvs,网络,服务器

刷新

部署LVS-DR群集,lvs,网络,服务器

1. LVS-DR中的ARP问题

1.1问题1

ARP广播:导致所有节点服务器和调度器的VIP响应

解决方法:arp ingore=1

防止网关路由发送ARP广播时调度器和节点服务器都进行响应,导致ARP缓存徐乱,不对非本地物理网卡IP的APP请求进行响应,因为VIP是承载1o:0

1.2问题2

导致VIP的调度器失效: arp annouce=2

解决方案:系统不使用响应数据包的源IP地址 (VIP) 来作为本机进行ARP报文的源IP地址,而使用发送报文的物理网卡IP地址作为ARP请求报文的源IP地址,这样可以防止网关路由器接受到的源IP地址为VIP的请求报文后又更新ARP缓存表,导致外网在发送请求时数据包到达不了调度器。

2.构建LVS-DR集群部署问题

(1)注意需要都在统一网段中

(2)最后挂在需要挂载在共享的虚拟机

3.拓展

3.1 简述LVS三种工作模式,简述他们的区别?

NAT:通过网络地址转换实现的虚拟服务器,大并发访问时,调度器的性能成为瓶颈
DR:使用路由技术实现虚拟服务器,节点服务器需要配置VIP,注意MAC地址广播
TUN:通过隧道方式实现虚拟服务器。

3.2 列举你知道的LVS调度算法?

轮询(Round Robin);
加权轮询(Weighted Round Robin);
最少连接(Least Connections);
加权最少连接(Weighted Least Connections);
源地址哈希值(source hash)。

3.3 LVS调度器常见算法(均衡策略)?

LVS调度器用的调度方法基本分为两类:
固定调度算法:rr,wrr,dh,sh
rr:轮询算法,将请求依次分配给不同的rs节点,即RS节点中均摊分配。适合于RS所有节点处理性能接近的情况。
wrr:加权轮训调度,依据不同RS的权值分配任务。权值较高的RS将优先获得任务,并且分配到的连接数将比权值低的RS更多。相同权值的RS得到相同数目的连接数。
dh:目的地址哈希调度(destination hashing)以目的地址为关键字查找一个静态hash表来获得所需RS。
sh:源地址哈希调度(source hashing)以源地址为关键字查找一个静态hash表来获得需要的RS。

3.4 动态调度算法:wlc,lc,lblc

wlc:加权最小连接数调度,假设各台RS的权值依次为Wi,当前tcp连接数依次为Ti,依次去Ti/Wi为最小的RS作为下一个分配的RS。
lc:最小连接数调度(least-connection),IPVS表存储了所有活动的连接。LB会比较将连接请求发送到当前连接最少的RS。
lblc:基于地址的最小连接数调度(locality-based least-connection):将来自同一个目的地址的请求分配给同一台RS,此时这台服务器是尚未满负荷的。否则就将这个请求分配给连接数最小的RS,并以它作为下一次分配的首先考虑。文章来源地址https://www.toymoban.com/news/detail-533855.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日
    浏览(49)
  • 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日
    浏览(36)
  • 对比 LVS 负载均衡群集的 NAT 模式和 DR 模式,基于 CentOS 7 构建 LVS-DR 群集

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

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

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

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

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

    2024年02月13日
    浏览(36)
  • 基于 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负载均衡群集——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日
    浏览(48)
  • 构建 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)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包