高效构建与配置高可用负载均衡集群:从理论到实践的全面实施

1. 主机配置

主机 IP VIP 角色
本机 客户端
OpenEuler-1 172.25.254.10 172.25.254.100 虚拟服务器 (VS)
OpenEuler-2 172.25.254.12 172.25.254.100 真实服务器 (RS1)
OpenEuler-3 172.25.254.13 172.25.254.100 真实服务器 (RS2)

2. 真实服务器 (RS) 配置与优化
bash 复制代码
# 安装与配置 Nginx
[root@OpenEuler-2-3 ~]# yum install nginx -y

[root@OpenEuler-2-3 ~]# echo "My ip is `hostname -I`" > /usr/share/nginx/html/index.html

# 启动
[root@OpenEuler-2-3 ~]# systemctl enable --now nginx

# 测试
[root@OpenEuler-2 ~]# curl `hostname -I`
My ip is 172.25.254.12/My ip is 172.25.254.13
2.1 设置虚拟 IP (VIP)
bash 复制代码
[root@OpenEuler-1-3 ~]# nmcli con add type dummy ifname dummy1 ipv4.method manual ipv4.addresses 172.25.254.100/32
2.2 关闭 ARP 响应
bash 复制代码
[root@OpenEuler-2-3 ~]# vim + /etc/sysctl.conf
# 添加以下内容
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.dummy1.arp_ignore = 1
net.ipv4.conf.dummy1.arp_announce = 2

# 使其生效
sysctl -p

3. 虚拟服务器 (VS) 配置与负载均衡实现

3.1 安装 IPVS 管理工具
bash 复制代码
[root@OpenEuler-1 ~]# yum install ipvsadm -y
3.2 添加负载均衡规则
bash 复制代码
[root@OpenEuler-1 ~]# ipvsadm -At 172.25.254.100:80 -s rr
[root@OpenEuler-1 ~]# ipvsadm -at 172.25.254.100:80 -r 172.25.254.12:80 -g
[root@OpenEuler-1 ~]# ipvsadm -at 172.25.254.100:80 -r 172.25.254.13:80 -g

# 检查规则
[root@OpenEuler-1 ~]# ipvsadm -Ln
TCP  172.25.254.100:80 rr
  -> 172.25.254.12:80             Route   1      0          0
  -> 172.25.254.13:80             Route   1      0          0
  
# 客户端测试
[Moon] ⮞ for ((i=1;i<=6;i++)); do curl 172.25.254.100; done
My ip is 172.25.254.13
My ip is 172.25.254.12
My ip is 172.25.254.13
My ip is 172.25.254.12
My ip is 172.25.254.13
My ip is 172.25.254.12

4. 效果演示

通过上述配置,成功构建了一个高可用的负载均衡集群

客户端请求通过虚拟 IP (VIP) 均匀分发到两个真实服务器 (RS1 和 RS2),实现了负载均衡和高可用性

测试结果表明,请求按轮询策略均匀分配,系统响应稳定,性能优异

相关推荐
Elastic 中国社区官方博客1 小时前
教程:使用 ES|QL 进行威胁狩猎
大数据·运维·数据库·elasticsearch·搜索引擎·全文检索·安全威胁分析
bwz999@88.com2 小时前
Ubuntu Server 24.04 设置中文
linux·运维·ubuntu
Cx330❀2 小时前
【Linux网络】网络层协议 IP :从网络层原理到 Linux 内核源码
linux·运维·服务器·网络·tcp/ip·ai·ai编程
志栋智能2 小时前
运维超自动化的变更管理实践
运维·自动化
全栈攻略2 小时前
Docker 中 ROS2 工作流 Topic 验证与常用命令指南
运维·docker·容器
Gl�ria3 小时前
Linux 清理日志常用命令
linux·运维·服务器
j7~5 小时前
【Linux网络加餐(二)】《进程组,会话,控制终端,作业控制和守护进程》---详解
linux·运维·服务器·守护进程·会话·进程组·控制终端
名字还没想好☜5 小时前
Docker 数据卷实战:volume、bind mount、tmpfs 到底怎么选,数据持久化与权限坑
运维·docker·容器·kubernetes
天道jimmy5 小时前
VulnHub 系列:Prime,1
linux·运维·服务器