一、LVS相关概念
LVS(Linux Virtual Server)是一种开源的负载均衡解决方案,用于将客户端请求分发到多个后端服务器上。它构建于Linux内核之上,旨在提高服务器的可用性和可扩展性。
1、LVS相关术语:
VS:Virtual Server,负责调度
RS:RealServer,负责真正提供服务
VIP:Virtual serve IP ,VS外网的IP
DIP:Director IP ,VS内网的IP
RIP: Real server IP
2、LVS集群的类型
2.1、nat模式
- 本质是多目标IP的DNAT,通过将请求报文中的目标地址和目标端口修改为某挑出的RS的RIP和 PORT实现转发
- RIP和DIP应在同一个IP网络,且应使用私网地址;RS的网关要指向DIP
- 请求报文和响应报文都必须经由Director转发,Director易于成为系统瓶颈
- 支持端口映射,可修改请求报文的目标PORT
- VS必须是Linux系统,RS可以是任意OS系统
2.2、DR模式
DR:Direct Routing,直接路由,LVS默认模式,应用最广泛,通过为请求报文重新封装一个MAC首部进行 转发,源MAC是DIP所在的接口的MAC,目标MAC是某挑选出的RS的RIP所在接口的MAC地址;源 IP/PORT,以及目标IP/PORT均保持不变
2.3、TUN模式
转发方式:不修改请求报文的IP首部(源IP为CIP,目标IP为VIP),而在原IP报文之外再封装一个IP首部 (源IP是DIP,目标IP是RIP),将报文发往挑选出的目标RS;RS直接响应给客户端(源IP是VIP,目标IP 是CIP)
二、部署NAT模式集群
1、配置lvs主机ip 192.168.0.50
2、启用内核路由功能
vim /etc/sysctl.conf
3、配置两个webserver的ip 192.168.0.10 192.168.0.20
4、下载httpd并启动
yum install httpd -y
5、修改dns
vim /etc/NetworkManager/system-connections/ens160.connection
6、给html中分别写入内容
echo webserver2 --192.168.0.20 > /var/www/html/index.html
echo webserver1 --192.168.0.10 > /var/www/html/index.html
测试:
7、lvs中下载ipvsadm软件
yum install ipvsadm -y
8、添加策略
测试:
三、部署DR模式集群
1、部署逻辑
2、部署过程
1、客户端client配置
2、路由router配置
3、在lvs和rs分别添加192.168.0.200
ip a a 192.168.0.200/32 dev lo
4、lvs配置
5、rs配置
在客户端测试:
四、防火墙标签解决轮询错误
1、在rs中下载mod_ssl
yum install mod_ssl -y
2、重启Apache服务
systemctl restart httpd
3、在lvs中给端口做标记
4、添加策略
测试: