keepalived根据服务是否可用切换vip

安装组件

yum -y install keepalived
yum install -y psmisc #需要用到killall指令做健康检查

主节点配置

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
[root@nginx-01 ~]# cat /etc/keepalived/keepalived.conf<br>global_defs {
   router_id nginx
}
 
vrrp_script check_nginx {
    script "killall -0 nginx"   #nginx为system服务名
    interval 2   # 检测间隔时间,即两秒检测一次
    fall 2       # 检测失败的最大次数,超过两次认为节点资源发生故障
    rise 2       # 请求两次成功认为节点恢复正常
    weight -50   #一个正整数或负整数。权重值,关系到整个集群角色选举
}
 
vrrp_instance VI_1 {
    state backup  #主节点也需要设置为backup,如果设置为master,当nginx服务挂掉之后,vip会暂时飘到备节点,但当主节点服务启起来之后,会再次将vip抢占回来
    interface ens192  #网卡名
    virtual_router_id 168  #虚拟路由id,用于区分不同的vrrp实例
    priority 100  #值越大优先级越高
    advert_int 1
    #nopreempt  #非抢占模式参数,不要取消注释
    authentication {
        auth_type PASS
        auth_pass H1_shanghaiweizhong
    }
    virtual_ipaddress {
       172.16.168.5/24 #vip,注意填写真实地址
    }
    track_script {
        check_nginx          #对应vrrp_script
    }
}

  

从节点配置

 
复制代码
[root@nginx-02 ~]# cat /etc/keepalived/keepalived.conf
global_defs {
   router_id nginx
}

vrrp_script check_nginx {
    script "killall -0 nginx"   #nginx为system服务名
    interval 2   # 检测间隔时间,即两秒检测一次
    fall 2       # 检测失败的最大次数,超过两次认为节点资源发生故障
    rise 2       # 请求两次成功认为节点恢复正常
    weight -50   #一个正整数或负整数。权重值,关系到整个集群角色选举
}

vrrp_instance VI_1 {
    state backup  #主节点也需要设置为backup,如果设置为master,当nginx服务挂掉之后,vip会暂时飘到备节点,但当主节点服务启起来之后,会再次将vip抢占回来
    interface ens192  #网卡名
    virtual_router_id 168  #虚拟路由id,用于区分不同的vrrp实例
    priority 90  #值越大优先级越高
    advert_int 1
    #nopreempt  #非抢占模式参数,不要取消注释,一般只需要state为master时,且只有master节点才需要配置
    authentication {
        auth_type PASS
        auth_pass H1_shanghaiweizhong
    }
    virtual_ipaddress {
       172.16.168.5/24 #vip,注意填写真实地址
    }
    track_script {
        check_nginx          #对应vrrp_script
    }
}
复制代码

 验证:

主备机分别停用nginx,观察vip是否正常来回切换

posted @   joker灬上上谦1  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示