lvs-DR

lvs-DR数据包流向分析

client向目标VIP发出请求。

DIR根据负载均衡算法一台active的RS(RIR1),将RIP1所在的网卡的mac地址作为目标的mac地址,发送到局域网里。

RIRI在局域网中的收到这个帧,拆开后发现目标(VIP)与本地匹配,于是你就会处理这个报文,随后重新封装报文,发送到局域网。

lvs-DR中ARP问题

1、如何让域名服务器不响应泛洪广播

防止网关路由发送ARP广播时调度器和节点服务都会进行响应导致ARP缓存表混乱,不对非本地物理网卡arp请求进行响应,因为vip是承载lo:0。

总结:为防止网关路由器发送ARP广播时调度器和节点都会进行响应,这会导致ARP缓存表混乱,不对非本地物理网卡的arp请求进行响应,因为VIP时承载lo:o。

命令arp ignore=1。

作用:控制系统在接收到ARP广播请求报文时,是否返回ARP响应报文。

1的作用:只响应目的IP地址接受网卡上的本地的ARP请求。

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

arp announce =2

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

注:在节点服务器上配置。

lvs-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发送的数据包不允许经过DirectorServer。

6、 Real Servert上的lo接口配置VIP的IP地址。

优点:

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

缺点:

所有的调度器和节点服务器在同个广摇域,不支持异地容灾。

实验:

1.配置负载调度器

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

配置虚拟 IP 地址

cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens33:0
ifup ens33:0

调整 proc 响应参数

配置负载分配策略

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

ipvsadm -C
ipvsadm -A -t 192.168.11.180:80 -s rr
ipvsadm -a -t 192.168.11.180:80 -r 192.168.11.33:80 -g			
ipvsadm -a -t 192.168.11.180:80 -r 192.168.11.11:80 -g
ipvsadm-save > /etc/sysconfig/ipvsadm

2.配置节点服务器

systemctl stop firewalld.service
setenforce 0

cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0		

vim ifcfg-lo:0
DEVICE=lo:0
ONBOOT=yes
IPADDR=192.168.10.180
NETMASK=255.255.255.255		
ifup lo:0
route add -host 192.168.10.180 dev lo:0

vim /etc/rc.local
/sbin/route add -host 192.168.10.180 dev lo:0
chmod +x /etc/rc.d/rc.local

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

vim /etc/sysctl.conf
sysctl -p
yum -y install nfs-utils rpcbind httpd
systemctl start rpcbind
systemctl start httpd

输入数据

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

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

测试结果

相关推荐
网络安全(华哥)1 小时前
网络安全服务实施流程管理 网络安全服务体系
运维·服务器·网络
致奋斗的我们1 小时前
Nginx反向代理及负载均衡
linux·运维·mysql·nginx·负载均衡·shell·openeluer
Ares-Wang1 小时前
负载均衡 方式
运维·负载均衡
钗头风1 小时前
3.Docker常用命令
运维·docker·容器
忧虑的乌龟蛋1 小时前
嵌入式 Linux:使用设备树驱动GPIO全流程
linux·服务器·嵌入式·imx6ull·gpio·点灯·pinctrl
朝九晚五ฺ2 小时前
【Linux探索学习】第三十弹——线程互斥与同步(上):深入理解线程保证安全的机制
linux·运维·学习
六六六六六66662 小时前
企业组网IP规划与先关协议分析
服务器·网络·tcp/ip
不要吃栗子李2 小时前
高级运维:1. 对比 LVS 负载均衡群集的 NAT 模式和 DR 模式,比较其各自的优势 。2. 基于 openEuler 构建 LVS-DR 群集。
运维·负载均衡·lvs
ITPUB-微风2 小时前
网易严选DevOps实践:从传统到云原生的演进
运维·云原生·devops
roman_日积跬步-终至千里3 小时前
【Flink实战】Flink网络内存和托管内存
服务器·网络·flink