一、环境

如上图所示:

keepalived的mater为proxy-master,keepalived的slave为proxy-slave。

要求:当mater出现问题时,主动切换到slave上。这里只是进行简单的主从切换展示,后续会有专门一节将zabbix proxy高可用方式。

二、配置文件

1、master的配置文件

cat keepalived.conf
! Configuration File for keepalived

global_defs {
notification_email {
xuequn@kingsoft.com
}
notification_email_from zabbix@kingsoft.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}

vrrp_script chk_zabbix_web {

script "killall -0 zabbix_proxy"
interval 10
weight 20

}

vrrp_instance VI_ZBX_WEB {
state BACKUP  #注意,这里因为考虑到切换成slave后我不再切回来,所以也配置成backup,且为nopreempt模式
nopreempt #when myself is master,set this option.
interface eth0
virtual_router_id 160
priority 100
advert_int 1
mcast_src_ip 192.168.1.102
authentication {
auth_type PASS
auth_pass ZabbixServer
}
track_script {

chk_zabbix_web

}
virtual_ipaddress {
192.168.1.100
}

#notify_master "/etc/keepalived/change_to_master.sh"
notify_backup "/etc/keepalived/change_to_backup.sh"   #切换为backup后,执行的脚本
}

slave上的配置:

cat keepalived.conf
! Configuration File for keepalived

global_defs {
notification_email {
xuequn@kingsoft.com
}
notification_email_from zabbix@kingsoft.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}

vrrp_script chk_zabbix_web {

script "killall -0 zabbix_agentd"
interval 10
weight 20

}

vrrp_instance VI_ZBX_WEB {
state BACKUP
#nopreempt #when myself is master,set this option.
interface eth1
virtual_router_id 160
priority 90
advert_int 1
mcast_src_ip 192.168.1.101
authentication {
auth_type PASS
auth_pass ZabbixServer
}
track_script {

chk_zabbix_web

}
virtual_ipaddress {
192.168.1.100

}

notify_master "/etc/keepalived/change_to_master.sh"  #切换为master后,执行的脚本
#notify_backup "/etc/keepalived/change_to_backup.sh"
}

三、启动并测试

1、正常启动

2、故障切换

3、nopreempt测试

PS:本文纯属记录个人实践经历,如有问题,可随时联系我。QQ505711559

Keepalived实战(3)的更多相关文章

  1. LVS+keepalived 实战

    安装依赖: yum -y install wget libnl* popt* gcc.x86_64 gcc-c++.x86_64 gcc-objc++.x86_64 kernel-devel.x86_ ...

  2. LVS入门篇(五)之LVS+Keepalived实战

    一.实验架构和环境说明 (1)本次基于VMware Workstation搭建一个四台Linux(CentOS 7.4)系统所构成的一个服务器集群,其中两台负载均衡服务器(一台为主机,另一台为备机), ...

  3. Keepalived 原理与实战

    Keepalived 原理与实战 随着系统架构的逐渐演化,服务器的数量和结构会越来越复杂,例如 Web 服务器集群的搭建,提高了系统的性能,同时也提高了系统维护的复杂度,我们需要对集群中各台服务器进行 ...

  4. keepalived实现haproxy负载均衡器的高可用

    一.keepalived简介 keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于,用来防止单点故障. 二.vrrp协议2.1 vrrp协议简介 在现实的网络环境中,两台需要通信 ...

  5. keepalived绑定单播地址、非抢占模式及LVS的TCP模式的高可用

    背景:keepalived默认是组播地址进行播放,且默认地址是224.0.0.18,如果配置多个keepalived主机,会导致虚拟IP地址存在冲突问题,这种问题怎么解决呢? 解决办法:就是将keep ...

  6. 学习Keepalived(二)

    一.keepalived简介 keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于,用来防止单点故障. 二.vrrp协议2.1 vrrp协议简介 在现实的网络环境中,两台需要通信 ...

  7. 一次 Keepalived 高可用的事故,让我重学了一遍它!

    原文首发: 你好,我是悟空. 前言 上次我们遇到了一个 MySQL 故障的事故,这次我又遇到了另外一个奇葩的问题: Keepalived 高可用组件的虚拟 IP 持续漂移,导致 MySQL 主从不断切 ...

  8. 如何掌握并提高linux运维技能

    初中级Linux运维人员们系统学习并迅速掌握Linux的运维实战技能.学习路线大纲如下: 入门基础篇 系统运维篇 Web运维篇 数据库运维篇 集群实战篇 运维监控篇 第一篇:Linux入门(安装.配置 ...

  9. WEB相关系列

    一.Nginx(web服务器) Nginx概述和安装(1) Nginx配置文件(2) Nginx日常维护操作(3) Nginx常用配置实例(4) Nginx常用功能(5) Nginx性能优化技巧(6) ...

随机推荐

  1. java 集合学习笔记

    1.Collection(单列结合) List(有序,数据可重复) ArrayList:底层数据结构是数组,查询快,增删慢,线程不安全,效率高. Vector:底层数据结构是数组,查询快,增删慢,线程 ...

  2. 在Eclipse中如何关联源代码

    我们就以Struts2框架为例,展示在Eclipse中如何关联源代码.例如,在Struts2框架的学习中,我们有时需要查看ActionSupport这个类的源码,这个时候就要在Eclipse中关联源代 ...

  3. IntelliJ IDEA 环境常用设置整理

    1.修改为Eclipse快捷键 File -> Settings -> Keymap => Keymaps改为 Eclipse copy   2.显示行号: File -> S ...

  4. mysql版本升级

    环境 mysql安装在centos上,需要升级. mysql的版本是 mysql> select version(); +-----------+ | version() | +-------- ...

  5. 1. 生成三行文本,过滤文本,cp不覆盖,find查找文件,sed打印行,查看系统信息,磁盘分区

  6. 统计函数:MAX,MIN,SUM,AVG,COUNT

  7. 【python】函数参数关键字索引、参数指定默认值、搜集参数

  8. springboot swagger-ui结合

    随着移动互联的发展,前后端的分离已经是趋势.前后端已不是传统部门的划分,而是它们各有一套的生态系统,包括不同的开发语言.不同的开发流程.构建方式.测试流程等.做前端的不需要会maven作为构建工具,后 ...

  9. JavaScript:AOP实现

    AOP的概念,使用过Spring的人应该都不陌生了.Dojo中,也是支持AOP的.对于JavaScript的其他框架.库不知道有没有AOP的支持.相信即便没有支持,也不会太远了.下面就介绍一下使用Ja ...

  10. 为什么epoll会那么高效

    参考(原文简直超赞):https://zhidao.baidu.com/question/687563051895364284.html下面是我结合原文写的,为了便于自己理解:关于阻塞和非阻塞的理解可 ...