基于 openEuler 构建 LVS-DR 群集

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

LVS-NAT模式的优势

  • 配置简单:NAT模式的配置相对容易,无需复杂的网络设置,适合初学者和小型网络环境。

  • 网络架构灵活:由于使用了NAT技术,LVS调度器和后端服务器可以位于不同的网段,网络架构更加灵活。

  • 安全性高:后端服务器的IP地址被隐藏,客户端无法直接访问后端服务器,增加了系统的安全性。

  • 支持端口映射:可以将一个端口的流量映射到多个后端服务器的不同端口,增加了配置的灵活性。

  • 操作系统兼容性好:后端服务器可以使用任意操作系统,无需特殊支持

LVS-DR模式的优势

  • 高性能:请求报文经过调度器,但响应报文直接从后端服务器返回客户端,减少了调度器的负载,提高了整体性能。

  • 低延迟:由于响应报文不经过调度器,减少了数据传输的路径,降低了延迟。

  • 可扩展性强:适合大规模集群和高并发场景,能够有效分散网络流量。

  • 无需地址转换:不修改报文的源IP和目标IP地址,减少了地址转换带来的性能开销。

  • 支持公网IP:后端服务器可以使用公网IP,便于直接从互联网访问。

总结

  • 适用场景

    • NAT模式适合小型集群或对安全性要求较高的场景,例如小型企业内部的负载均衡。

    • DR模式更适合高并发、大规模的负载均衡需求,例如大型网站或数据中心。

  • 性能

    • NAT模式在高负载下容易成为性能瓶颈,而DR模式可以有效分散流量,提高性能。
  • 配置复杂度

    • NAT模式配置简单,适合初学者;DR模式配置相对复杂,但性能更优。

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

基于openEuler构建LVS-DR集群的步骤如下,以下是详细的配置过程:

1. 环境准备

假设集群环境如下:

  • LVS调度器192.168.100.254

  • 真实服务器1192.168.100.10

  • 真实服务器2192.168.100.11

  • 虚拟IP(VIP)192.168.100.100

2. 配置LVS调度器

1. 关闭防火墙和SELinux

systemctl stop firewalld

systemctl disable firewalld

setenforce 0

2. 加载ip_vs模块

modprobe ip_vs

cat /proc/net/ip_vs

3. 安装ipvsadm工具

yum -y install ipvsadm

4. 配置VIP地址

编辑网卡配置文件,添加VIP地址:

cd /etc/sysconfig/network-scripts

cp ifcfg-ens33 ifcfg-ens33:0

vim ifcfg-ens33:0

内容如下:

NAME=ens33:0

DEVICE=ens33:0

ONBOOT=yes

IPADDR=192.168.100.100

NETMASK=255.255.255.255

启动网卡:

ifup ens33:0

5 .调整内核参数

编辑/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

6. 配置负载均衡规则
ipvsadm -C  
ipvsadm -A -t 192.168.100.100:80 -s rr  
ipvsadm -a -t 192.168.100.100:80 -r 192.168.100.10:80 -g  添加真实服务器1
ipvsadm -a -t 192.168.100.100:80 -r 192.168.100.11:80 -g  添加真实服务器2
ipvsadm  查看节点状态

将规则保存到文件,以便重启后生效

3. 配置真实服务器

1 .配置VIP地址

在每台真实服务器上配置VIP地址:

cd /etc/sysconfig/network-scripts

cp ifcfg-lo ifcfg-lo:0

vim ifcfg-lo:0

内容如下:

DEVICE=lo:0

IPADDR=192.168.100.100

NETMASK=255.255.255.255

ONBOOT=yes

启动VIP地址:

ifup lo:0

2 .添加主机路由

为VIP地址添加路由:

route add -host 192.168.100.100 dev lo:0

将路由配置写入开机启动脚本:

vim /etc/rc.local

添加以下内容:

route add -host 192.168.100.100 dev lo:0

确保脚本可执行:

chmod +x /etc/rc.d/rc.local

3 调整ARP参数

vim /etc/sysctl.conf

添加以下内容:

net.ipv4.conf.all.arp_ignore = 1

net.ipv4.conf.all.arp_announce = 2

net.ipv4.conf.default.arp_ignore = 1

net.ipv4.conf.default.arp_announce = 2

net.ipv4.conf.lo.arp_ignore = 1

net.ipv4.conf.lo.arp_announce = 2

加载内核参数:

sysctl -p

4. 测试集群

在客户端访问VIP地址192.168.100.100:80,观察请求是否被正确分发到真实服务器

访问VIP地址 : 在客户端(可以是另一台机器或本地机器)上,通过浏览器或curl命令访问VIP地址:curl http://192.168.100.100:80

或者直接在浏览器中输入http://192.168.100.100

可以通过在真实服务器上部署不同的页面内容,来直观地观察请求是否被分发到不同的服务器

关闭一台真实服务器(例如192.168.100.10),再次访问VIP地址,观察请求是否被自动转发到另一台真实服务器(192.168.100.11)。

如果配置正确,请求应该能够正常响应,且不会出现访问失败的情况。

测试负载均衡效果

同时访问VIP地址多次,观察请求是否按照配置的负载均衡算法(如轮询、最少连接等)被分发到不同的真实服务器。

可以通过访问日志或监控工具来验证负载均衡的效果

5. 可选:使用Keepalived实现高可用

为了实现LVS调度器的高可用,可以结合Keepalived进行配置

作用:可以实现LVS-DR集群的高可用性,确保在调度器故障时,服务能够无缝切换到备用调度器。

(不做详细说明)

Thank you!!!

相关推荐
网络安全(华哥)1 小时前
网络安全服务实施流程管理 网络安全服务体系
运维·服务器·网络
致奋斗的我们1 小时前
Nginx反向代理及负载均衡
linux·运维·mysql·nginx·负载均衡·shell·openeluer
Ares-Wang1 小时前
负载均衡 方式
运维·负载均衡
钗头风1 小时前
3.Docker常用命令
运维·docker·容器
朝九晚五ฺ2 小时前
【Linux探索学习】第三十弹——线程互斥与同步(上):深入理解线程保证安全的机制
linux·运维·学习
不要吃栗子李2 小时前
高级运维:1. 对比 LVS 负载均衡群集的 NAT 模式和 DR 模式,比较其各自的优势 。2. 基于 openEuler 构建 LVS-DR 群集。
运维·负载均衡·lvs
ITPUB-微风3 小时前
网易严选DevOps实践:从传统到云原生的演进
运维·云原生·devops
圣心4 小时前
Ollama Docker 镜像部署
运维·docker·容器
Karoku0664 小时前
【CI/CD】Jenkinsfile管理+参数化构建+邮件通知以及Jenkins + SonarQube 代码审查
运维·ci/cd·容器·kubernetes·jenkins·rancher
Lxyand15 小时前
网工项目实践2.4 北京公司安全加固、服务需求分析及方案制定
运维·服务器·网络·安全·智能路由器