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),实现了负载均衡和高可用性
测试结果表明,请求按轮询策略均匀分配,系统响应稳定,性能优异