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

测试结果

相关推荐
Ztiddler5 小时前
【Linux Shell命令-不定期更新】
linux·运维·服务器·ssh
小小不董5 小时前
Oracle OCP认证考试考点详解082系列16
linux·运维·服务器·数据库·oracle·dba
IPdodo全球网络5 小时前
如何利用静态住宅IP优化Facebook商城的网络稳定性与运营效率
运维·服务器
a1denzzz5 小时前
Linux系统的网络设置
linux·服务器·网络
运维&陈同学5 小时前
【模块一】kubernetes容器编排进阶实战之k8s基础概念
运维·docker·云原生·容器·kubernetes·云计算
m0_519523106 小时前
Linux——简单认识vim、gcc以及make/Makefile
linux·运维·vim
mit6.8246 小时前
[Docker#4] 镜像仓库 | 部分常用命令
linux·运维·docker·容器·架构
zyp2468107 小时前
Linux之DNS服务器
linux·运维·服务器
wdxylb7 小时前
将C++搭建的简单HTTP服务器升级为 HTTPS 服务器
运维·服务器·https
Denzel张7 小时前
ubuntu_dpkg_dep_list
linux·运维·ubuntu