keepalived简介

Keepalived的作用是检测服务器的状态,如果有一台服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。 官网: Keepalived是用C语言编写的路由软件。该项目的主要目标是为Linux系统和基于Linux的基础结构提供负载均衡和高可用性的简单而强大的项目。 如果说网络故障或者自身keepalived挂掉后,事先配置好的master slaver1 slaver2…

keepalived没启动问什么ip能漂 keepalived 启动_优先级

安装keepalived,配置负载均衡服务器

安装配置 yum -y install keepalived
主机配置 vi /etc/keepalived/keepalived.conf
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。

shell脚本

vim /usr/local/nginx/conf/nginx.conf

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

主机配置:

vim /etc/keepalived/check-nginx.sh
1
1
 global_defs {

notification_email {

test@qq.com

}

notification_email_from test@qq.com   #发送通知邮件时邮件源地址是谁

smtp_server 127.0.0.1

smtp_connect_timeout 30 #连接smtp连接超时时间

router_id LVS_DEVEL  #机器标识

}

#用来做健康检查的,当时检查失败时会将vrrp_instance的priority减少相应的值。

vrrp_script chk_http_port {

       script "/usr/checknginx.sh"       #监控脚本

       interval 2                                         #监控脚本检测周期秒

       weight  10       #意思是如果script中 的指令执行失败,
       那么相应的vrrp_instance的优先级会减少10个点
    }

vrrp_instance VI_1 {

state MASTER #backup机器配置为BACKUP

interface eth0     #绑定的网卡名称

virtual_router_id  51  #必须与backup机器配置相同

priority 100  #优先级,要比backup机器高至少50

advert_int 1 #检查间隔,默认1秒 VRRP心跳包的发送周期,单位为s

authentication {

    auth_type PASS  #授权类型,必须与backup相同

    auth_pass 1111   #授权密码,必须与backup相同

} 

virtual_ipaddress {

    192.168.23.220    #虚拟ip地址,必须与backup相同

}

track_script {

               chk_http_port

}

}

备机配置

global_defs {

notification_email {

test@qq.com
}
notification_email_from test@qq.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL_BAK
}
vrrp_script chk_http_port {
script "/usr/checknginx.sh"       #监控脚本

       interval 2                                         #监控脚本检测周期

       weight -10                                          #意思是如果script中的指令执行失败,那么相应的vrrp_instance的优先级会减少10个点。

    }vrrp_instance VI_1 {
state BACKUP

interface eth0

virtual_router_id 51

priority 50

advert_int 1

 authentication {

    auth_type PASS  #授权类型,必须与backup相同

    auth_pass 1111   #授权密码,必须与backup相同

} 

virtual_ipaddress {

    192.168.23.220    #虚拟ip地址,必须与backup相同

}

 track_script {

               chk_http_port

} 

nopreempt   #不抢占IP,即当keepalived发生切换后,只能配置在BACKUP上 ,

                                                    #这样避免来回切换带来的系统开销,同时也避免了IP切换带来的系统不稳定性}