LVS-DR模式部署实战!!个人整理,.......

DR模式

直接路由
●Direct Routing,简称DR模式
●采用半开放式的网络结构,与TUN模式的结构类似,但各节点并不是分散在各
地,而是与调度器位于同一个物理网络
●负载调度器与各节点服务器通过本地网络连接,不需要建立专用的IP隧道

准备环境:

服务器                           系统                                            ip                                        作用
客户端                           win10                   192.168.75.10                                                                                       客户机测试访问lvs负载集群           
调度器                         centos7.6               192.168.100.25(物理网口)|  192.168.100.100 (vip地址)                      LVS调度器
web1                           centos7.6                192.168.100.26(物理网口)| 192.168.100.100(vip地址)                        提供web服务
web2                           centos7.6                192.168.100.27(物理网口)| 192.168.100.100(vip地址)                        提供web服务        
nfs存储                        centos7.6                192.168.100.28                                                                                nfs共享服务

声明:

咱们先说下DR模式下,需要注意的地方和问题!!

1.问题
在局域网中具有相同的IP地址,势必会造成各服务器ARP通信的紊乱
●当ARR广播发送到LVS-DR集群时,因为负载均衡器和节点服务器都是连接到相同的网络上,它们都会接收到ARP广播
●只有前端的负载均衡器进行响应,其他节点服务器不应该响应ARP广播

解决:
对节点服务器进行处理,使其不响应针对VIP的ARP请求
#设置内核参数arp_ ignore=1: 系统只响应目的IP为本地IP的ARP请求

2,问题
■RealServer返回报文(源IP是VIP)经路由器转发,重新封装报文时,需要先获取路由器的MAC地址

■发送ARP请求时,Linux默认使用IP包的源IP地址(即VIP) 作为ARP请求包中的源IP地址,而不使用发送接口的ip地址
如:ens33

3.路由器收到ARP请求后,将更新ARP表项
原有的VIP对应Director的MAC地址会被更新为VIP对应RealServer的mac地址

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

解决方法
●对节点服务器进行处理,设置内核参数
arp_ announce=2: 系统不使用IP包的
源地址来设置ARP请求的源地址,而选
择发送接口的IP地址

修改/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

调度器上修改/etc/sysctl.conf 文件
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0

调度器配置192.168.100.25

【1】配置虚拟IP地址(VIP)
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens33:0
[root@localhost network-scripts]# vi ifcfg-ens33:0
NAME=ens33:0
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.100.100
NETMASK=255.255.255.255

[root@localhost network-scripts]# ifup ifcfg-ens33:0
[root@localhost network-scripts]# ifconfig

ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.100.100  netmask 255.255.255.0  broadcast 192.168.32.255
        ether 00:0c:29:9b:a7:cc  txqueuelen 1000  (Ethernet)


【2】调整/proc响应参数  对于 DR 群集模式来说,由于 LVS 负载调度器和各节点需要共用 VIP 地址,应该关闭 Linux 内核的重定向参数响应
服务器不是一台路由器,那么它不会发送重定向,所以可以关闭该功能

vi /etc/sysctl.conf 

net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0

[root@localhost network-scripts]# sysctl -p     ###生效


【3】配置负载分配策略
[root@localhost /]# ipvsadm -v
[root@localhost ~]#yum -y install ipvsadm
[root@localhost ~]# modprobe ip_vs
[root@localhost ~]# cat /proc/net/ip_vs
[root@localhost ~]#ipvsadm -A -t 192.168.100.100:80 -s rr
[root@localhost ~]#ipvsadm -a -t 192.168.100.100:80 -r 192.168.100.26:80 -g -w 1
[root@localhost ~]#ipvsadm -a -t 192.168.100.100:80 -r 192.168.100.27:80 -g -w 1



配置NFS存储服务器192.168.100.28

1.安装nfs-utils   rpcbind  

yum -y install nfs-utils               #nfs必须安装的,不然无法识别nfs格式,
yum -y install rpcbind

2.创建共享测试目录,和网页文件

mkdir  /opt/as1   /opt/as2

echo 'this is as1' >/opt/as1/index.html         #写些数据定义web1
echo 'this is as2' >/opt/as2/index.html         #写些数据定义web2

3.添加共享目录,
vi /etc/exports                  #将共享目录添加在配置内,相当于发布

/opt/as1 192.168.100.0/24(rw,sync)
/opt/as2 192.168.100.0/24(rw,sync)

                                         #重启服务,设置开机自启
systemctl restart nfs      
systemctl restart rpcbind
systemctl enable nfs
systemctl enable rpcbind


showmount -e                  #查看当前共享的目录
Export list for localhost.localdomain:
/opt/as2 192.168.100.0/24
/opt/as1 192.168.100.0/24

web1服务器 192.168.100.26

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@localhost network-scripts]# vi ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.100.100
NETMASK=255.255.255.255
ONBOOT=yes

ifup lo:0
ifconfig

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

sysctl -p



1.安装nfs ,rpcbind 服务

yum -y install nfs-utils               #nfs必须安装的,不然无法识别nfs格式,
yum -y install rpcbind

2.查看nfs存储服务器共享,需输入nfs地址
showmount -e 192.168.100.28
Export list for 192.168.100.28:
/opt/as2 192.168.100.0/24
/opt/as1 192.168.100.0/24

3.安装apache web服务器!咱们直接yum安装了

yum  -y install httpd

systemctl restart httpd           #开启httpd服务
systemctl enable httpd 

4.将nfs的共享目录下的测试网页,挂载到apahce下的html下

mount 192.168.100.28:/opt/as1/   /var/www/html/

vi /etc/fstab           #配置文件下添加
192.168.100.28:/opt/as1  /var/www/html/  nfs defaults,_netdev 0 0

init 6  #重启服务,验证搭建环境是否正确!

web2服务器192.168.100.27

准备环境
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@localhost network-scripts]# vi ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.100.100
NETMASK=255.255.255.255
ONBOOT=yes

 ifup lo:0
ifconfig

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

sysctl -p





1.安装nfs ,rpcbind 服务

yum -y install nfs-utils               #nfs必须安装的,不然无法识别nfs格式,
yum -y install rpcbind

2.查看nfs存储服务器共享,需输入nfs地址
showmount -e 192.168.100.28
Export list for 192.168.100.28:
/opt/as2 192.168.100.0/24
/opt/as1 192.168.100.0/24

3.安装apache web服务器!咱们直接yum安装了

yum  -y install httpd

systemctl restart httpd           #开启httpd服务
systemctl enable httpd 

4.将nfs的共享目录下的测试网页,挂载到apahce下的html下

mount 192.168.100.28:/opt/as2/   /var/www/html/

vi /etc/fstab           #配置文件下添加
192.168.100.28:/opt/as2  /var/www/html/  nfs defaults,_netdev 0 0

init 6  #重启服务,验证搭建环境是否正确!

配置路由

在这里插入图片描述
VM2网卡 ------路由-------VM1网卡(LVS负载均衡集群)

验证

win10 (VM2网卡) 验证!

输入LVS负载均衡集群地址;(vip地址)192.168.100.100

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_47320286/article/details/108745179