LVS负载均衡群集——DR直接路由模式(下)

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
云防火墙,500元 1000GB
传统型负载均衡 CLB,每月750个小时 15LCU
简介: 一、 LVS-DR 工作原理1.1 LVS-DR数据包流向分析(1)客户端发送请求到Director Server (负载均衡器),请求的数据报文(源IP是CIP,目标IP是VIP)到达内核空间。


第二台web节点服务器(192.168.72.40/24),VIP:192.168.72.200/32

和第一台的配置步骤相同。

#1、关闭防火墙
 [root@web2 ~]# systemctl stop firewalld
 [root@web2 ~]# setenforce 0
 #2、安装httpd,开启服务
 [root@web2 ~]# mount /dev/sr0 /mnt      //挂载光盘
 mount: /dev/sr0 写保护,将以只读方式挂载
 [root@web2 ~]# yum install httpd -y     //安装httpd服务
 [root@web2 ~]# systemctl start httpd    //开启httpd服务
 #3、配置虚拟IP地址(VIP:192.168.72.200),添加虚接口lo:0。
 #此地址仅用作发送We响应数据包的源地址,并不需要监听客户机的访问请求(改由调度器监听并分发)。
 #因此使用虚接口lo:0来承载VIP地址,并为本机添加一条路由记录,将访问VIP的数据限制在本地,以避免通信紊乱。
 [root@web2 ~]# cd /etc/sysconfig/network-scripts/
 [root@web2 network-scripts]# cp ifcfg-lo ifcfg-lo:0
 [root@web2 network-scripts]# vim ifcfg-lo:0  //设置虚接口lo:0
 DEVICE=lo:0
 IPADDR=192.168.72.200
 NETMASK=255.255.255.255     //子网掩码必须全为1(即32个1)
 ONBOOT=yes
 [root@web2 network-scripts]# ifup lo:0         //启动虚接口
 [root@web2 network-scripts]# ifconfig lo:0     //查看虚接口的信息
 #4、添加静态路由信息,dev指定出站网卡
 [root@web2 ~]# route add -host 192.168.72.200 dev lo:0  
 [root@web2 ~]# route -n  //以数字形式显示路由信息
 #将添加路由的命令写入开机自启配置文件中,每次开机后自动执行
 [root@web2 ~]# vim /etc/rc.local
 /sbin/route add -host 192.168.72.200 dev lo:0
 [root@web2 ~]# chmod +x /etc/rc.d/rc.local
 #5、调整内核的ARP响应参数
 #arp_ignore=1,使本机只响应目的IP为本地物理网卡IP的ARP请求。
 #arp_announce=2,使本机系统采用发送接口的IP作为ARP请求报文源地址。
 [root@web2 ~]# vim /etc/sysctl.conf
 net.ipv4.conf.lo.arp_ignore = 1  
 net.ipv4.conf.lo.arp_announce = 2
 net.ipv4.conf.all.arp_ignore = 1
 net.ipv4.conf.all.arp_announce = 2
 [root@web2 ~]# sysctl -p  //刷新配置,读取修改后的配置
 #6、挂载站点。将NFS服务器的共享目录,挂载到httpd服务的根目录
 [root@web2 ~]# showmount -e 192.168.72.192    //查看NFS服务器的共享信息
 [root@web2 ~]# mount 192.168.72.192:/share/nn/ /var/www/html
 [root@web2 ~]# df       //查看挂载是否成功
 [root@web1 ~]# cat /var/www/html/index.html
  nn is a boy
复制代码


网络异常,图片无法展示
|


3.3 配置负载调度器(192.168.72.10/24)

使用轮询(rr)调度算法。

#1、关闭防火墙
 [root@yuji ~]# systemctl stop firewalld
 [root@yuji ~]# setenforce 0
 #2、加ip_vs模块
 [root@yuji ~]# modprobe ip_vs         //加载ip_vs模块
 [root@yuji ~]# cat /proc/net/ip_vs    //查看ip_vs模块的版本
 #3、安装ipvsadm工具
 [root@yuji ~]# yum install ipvsadm -y
 #4、配置虚拟IP地址(VIP:192.168.72.200),添加虚拟网卡ens33:0
 [root@yuji ~]# cd /etc/sysconfig/network-scripts/
 [root@yuji network-scripts]# cp ifcfg-ens33 ifcfg-ens33:0
 [root@yuji network-scripts]# vim ifcfg-ens33:0
 DEVICE=ens33:0
 ONBOOT=YES
 IPADDR=192.168.72.200
 NETMASK=255.255.255.255    //子网掩码必须全为1
 [root@yuji ~]# ifup ens33:0       //启动虚拟网卡
 [root@yuji ~]# ifconfig ens33:0   //查看网卡信息
 #也可以将添加虚拟网卡的命令,写入开机自启配置文件(/etc/rc.local)中,则每次开机后会自动执行命令添加虚拟网卡
 [root@yuji ~]# vim /etc/rc.local
 ifconfig ens33:0 192.168.72.200/32
 #5、调整proc响应参数
 #由于LVS负载调度器和各节点需要共用VIP地址,需要关闭icmp的重定向,不充当路由器。
 [root@yuji ~]# 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
 [root@yuji ~]# sysctl -p    //刷新配置,读取修改后的配置
 #6、设置负载分配策略(调度策略),-s rr表示指定轮询算法,-g表示使用DR模式
 [root@yuji ~]# ipvsadm -C  //清空原有规则
 [root@yuji ~]# ipvsadm -A -t 192.168.72.200:80 -s rr       
 [root@yuji ~]# ipvsadm -a -t 192.168.72.200:80 -r 192.168.72.30:80 -g
 [root@yuji ~]# ipvsadm -a -t 192.168.72.200:80 -r 192.168.72.40:80 -g
 [root@yuji ~]# ipvsadm   //查看调度策略
 [root@yuji ~]# ipvsadm -ln   //以数字形式查看调度策略,Route代表DR模式
 IP Virtual Server version 1.2.1 (size=4096)
 Prot LocalAddress:Port Scheduler Flags
   -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
 TCP  192.168.72.10:80 rr
   -> 192.168.72.30:80             Route   1      0          0   
   -> 192.168.72.40:80             Route   1      0          0 
 #7、保存策略,启动ipvsadm。启动服务前一定要保存策略,生成相应文件。
 [root@yuji ~]# ipvsadm-save > /etc/sysconfig/ipvsadm
 [root@yuji ~]# systemctl start ipvsadm
复制代码


网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|


3.4 客户机访问测试

客户机IP:192.168.72.77/24。

浏览器输入VIP地址:192.168.72.200

网络异常,图片无法展示
|


网络异常,图片无法展示
|


总结

NFS服务器配置步骤:

  • 关闭防火墙
  • 安装nfs-utils、rpcbind软件包
  • 新建共享目录,并创建站点文件
  • 修改共享配置文件,设置共享策略
  • 启动两个服务,查看本机的NFS共享信息

节点服务器配置步骤:

  • 关闭防火墙
  • 安装httpd服务
  • 配置 lo:0 虚拟网卡,承载VIP
  • 添加路由 route add
  • 修改内核配置,/etc/sysctl.conf
  • 挂载站点(将NFS服务器的共享目录挂载到httpd的站点目录)

DR负载调度服务器的配置步骤:

  • 关闭防火墙
  • 加载ip_vs模块,安装ipvsadm工具
  • 配置虚拟IP地址(VIP和节点服务器的VIP一致)
  • 调整 proc 响应参数,关闭路由转发功能,/etc/sysctl.conf
  • 配置负载分配策略
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
4月前
|
负载均衡 前端开发 JavaScript
LVS-DR模式、keepalived、Nginx与Tomcat合作,打造动静分离,高效负载均衡与高可用性
为了采用这样的架构,你需要对LVS-DR、Keepalived、Nginx与Tomcat有一定的理解和掌握,同时也需要投入一些时间去研究和配置,但是一旦你把它运行起来,你将会发现,这一切都是值得的。
155 11
|
8月前
|
负载均衡 IDE Java
SpringBoot整合XXL-JOB【04】- 以GLUE模式运行与执行器负载均衡策略
在本节中,我们将介绍XXL-JOB的GLUE模式和集群模式下的路由策略。GLUE模式允许直接在线上改造方法为定时任务,无需重新部署。通过一个测试方法,展示了如何在调度中心配置并使用GLUE模式执行定时任务。接着,我们探讨了多实例环境下的负载均衡策略,确保任务不会重复执行,并可通过修改路由策略(如轮训)实现任务在多个实例间的均衡分配。最后,总结了GLUE模式和负载均衡策略的应用,帮助读者更深入理解XXL-JOB的使用。
343 9
SpringBoot整合XXL-JOB【04】-  以GLUE模式运行与执行器负载均衡策略
|
负载均衡 网络协议 算法
LVS 负载均衡部署的三种模式 与搭建dr模式具体步骤
LVS 负载均衡部署的三种模式 与搭建dr模式具体步骤
|
负载均衡 运维 监控
负载均衡与容错性:集群模式在分布式系统中的应用
本文由小米分享,解释了分布式系统中的集群模式。集群模式是通过组合多个服务器节点,共同提供服务,实现高可用性、负载均衡和扩展性。文章介绍了主控节点的角色及其高可用性策略,如主备模式和选举机制,并以Zookeeper为例详细阐述了其工作机制。集群模式的优势在于高可用性、负载均衡、扩展性和数据一致性,但也面临节点通信、数据一致性、故障检测和管理等挑战。最后,作者鼓励读者讨论和交流相关技术问题。
392 5
|
4月前
|
负载均衡 前端开发 应用服务中间件
Tomcat的负载均衡和动静分离(与nginx联动)
总的来说,负载均衡和动静分离是提高Web应用性能的两个重要手段。通过合理的配置和使用,我们可以让Web应用更好地服务于用户。
139 21
|
缓存 负载均衡 算法
解读 Nginx:构建高效反向代理和负载均衡的秘密
解读 Nginx:构建高效反向代理和负载均衡的秘密
225 2
|
9月前
|
负载均衡 前端开发 应用服务中间件
负载均衡指南:Nginx与HAProxy的配置与优化
负载均衡指南:Nginx与HAProxy的配置与优化
576 3
|
负载均衡 算法 应用服务中间件
nginx自定义负载均衡及根据cpu运行自定义负载均衡
nginx自定义负载均衡及根据cpu运行自定义负载均衡
291 1
|
运维 负载均衡 算法
SLB与NGINX的异同是什么
SLB与NGINX的异同是什么
1488 2
|
负载均衡 应用服务中间件 nginx
解决nginx配置负载均衡时invalid host in upstream报错
在Windows环境下,配置Nginx 1.11.5进行负载均衡时遇到问题,服务无法启动。错误日志显示“invalid host in upstream”。检查发现上游服务器列表中,192.168.29.128的主机地址无效。负载均衡配置中,两个服务器地址前误加了"http://"。修正方法是删除上游服务器列表和proxy_pass中的"http://"。问题解决后,Nginx服务应能正常启动。
899 4
解决nginx配置负载均衡时invalid host in upstream报错

相关实验场景

更多