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

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),实现了负载均衡和高可用性

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

相关推荐
小南家的青蛙8 小时前
微服务体系下DevOps运维岗位面试方案设计
运维·面试·职场和发展·devops
知已难寻18 小时前
Docker 入门:容器技术与 Docker 基础
java·运维·服务器·docker·云原生·容器
Alluxio1 天前
Alluxio + OCI:为 AI 工作负载实现亚毫秒访问延迟与可扩展吞吐
运维·数据库·人工智能·分布式·缓存·ai·语言模型
Sayai1 天前
Neo4j 图数据质量检查实战:环路检测、孤立节点与连通分量,两条 Cypher 引出的数据体检清单(含变长路径性能陷阱)
运维·neo4j·图数据库·数据质量·cypher
Elastic 中国社区官方博客1 天前
更少的位数,相同的召回率:DiskBBQ 更保守的自动校准扫描
大数据·运维·开发语言·人工智能·elasticsearch·搜索引擎
方便面不加香菜1 天前
Docker Volume -- 管理卷Volume详解
运维·docker·容器
沫璃染墨1 天前
从零入门计算机网络系列(十八):TCP连接管理详解——从三次握手与四次挥手到TIME_WAIT机制
运维·服务器·网络·c++·网络协议·tcp/ip·tcp
Felven1 天前
华为鲲鹏920s芯片serdestool工具使用说明
linux·运维·服务器·华为·鲲鹏920·serdestool
江湖有缘1 天前
Docker实战 | 使用Docker部署lemonitor镜像站点列表程序
运维·docker·容器
莫晓燚1 天前
mall 电商项目完整部署---实战
linux·运维·docker·容器