keepalived 配置详解

#配置keepalive
#两台服务器端keepalived.conf内容都为如下,都设置为backup,不抢占,注意修改优先级不同,更详细的keepalived配置文件说明可以执行man keepalived.conf查看:
#Configuration File for keepalived

#全局的定义
global_defs {
notification_email { #定义接受邮件的邮箱
[email protected]
[email protected]                   
[email protected]
}
notification_email_from [email protected] #定义发送邮件的邮箱
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_MASTER #lvs服务器标识符
}

#虚拟路由组配置
vrrp_sync_group VG1 {
group {
VI_1
VI_2
}
}
vrrp_sync_group VG2 {
group {
VI_3
VI_4
}
}

#虚拟路由实例配置(实例1)
vrrp_instance VI_1 {
state MASTER  #主从设置 MASTER
interface eth0  #网卡名
virtual_router_id 51
mcast_src_ip 10.10.152.94 #本机IP
priority 200  #从机小于主机
advert_int 1
authentication {
    auth_type PASS
    auth_pass admin
}
virtual_ipaddress {
    10.10.152.90/24   #VIP 的IP
}
track_script {
    chk_redis  #检测redis服务状态脚本
}

#主备切换后执行的脚本
notify_master /etc/keepalived/scripts/redis_master.sh
notify_backup /etc/keepalived/scripts/redis_backup.sh
  notify_fault  /etc/keepalived/scripts/redis_fault.sh
notify_stop   /etc/keepalived/scripts/redis_stop.sh

}


#虚拟路由实例配置(实例2)
vrrp_instance VI_2 { #lvs实例标识
state MASTER          #服务器状态
interface eth2        #监控的端口
virtual_router_id 52  #虚拟路由标识,一组lvs的虚拟路由标识必须相同,这样才能切换
priority 100          #lvs服务启动优先级,值越大,优先级越高,BACKUP 不能大于MASTER
advert_int 2          #lvs服务器之间的存活检查时间2s
authentication {
    auth_type PASS    #认证类型
    auth_pass 123456 #认证密码,一组lvs 服务器的认证密码必须一致
}
virtual_ipaddress {
    192.168.0.138     #虚拟ip或服务ip
}

}


#虚拟服务器配置
virtual_server 192.168.0.138 80 { #虚拟服务运行方式定义
delay_loop 5          #检查realserver存活的间隔时间
lb_algo rr            #负载均衡算法
lb_kind DR            #请求转发方式
persistence_timeout 50  #连接保持时间
protocol TCP
#真实服务器配置
real_server 192.168.0.132 80 { #真实服务器定义
    weight 1          #负载参数
    TCP_CKECK {
        connect_timeout 10  #连接超时时间
        nb_get_retry 3      #重试连接的次数
        delay_before_reitry 3  #每次连接间隔
        connect_port 80     #端口
    }
}

real_server 192.168.0.133 80 {
    weight 1
    TCP_CHECK {
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
    }
}
}


#监控服务NGINX mysql Redis等服务的脚本

vrrp_script chk_redis {
script "/etc/keepalived/scripts/redis_check.sh"
interval 2
weight -20

}



猜你喜欢

转载自jianhao-wang.iteye.com/blog/2260854