我是靠谱客的博主 精明小熊猫,最近开发中收集的这篇文章主要介绍keepalived文件说明,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

配置文件keepalived.conf

! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   #邮件服务器通知地址(暂不配置,默认即可)
   smtp_server 192.168.200.1
   #邮件服务器超时时间(暂不配置,默认即可)
   smtp_connect_timeout 30
   #当前虚拟机的IP地址
   router_id 192.168.42.128
}

vrrp_script Monitor_Nginx {
 script "/etc/keepalived/nginx_check.sh"    #检测脚本执行的路径
 interval 2                                 #检测脚本执行的间隔
 weight 2                                   #检测脚本执行的权重
}

vrrp_instance VI_1 {
    state MASTER         #标识这个机器是MASTER还是BACKUP
    interface ens33       #当前机器的网卡名称
    virtual_router_id 51 #虚拟路由的编号,主备必须一致
    priority 100         #主、备机取不同的优先级,主机值较大,备份机值较小
    advert_int 1         #(VRRP Multicast广播周期秒数)
    authentication {
        auth_type PASS   #(VRRP认证方式)
        auth_pass 1111   #(密码)
    }
    track_script {
                Monitor_Nginx #(调用nginx进程检测脚本)
        }
    virtual_ipaddress {
        192.168.42.50  #虚拟IP地址
    }
}

注意router_id、state、interface的值,下面有具体说明

配置文件分三部分:

  1. global_defs 全局配置

    router_id 指定机器标识。或虚拟机IP地址,或主机名。在host文件中加入

    127.0.0.1    LVS_DEVEL   
    

    router_id处改为router_id LVS_DEVEL

  2. script 检测脚本配置

    选项说明:
    scrip "/path/to/somewhere":指定要执行的脚本的路径。(健康检查脚本)
    interval <INTEGER>:指定脚本执行的间隔。单位是秒。默认为1s。
    weight <-254 --- 254>:调整优先级。默认为2.   
    

    如果脚本中的条件成立执行下面操作

    interval 脚本每隔多长时间执行一次,2 每隔2s执行一次

    weight 设置当前服务器的权重 -20 代表降低20,主服务器挂掉,就不作为主服务器,让从服务器承担主服务器的责任,让其权重有所改变

  3. 虚拟ip的地址

    选项说明:
    interface      #监听网卡,可通过ifconfig命令查看,如下图所示:
    advert_int  #检查时间间隔,每隔多长时间向服务器发送一次心跳,检测服务器是否还活着,默认为1秒
    authentication  #权限认证方式,认证方式可以是PASS或AH
    virtual_ipaddress  #虚拟IP,可以绑定多个
    track_script    #引用健康检查脚本函数
    

在这里插入图片描述

采用的接口网卡,注意后续所有的虚拟IP都需要在网卡支持的网段范围内,

比如centos默认是ens33,用ifconfig查看网卡网段,如果网卡只有192.168的内网网段那么虚拟IP也必须要用这个网段

脚本文件nginx_check.sh

#!/bin/bash
A=`ps -C nginx –no-header |wc -l`
if [ $A -eq 0 ];then
 /usr/local/nginx/sbin/nginx
 sleep 2
 if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
 killall keepalived
 fi
fi

nginx启动脚本的位置。

检测如果nginx挂掉,将所有进程杀掉, 保证从服务器替代主服务器,处理所有的访问请求

VRRP实例(instance)配置参数说明及示例

最后

以上就是精明小熊猫为你收集整理的keepalived文件说明的全部内容,希望文章能够帮你解决keepalived文件说明所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部