keepalived实现某服务的HA(高可用) 您所在的位置:网站首页 keepalived怎么实现高可用 keepalived实现某服务的HA(高可用)

keepalived实现某服务的HA(高可用)

2024-07-12 13:42| 来源: 网络整理| 查看: 265

本文旨在说明如何用 keepalived 实现某个服务的 主从热备 模式的高可用,主要提供了相关配置文件,配置文件中以 Nginx 服务为例。

一 keepalived 实现高可用的基本原理 keepalived 借助目标服务状态检查脚本判断是否进行代理漂移。 目标服务状态检查脚本中的逻辑是:如果目标服务没有运行,则尝试启动目标服务,等待一定时间后,如果目标服务仍未启动,则关闭对应的 keepalived ,进行 keepalived 代理漂移。

二 keepalived 的相关配置文件

(1)master上的配置:

! Configuration File for keepalived global_defs {     notification_email {         [email protected]     }     notification_email_from [email protected]     smtp_server mail.example.com     smtp_connect_timeout 30     router_id LVS_DEVEL  }     vrrp_script chk_nginx {     script "/etc/keepalived/nginx_check.sh"      interval 2     weight -5     fall 3     rise 2 }     vrrp_instance VI_1 {     state MASTER       interface eth0       virtual_router_id 2      priority 101      advert_int 2     authentication {         auth_type PASS          auth_pass 1111     }     virtual_ipaddress {         192.168.207.210       }     track_script {        chk_nginx     }   }

(2)slave上的配置:

! Configuration File for keepalived global_defs {     notification_email {      [email protected]     }     notification_email_from [email protected]     smtp_server mail.example.com     smtp_connect_timeout 30     router_id LVS_DEVEL     }

vrrp_script chk_nginx {     script "/etc/keepalived/nginx_check.sh"     interval 2     weight -5     fall 3     rise 2     }

vrrp_instance VI_1 {     state BACKUP     interface eth0     virtual_router_id 2     priority 100     advert_int 2     authentication {     auth_type PASS     auth_pass 1111     } virtual_ipaddress {     192.168.207.210     } track_script {       chk_nginx     }

}

(3) 目标服务状态监测脚本

processCount=`ps -ef | grep nginx | grep -v grep | wc -l` if [ $processCount -eq 0 ];then     # try to start Nginx     nginx     # suspended time 2 seconds     sleep 2     if [ `ps -ef | grep nginx | grep -v grep | wc -l` -eq 0 ];then         # kill keepalived and floating the VIP         ps -ef|grep keepalived|grep -v grep|awk '{print $2}'|xargs kill -9     fi   fi

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有