LVS负载均衡群集—DR直接路由模式(越是不顺的时候,越要沉住气)(二)

简介: LVS负载均衡群集—DR直接路由模式(越是不顺的时候,越要沉住气)(二)

四、部署LVS-DR直连路由负载均衡群集


模拟内网环境下负载均衡群集,web服务为两台http服务




负载均衡器centos7-4 ens33:192.168.109.134 ens33:0:192.168.109.188


web服务器1centos7-2 192.168.109.132


web服务器2centos7-3 192.168.109.133


nfs服务器centos7-1 192.168.109.131


客户端w7:192.168.109.200


VIP:192.168.109.188

#每台机子关闭防火墙和selinux
systemctl stop firewalld
systemctl disable firewalld
setenforce 0


4.1 nfs服务器

centos7-1 192.168.109.131


#下载nfs服务所需的包
yum install nfs-utils.x86_64 rpcbind -y






4.2 负载均衡器

centos7-4 192.168.109.134


1.加载模块

modprobe ip_vs
cat /proc/net/ip_vs
yum -y install ipvsadm

2.配置虚拟IP地址

#配置虚拟IP地址(VIP:192.168.109.188)
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33 ifcfg-ens33:0
vim ifcfg-ens33:0
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.109.188
NETMASK=255.255.255.255
ifup ens33:0
ifconfig ens33:0


3.调整proc相应参数

#由于LVS负载调度器和各节点需要共用VIP地址,需要关闭icmp的重定向,不充当路由器
vim /etc/sysctl.conf 
net.ipv4.ip_forward=0
net.ipv4.conf.all.send_redirects=0
net.ipv4.conf.default.send_redirects=0
net.ipv4.conf.ens33.send_redirects=0
sysctl -p


4.配置负载分配策略

ipvsadm-save > /etc/sysconfig/ipvsadm 
systemctl start ipvsadm 
ipvsadm -C 
ipvsadm -A -t 192.168.109.188:80 -s rr  #指定调度算法
ipvsadm -a -t 192.168.109.188:80 -r 192.168.109.132:80 -g    #若隧道模式,-g替换为-i 
ipvsadm -a -t 192.168.109.188:80 -r 192.168.109.133:80 -g    
ipvsadm 
ipvsadm -ln   #查看节点状态,Route代表DR模式

4.3 web服务器1

centos7-2 192.168.109.132


1.下载http服务并开启

yum install -y httpd
systemctl start httpd
systemctl enable httpd

2.配置虚拟IP地址(VIP:192.168.109.188)

#此地址仅用作发送Web响应数据包的源地址,并不需要监听客户机的访问请求(改由调度器监听并分发)。因此使用虚接口1o:0来承载VIP地址,并为本机添加一条路由记录,将访问VIP的数据限制在本地,以避免通信紊乱。

[root@web1 ~]# cd /etc/sysconfig/network-scripts/
[root@web1 network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@web1 network-scripts]# vim ifcfg-lo:0
DEVICE=lo:0
ONBOOT=yes
IPADDR=192.168.109.188
NETMASK=255.255.255.255  #注意:子网掩码必须全为1
[root@web1 network-scripts]# ifup lo:0   #开启虚拟网卡
[root@web1 network-scripts]# ifconfig lo:0
lo:0: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 192.168.109.188  netmask 255.255.255.255
        loop  txqueuelen 1  (Local Loopback)
#临时添加路由
[root@web1 network-scripts]# route add -host 192.168.109.188 dev lo:0
#-host 添加一个主机
#-net添加一个网段
#dev代表出站网卡
[root@web1 network-scripts]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.109.2   0.0.0.0         UG    100    0        0 ens33
192.168.109.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.109.188 0.0.0.0         255.255.255.255 UH    0      0        0 lo
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
#开机自动加入路由
[root@web1 network-scripts]# vim /etc/rc.local
[root@web1 network-scripts]# cat /etc/rc.local |grep route
/sbin/route add -host 192.168.109.188 dev lo:0
[root@web1 network-scripts]# chmod +x /etc/rc.d/rc.local


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

vim /etc/sysctl.conf 
......
net.ipv4.conf.lo.arp_ignore=1   #系统只响应目的IP为本地IP的ARP请求
net.ipv4.conf.lo.arp_announce=2  #系统不使用IP包的源地址来设置ARP请求的源地址,而选择发送接口的IP地址
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
......
sysctl -p


4.挂载NFS

[root@web1 ~]# showmount -e 192.168.109.131
Export list for 192.168.109.131:
/opt/nfs/gyq     192.168.109.0/24
/opt/nfs/stevelu 192.168.109.0/24
[root@web1 ~]# mount 192.168.109.131:/opt/nfs/stevelu /var/www/html/
[root@web1 ~]# df -h
文件系统                          容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root            10G  4.9G  5.2G   49% /
devtmpfs                          897M     0  897M    0% /dev
tmpfs                             912M     0  912M    0% /dev/shm
tmpfs                             912M  9.1M  903M    1% /run
tmpfs                             912M     0  912M    0% /sys/fs/cgroup
/dev/sda1                        1014M  179M  836M   18% /boot
tmpfs                             183M   12K  183M    1% /run/user/42
tmpfs                             183M     0  183M    0% /run/user/0
192.168.109.131:/opt/nfs/stevelu   10G  4.9G  5.2G   49% /var/www/html
[root@web1 ~]# cd /var/www/html
[root@web1 html]# ls
index.html
[root@web1 html]# cat index.html 
i am stevelu
[root@web1 html]#


4.4 web服务器2

centos7-3 192.168.109.133


配置其他与web1相同,只有挂载的nfs目录不同


[root@web2 html]# mount 192.168.109.131:/opt/nfs/gyq /var/www/html/

4.5客户端测试




可以看到实现了负载均衡


总结


节点服务器


1.配置 lo:0 虚拟网卡 承载VIP

2.配置route add

3.修改内核配置文件 /etc/systl.conf

4.安装web应用,准备网页


调度器


1.加载模块

2.安装ipvsadm工具

3.设置虚拟网卡(为了相应ARP请求放在物理网卡上)

4.设置内核参数

5.负载均衡策略

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
8月前
|
负载均衡 前端开发 JavaScript
LVS-DR模式、keepalived、Nginx与Tomcat合作,打造动静分离,高效负载均衡与高可用性
为了采用这样的架构,你需要对LVS-DR、Keepalived、Nginx与Tomcat有一定的理解和掌握,同时也需要投入一些时间去研究和配置,但是一旦你把它运行起来,你将会发现,这一切都是值得的。
348 11
|
Kubernetes 负载均衡 应用服务中间件
深入理解 Kubernetes Ingress:路由流量、负载均衡和安全性配置
深入理解 Kubernetes Ingress:路由流量、负载均衡和安全性配置
2463 1
|
负载均衡 网络协议 算法
LVS 负载均衡部署的三种模式 与搭建dr模式具体步骤
LVS 负载均衡部署的三种模式 与搭建dr模式具体步骤
|
负载均衡 Java Spring
Spring cloud gateway 如何在路由时进行负载均衡
Spring cloud gateway 如何在路由时进行负载均衡
2314 15
|
负载均衡 网络协议
NAT模式 LVS负载均衡部署
NAT模式 LVS负载均衡部署
|
8月前
|
负载均衡 前端开发 应用服务中间件
Tomcat的负载均衡和动静分离(与nginx联动)
总的来说,负载均衡和动静分离是提高Web应用性能的两个重要手段。通过合理的配置和使用,我们可以让Web应用更好地服务于用户。
263 21
|
缓存 负载均衡 算法
解读 Nginx:构建高效反向代理和负载均衡的秘密
解读 Nginx:构建高效反向代理和负载均衡的秘密
315 2
|
负载均衡 前端开发 应用服务中间件
负载均衡指南:Nginx与HAProxy的配置与优化
负载均衡指南:Nginx与HAProxy的配置与优化
775 3
|
负载均衡 算法 应用服务中间件
nginx自定义负载均衡及根据cpu运行自定义负载均衡
nginx自定义负载均衡及根据cpu运行自定义负载均衡
393 1
|
运维 负载均衡 算法
SLB与NGINX的异同是什么
SLB与NGINX的异同是什么
1995 2