Keepalived:Nginx高可用的实现及抢占式与非抢占模式详解
Keepalived:Nginx高可用的实现及抢占式与非抢占模式详解
1. 简介
Keepalived 是一种用于实现高可用性的工具,通过提供虚拟 IP(VIP),允许两个或多个服务器共享同一个 IP 地址,当一台服务器故障时,另一台服务器可以立即接管,确保服务的持续可用性。
2. Keepalived 安装
在 CentOS/RHEL 系统上,可以通过以下命令安装 Keepalived:
1 | sudo yum install keepalived -y |
3. Keepalived抢占式配置
3.1 Keepalived抢占式MASTER配置
1 | vrrp_script chk_nginx { |
3.2 Keepalived抢占式BACKUP配置
1 | vrrp_script chk_nginx { |
4 Keepalived非抢占式配置
4.1 Keepalived非抢占式MASTER配置
1 | vrrp_instance VI_1 { |
4.2 Keepalived非抢占式BACKUP配置
1 | vrrp_instance VI_1 { |
5. 启用并启动 Keepalived
1 | sudo systemctl start keepalived |
6. 测试配置
6.1 故障转移测试
在主节点上停止 Nginx:sudo systemctl stop nginx。
检查 VIP 是否转移到备用节点。
6.2 恢复测试
重新启动主节点上的 Nginx:sudo systemctl start nginx。
检查 VIP 是否回到主节点(针对抢占模式)。
7. 结论
通过 Keepalived,您可以实现高可用的 Nginx 集群。在抢占式模式下,主节点恢复后会重新获得 VIP,而在非抢占模式下,VIP 将继续保持在备节点,直到其停止运行。根据业务需求选择合适的模式,确保系统的高可用性和稳定性。
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.