LVS DR 模式

Posted elin989898

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LVS DR 模式相关的知识,希望对你有一定的参考价值。

 
LVS  DR 模式
=========================================
面试:
集群分为哪些类型:负载均衡集群、高性能运算集群、高可用集群
LVS有三种模式 :地址转换(NAT)、IP隧道(TUNNEL)【比较昂贵】、直接路由(DR)较为常用
LVS针对淘宝又创建了一种模式:FULLNAT模式
LVS的负载均衡调度的10种算法
ARP协议:ARP地址解析协议,将IP地址解析为对应的mac地址
mac地址表中有源mac和源主机端口号
ARP 缓存表 Internet  物理地址(mac地址) 类型
=========================================
LVS  DR 模式  :运用wlc算法  (W加权 lc最小连接数 )
需要解决的问题:
1、DR模式中,负载调度器和节点服务器都要配置相同的VIP地址,但在局域网中具有相同 的IP地址,会造成各服务器ARP广播通信的缭乱。
解决方法:
对节点服务器,使其不响应针对VIP的ARP请求,使用虚拟接口lo:0承载VIP地址,设置内核参数arp_ignore=1,系统只响应ip为本地RIP的ARP请求
2、路由器收到ARP请求后,更新ARP表的内容,原有的VIP对应调度器的MAC地址会被更新为节点服务器的MAC地址。此时新来的请求报文,路由器根据ARP表,转发给节点服务器,从而导致调度器失效
解决方法:
对节点服务器进行处理,设置内核参数arp_announce = 2 ,系统不使用IP包的源地址(VIP)来设置ARP请求的源地址,而选择发送接口的IP(RIP)地址。
负载调度器:
安装ipvsadm
[root@localhost ~]# yum -y install ipvsadm
配置负载分配策略
[root@localhost ~]# ipvsadm -A -t 192.168.200.254:80 -s rr
[root@localhost ~]# ipvsadm -a -t 192.168.200.254:80 -r 192.168.200.112:80 -g -w 1
[root@localhost ~]# ipvsadm -a -t 192.168.200.254:80 -r 192.168.200.113:80 -g -w 1
配置VIP
[root@localhost ~]# ifconfig ens32:0 192.168.200.254 netmask 255.255.255.0
节点服务器:
安装apache
[root@localhost ~]# yum -y install httpd
创建测试页
[root@localhost ~]# echo "1111" > /var/www/html/index.html
[root@localhost ~]# systemctl restart httpd
配置VIP
[root@localhost ~]# ifconfig lo:0 192.168.200.254 netmask 255.255.255.255
 
[root@localhost ~]# route add -host 192.168.200.254 dev lo:0
修改
[root@localhost ~]# vi /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
[root@localhost ~]# sysctl -p
====================
主要是在节点上做以上更改
实验如下
3台机器
主机1作为调度器  yum -y install ipvsadm
主机2,主机3 安装apache   (作为节点)
首先全部关闭安全机制和防火墙
===========
主机1  66
 yum -y install ipvsadm
 ifconfig ens32:0 192.168.200.254 netmask 255.255.255.0
 重启网卡
 ipvsadm -A -t 192.168.200.254:80 -s rr
 ipvsadm -a -t 192.168.200.254:80 -r 192.168.200.67:80 -g -w 1
 ipvsadm -a -t 192.168.200.254:80 -r 192.168.200.68:80 -g -w 1
ipvsadm -Ln
ip a
=====
主机2  67
 yum -y install httpd
[root@localhost ~]# echo "1111" > /var/www/html/index.html
[root@localhost ~]# systemctl restart httpd
[root@localhost ~]# ifconfig lo:0 192.168.200.254 netmask 255.255.255.255   //广播地址
[root@localhost ~]# route add -host 192.168.200.254 dev lo:0
[root@localhost ~]# vi /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
(加上以上信息)保存退出
[root@localhost ~]# sysctl  -p
=============
主机3  68
 yum -y install httpd
[root@localhost ~]# echo "2222" > /var/www/html/index.html
[root@localhost ~]# systemctl restart httpd
[root@localhost ~]# ifconfig lo:0 192.168.200.254 netmask 255.255.255.255   //广播地址
[root@localhost ~]# route add -host 192.168.200.254 dev lo:0
[root@localhost ~]# vi /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
(加上以上信息)保存退出
[root@localhost ~]# sysctl  -p
--浏览器访问1921.168.200.254  //刷新页面看是否轮询
ipvsadm -Lnc
 
 
 
 
 

以上是关于LVS DR 模式的主要内容,如果未能解决你的问题,请参考以下文章

群集 之 LVS负载均衡(DR模式)

初识LVS——LVS的DR工作模式

lvs中dr模式配置脚本

LVS DR 模式

LVS负载均衡群集DR模式+Keepalived部署!

LVS负载均衡群集DR模式+Keepalived部署!