Keepalived实战(3)
一、环境
如上图所示:
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)的更多相关文章
- LVS+keepalived 实战
安装依赖: yum -y install wget libnl* popt* gcc.x86_64 gcc-c++.x86_64 gcc-objc++.x86_64 kernel-devel.x86_ ...
- LVS入门篇(五)之LVS+Keepalived实战
一.实验架构和环境说明 (1)本次基于VMware Workstation搭建一个四台Linux(CentOS 7.4)系统所构成的一个服务器集群,其中两台负载均衡服务器(一台为主机,另一台为备机), ...
- Keepalived 原理与实战
Keepalived 原理与实战 随着系统架构的逐渐演化,服务器的数量和结构会越来越复杂,例如 Web 服务器集群的搭建,提高了系统的性能,同时也提高了系统维护的复杂度,我们需要对集群中各台服务器进行 ...
- keepalived实现haproxy负载均衡器的高可用
一.keepalived简介 keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于,用来防止单点故障. 二.vrrp协议2.1 vrrp协议简介 在现实的网络环境中,两台需要通信 ...
- keepalived绑定单播地址、非抢占模式及LVS的TCP模式的高可用
背景:keepalived默认是组播地址进行播放,且默认地址是224.0.0.18,如果配置多个keepalived主机,会导致虚拟IP地址存在冲突问题,这种问题怎么解决呢? 解决办法:就是将keep ...
- 学习Keepalived(二)
一.keepalived简介 keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于,用来防止单点故障. 二.vrrp协议2.1 vrrp协议简介 在现实的网络环境中,两台需要通信 ...
- 一次 Keepalived 高可用的事故,让我重学了一遍它!
原文首发: 你好,我是悟空. 前言 上次我们遇到了一个 MySQL 故障的事故,这次我又遇到了另外一个奇葩的问题: Keepalived 高可用组件的虚拟 IP 持续漂移,导致 MySQL 主从不断切 ...
- 如何掌握并提高linux运维技能
初中级Linux运维人员们系统学习并迅速掌握Linux的运维实战技能.学习路线大纲如下: 入门基础篇 系统运维篇 Web运维篇 数据库运维篇 集群实战篇 运维监控篇 第一篇:Linux入门(安装.配置 ...
- WEB相关系列
一.Nginx(web服务器) Nginx概述和安装(1) Nginx配置文件(2) Nginx日常维护操作(3) Nginx常用配置实例(4) Nginx常用功能(5) Nginx性能优化技巧(6) ...
随机推荐
- 在nginx上部署vue项目(history模式);
在nginx上部署vue项目(history模式): vue-router 默认是hash模式,使用url的hash来模拟一个完整的url,当url改变的时候,页面不会重新加载.但是如果我们不想has ...
- WebAPI返回JSON
web api写api接口时默认返回的是把你的对象序列化后以XML形式返回,那么怎样才能让其返回为json呢,下面就介绍两种方法: 方法一:(改配置法) 找到Global.asax文件,在Applic ...
- IP地址简介
IP地址 IP地址,Internet Protocol Address,网络协议地址: IP地址与网络接口绑定,并不是指向一台主机,一个主机可能有多个IP地址,如果其连接多个网络,有多个网络接口: I ...
- Vue2 后台管理系统解决方案
基于Vue.js 2.x系列 + Element UI 的后台管理系统解决方案. github地址:https://github.com/lin-xin/manage-system demo地址:ht ...
- 深度搜索DFS-Lake Counting(POJ NO.2386)
题目链接POJ NO.2386 解题思路: 这个也是一个dfs 的应用,在书上的例子,因为书上的代码并不全,基本都是函数分块来写,通过这个题目也规范了代码,以后能用函数的就都用函数来实现吧.采用深度优 ...
- java.util.HashSet
Operations Time Complexity Notes add, remove, contains, size O(1) assuming the hash functions has di ...
- template package (godoc 翻译)
template 包 概述(Overview) template 包实现了数据驱动模板用于生成文本输出. 要生成HTML输出,请参阅html/template包,它具有与此包相同的接口,但会自动保护H ...
- 高级开发层面,针对Hibernate方面面试题的总结(对其它ORM也适用)
虽然目前mytabis用得比较多,但Hibernate相对比较容易上手,而且也有不少公司在用,所以本文就用这个举例,事实上,本文给出的面试建议也适用于各种ORM.本文摘自java web轻量级开发面试 ...
- C语言学生管理系统(原版本)(自编)
/*系统特色:(大牛勿笑) *颜色提示 *文字提示 *功能 */ #include <stdio.h> #include <stdlib.h> #include <mat ...
- libcurl的使用
http://blog.csdn.net/ixiaochouyu/article/details/47998267