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
查看
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
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、测试