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

测试结果

相关推荐
MarkGosling13 分钟前
【开源项目】网络诊断告别命令行!NetSonar:开源多协议网络诊断利器
运维·后端·自动化运维
无敌的牛19 分钟前
Linux基础开发工具
linux·运维·服务器
Edingbrugh.南空20 分钟前
实战指南:用pmap+gdb排查Linux进程内存问题
linux·运维·服务器
朱颜辞镜花辞树‎32 分钟前
GitHub 操作指南:项目协作与自动化工作流实践
运维·自动化·github
孙克旭_1 小时前
day051-ansible循环、判断与jinja2模板
linux·运维·服务器·网络·ansible
总有刁民想爱朕ha2 小时前
零基础搭建监控系统:Grafana+InfluxDB 保姆级教程,5分钟可视化服务器性能!
运维·服务器·grafana
Mr_Orangechen2 小时前
Linux 下使用 VS Code 远程 GDB 调试 ARM 程序
linux·运维·arm开发
撰卢3 小时前
【个人笔记】负载均衡
运维·笔记·负载均衡
Shartin3 小时前
Can201-Introduction to Networking: Application Layer应用层
服务器·开发语言·php
lilian1293 小时前
linux系统mysql性能优化
linux·运维·mysql