基于 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!!!

相关推荐
XIAOHEZIcode3 小时前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户03284722207019 小时前
如何搭建本地yum源(上)
运维
大树884 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠4 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质4 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工4 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智4 天前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_4 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
施努卡机器视觉4 天前
SNK施努卡侧滑门锁上滑轮总成自动化装配线,从零件到组件,全流程精密制造方案
运维·自动化·制造
AC赳赳老秦4 天前
用 OpenClaw 搭建服务器故障应急响应系统,自动处理 80% 常见运维故障
android·运维·服务器·python·rxjava·deepseek·openclaw