web集群第二次作业

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
公网NAT网关,每月750个小时 15CU
简介: LVS(Linux Virtual Server)是一种高性能、可扩展的负载均衡软件,它可以将客户端请求分发到多个后端服务器上,从而实现负载均衡。LVS支持多种工作模式,其中最常用的是NAT模式和DR模式。这两种模式各有优缺点,下面我将详细介绍他们的特点及适用场景。

1. 对比 LVS 负载均衡群集的 NAT 模式和 DR 模式,比较其各自的优势 。

LVS(Linux Virtual Server)是一种高性能、可扩展的负载均衡软件,它可以将客户端请求分发到多个后端服务器上,从而实现负载均衡。LVS支持多种工作模式,其中最常用的是NAT模式和DR模式。这两种模式各有优缺点,下面我将详细介绍他们的特点及适用场景。


NAT模式

在NAT模式下,LVS通过修改数据包头部信息,将客户端请求转发给后端服务器,并将响应流量经过NAT方式返回给客户端。具体来说,LVS会将请求数据包中的源IP地址改为自己的IP地址,并将目标IP地址改为后端服务器的IP地址;对于响应数据包,LVS会将目标IP地址改为自己的IP地址,并将源IP地址改为客户端的IP地址。NAT模式下,LVS需要处理所有进出LVS的流量,因此需要更多的CPU资源,并且会增加一定的延迟。但是,NAT模式可以实现透明的负载均衡,后端服务器无需知道LVS的存在,也无需进行任何特殊配置。


NAT模式的优点:

透明性:后端服务器无需知道LVS的存在,也无需进行任何特殊配置,可以像正常服务器一样运行。

稳定性:当某个后端服务器出现故障时,LVS会自动将请求路由到其他可用的后端服务器上。

安全性:LVS可以隐藏后端服务器的真实IP地址,从而增强了系统的安全性。


NAT模式的缺点:

性能损失:由于需要对数据包进行地址转换和端口转换,因此会增加一定的网络延迟和CPU负载。

扩展性:LVS的NAT模式只支持单向流量转发,不适合处理需要双向通信的业务场景。


DR模式

在DR模式下,LVS仅负责将客户端请求路由到后端服务器上,并将响应流量直接返回给客户端。与NAT模式不同的是,在DR模式中,LVS不需要对响应流量进行地址转换和端口转换,因此性能更高、延迟更低。但是,要使用DR模式,后端服务器需要配置虚拟IP,并将响应流量发送到虚拟IP上,这需要一定的额外配置。


DR模式的优点:

高性能:由于无需对数据包进行地址转换和端口转换,因此可以实现更高的性能和更低的延迟。

可扩展性:DR模式支持多台LVS节点组成集群,通过共享虚拟IP来实现负载均衡,因此可以实现更高的可扩展性。

灵活性:DR模式适用于需要双向通信的业务场景,可以在后端服务器上直接处理响应流量。 DR模式的缺点:

配置复杂度:要使用DR模式,后端服务器需要配置虚拟IP,并将响应流量发送到虚拟IP上,这需要一定的额外配置。

透明性:由于LVS不对响应流量进行地址转换和端口转换,因此后端服务器需要知道LVS的存在,并进行相应的配置。


2. 基于 CentOS 7 构建 LVS-DR 群集。


1、环境准备

准备机器
192.168.1.100   lVS
192.168.1.101 web1
192.168.1.102 web2
192.168.1.33    测试机器

2、安装httpd准备两个web页面

web1和web2安装
yum install httpd -y
echo "web test is `hostname -I`" > /var/www/html/index.html
systemctl restart httpd.service 
访问
[root@test ~]# curl 192.168.1.101
web test is 192.168.1.101 
[root@test ~]# curl 192.168.1.102
web test is 192.168.1.102 

3、配置LVS负载均衡服务

1、下载工具
yum install ipvsadm.x86_64 -y
2、增加一个虚拟IP 192.168.1.110
nmcli connection modify ens33 +ipv4.addresses 192.168.1.110/24
nmcli connection up ens33 
3、配置LVS
清除所有策略
ipvsadm -C
查看 
ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
添加LVS服务
ipvsadm -A -t 192.168.1.110:80 -s wrr 
增加两台RS
ipvsadm -at 192.168.1.110:80 -r 192.168.1.101:80 -g
ipvsadm -at 192.168.1.110:80 -r 192.168.1.102:80 -g

查看

7782c839a6374caf8fe5bedcd23ae0b6.png

4、手工在RS端绑定VIP,添加本机访问VIP的路由信息

ifconfig lo:110 192.168.1.110 netmask 255.255.255.255 up
添加本机访问VIP的路由
route add -host 192.168.1.110 dev lo

9da46bd61c9744098c13674249862074.png

5、手工在RS端抑制ARP响应

echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" > /proc/sys/net/ipv4/conf/ens33/arp_ignore
echo "2" > /proc/sys/net/ipv4/conf/ens33/arp_announce

也可以使用arptables实现抑制arp

下载
yum install arptables -y
arptables -A INPUT -d 192.168.1.110 -j DROP
arptables -A OUTPUT -s 192.168.1.110 -j mangle --mangle-ip-s 192.168.1.102

6、测试

37c99144a90a4e1cac41469cc4db1aa6.png

06147107c38b483284c4a64043e5dfad.png


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
4月前
|
Java 应用服务中间件 Shell
Nginx+Keepalived+Tomcat 实现Web高可用集群
Nginx+Keepalived+Tomcat 实现Web高可用集群
144 0
|
4月前
|
负载均衡 算法 应用服务中间件
负载均衡技术在Web服务器集群中的应用
【8月更文第28天】随着互联网的发展和用户对Web服务需求的增长,单台服务器很难满足大规模访问的需求。为了提高系统的稳定性和扩展性,通常会采用Web服务器集群的方式。在这种架构中,负载均衡器扮演着至关重要的角色,它能够合理地分配客户端请求到不同的后端服务器上,从而实现资源的最优利用。
151 2
|
7月前
|
前端开发
web前端作业3
web前端作业3
34 1
|
7月前
web作业2
web作业2
47 1
|
7月前
|
前端开发
web前端的作业1
web前端的作业1
33 1
|
运维 关系型数据库 MySQL
【运维知识进阶篇】集群架构-Nginx实现基础web架构(Linux+Nginx+PHP+Mysql)(二)
【运维知识进阶篇】集群架构-Nginx实现基础web架构(Linux+Nginx+PHP+Mysql)(二)
246 0
|
负载均衡 监控 算法
百度搜索:蓝易云【HAProxy搭建web集群教程。】
这是一个简单的HAProxy搭建Web集群的教程。在实际应用中,还可以进行更多的配置和优化,以满足你的需求。建议在搭建之前查阅官方文档或参考其他详细的教程以获取更全面的指导。
120 3
百度搜索:蓝易云【HAProxy搭建web集群教程。】
|
7月前
《吉师作业》(1)之我是web手为啥让我学C
《吉师作业》(1)之我是web手为啥让我学C
68 0
|
弹性计算 Kubernetes 索引
使用Kubectl部署web服务到K8s集群
本场景带您体验如何使用k8s的原生命令kubectl部署一个web应用(魔方应用)的镜像到k8s集群中,并通过Ingress将部署的服务暴露出来由外部访问。
|
弹性计算 Kubernetes 容器
使用Kubectl部署web服务到K8s集群
本次基于阿里云实验室提供的实验环境,使用预创建好的创建云服务器ECS和ACK集群资源,实现通过Kubectl部署web服务到K8s集群。