Keepalived使用小结
编译安装
1、安装环境
CentOS release 6.4 Based on Linux 2.6.32,安装1.2.9,没问题
在Red Hat Enterprise Linux Server release 5.3 (Tikanga) Based on 2.6.18 安装1.2.9,有问题,1.2.8没问题
2、获取源码
http://www.keepalived.org/software/keepalived-1.2.9.tar.gz
http://www.keepalived.org/software/keepalived-1.2.8.tar.gz
3、编译
tar -xvf keepalived-1.2.x.tar.gz
mkdir /opt/keepalived
cd keepalived-1.2.x
./configure --prefix=/opt/keepalived
make
make install
4、配置
假设有两台机器A,B
A的keepalived.conf配置:
global_defs {
router_id LVS_DEVEL_TEST
}
vrrp_script Monitor_Haroxy {
# script "/home/plat/ott_release/script/haproxy_keepalived.sh"
script "killall -0 haproxy"
interval
weight -
}
vrrp_instance VI_HA {
state BACKUP
interface em1 #网卡接口
virtual_router_id
priority
advert_int
nopreempt
authentication {
auth_type PASS
auth_pass
}
#notify_master /home/plat/ ott_release/script/redis_master.sh
#notify_backup/home/plat/ott_release/script/redis_backup.sh
track_script {
Monitor_Haproxy
}
virtual_ipaddress {
10.0.63.237
}
}
B的keepalived.conf配置:
global_defs {
router_id LVS_DEVEL_TEST
}
vrrp_script Monitor_Haroxy {
script "/home/plat/ott_release/script/haproxy_keepalived.sh"
#script "killall -0 haproxy"
interval
weight -
}
vrrp_instance VI_HA {
state BACKUP
interface br-ex
virtual_router_id
priority
advert_int
nopreempt
authentication {
auth_type PASS
auth_pass
}
notify_master /home/plat/ ott_release/script/redis_master.sh
notify_backup/home/plat/ott_release/script/redis_backup.sh
track_script {
Monitor_Haproxy
}
virtual_ipaddress {
10.0.63.237
}
}
以下配置,A、B是相同的
/home/plat/ott_release/script/haproxy_keepalived.sh示例如下:
-
#!/bin/bash
count = `ps aux | grep -v grep | grep haproxy | wc -l`
if [ $count > 0 ]; then
exit 0
else
exit 1
fi
注:
keepalived会定时执行脚本并对脚本执行的结果进行分析,动态调整vrrp_instance的优先级。
如果脚本执行结果为0,并且weight配置的值大于0,则优先级相应的增加
如果脚本执行结果非0,并且weight配置的值小于0,则优先级相应的减少
其他情况,维持原本配置的优先级,即配置文件中priority对应的值。
说明几点:
1)优先级不会不断的提高或者降低
2)可以编写多个检测脚本并为每个检测脚本设置不同的weight
3)不管提高优先级还是降低优先级,最终优先级的范围是在[1,254],不会出现优先级小于等于0或者优先级大于等于255的情况
说明一种情况,以上配置的两台机器,启动后A
weight高,所以变成Master,如果Master检测到进程出问题,将自身weight减少20即60,小于备机,所以备机切换为Master;当原Master即A恢复,由于其weight为80,会抢占B成为Master。
启动时,在安装目录下运行:./sbin/keepalived
-f conf/keepalived.conf -c run/checker.pid -r run/vrrp.pid -p
run/pid.pid
运行两个keepalived进程时,例如:./sbin/keepalived
-f conf/keepalived1.conf -c run/checker1.pid -r run/vrrp1.pid -p
run/pid1.pid
Keepalived使用小结的更多相关文章
- Keepalived基础知识-运维小结
keepalived介绍keepalived观察其名可知,保持存活,在网络里面就是保持在线了,也就是所谓的高可用或热备,它集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防 ...
- keepalived.conf 配置文件小结
vrrp_script vs_mysql_82 { script "/etc/keepalived/checkMySQL.py -h 192.168.11.82 -P 3306&qu ...
- keepalived小结
keepalived 启动流程: 启动三个进程(主进程.healthcheck 进程.vrrp进程)之后,先进入backup状态,运行一次vrrp_script成功后发现没有主,这时候会进入maste ...
- 【大型网站技术实践】初级篇:借助LVS+Keepalived实现负载均衡
一.负载均衡:必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务器集群技术,集群即将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是Web应用服务 ...
- docker nginx1.7.6+keepalived实现双机热备
0.前提条件 环境两台ubuntu版本14.04 64位系统(并获取root权限) 假设两台服务器ip为:172.16.34.214(master),172.16.34.215(backup),kee ...
- Keepalived高可用集群搭建(转载linuxIDC)
1.Keepalived简介 Keepalived是一个基于VRRP协议来实现的WEB服务高可用方案,可以利用其来避免单点故障.使用多台节点安装keepalived.其 他的节点用来提供真实的服务,同 ...
- 借助LVS+Keepalived实现负载均衡(转)
原文:http://www.cnblogs.com/edisonchou/p/4281978.html 一.负载均衡:必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务 ...
- 架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层
1.概述 前两遍文章中,我们一直在说后文要介绍Nginx + Keepalived的搭建方式.这篇文章开始,我们就来兑现前文的承诺,后续的两篇文章我们将介绍Nginx + Keepalived和 LV ...
- LVS + keepalived + tomcat负载均衡及高可用实现(初级)
1.首先检测Linux服务器是否支持ipvs 执行如下命令:modprobe -l|grep ipvs 输出: kernel/net/netfilter/ipvs/ip_vs.ko kernel/ne ...
随机推荐
- KMP算法--C#版
static void BuildTable(string subString, ref int[] next) { if (string.IsNullOrWhiteSpace(subString)) ...
- 封装hibernate中session(静态单例模式)
因为每次用增删改查时都需要用到session,直接做一个类,需要的时候只需要调用即可 import org.hibernate.Session; import org.hibernate.Sessio ...
- LeetCode OJ:Missing Number (丢失的数)
Given an array containing n distinct numbers taken from 0, 1, 2, ..., n, find the one that is missin ...
- Puzzle Game HihoCoder - 1634
题目链接:https://cn.vjudge.net/problem/HihoCoder-1634 题目意思:可以让矩阵里的某一个数变成p,或者不修改.求最大子矩阵最小,输出最小值. 思路:请看下图 ...
- L129
Iraq Sees Spike in Water-Borne IllnessesIraqi health officials say that a health crisis stemming fro ...
- h5启动原生APP总结
许久没有写博客了,最近有个H5启动APP原生页面的需求,中间遇上一些坑,看了些网上的实现方案,特意来总结下 一.需要判断客户端的平台以及是否在微信浏览器中访问 1.客户端判断 在启动APP时,Andr ...
- 向重复劳动说不!——GMExplorer 1.0 Beta 发布
下载: GMExplorer 1.0 Beta 计算机网络诞生以来,各项技术日新月异.在浏览器器能做和看到的,早已不止网页了! 特别是近几年HTML5.云服务等技术的兴起,涌向大批优秀的Web应用.人 ...
- win7/8 关闭非正常关机的自动修复功能
win7/8 关闭非正常关机的自动修复功能 1.桌面右键新建一个文档文本,双击打开文件新建文本文档,复制以下命令到文本里面! bcdedit /set {default} bootstatuspoli ...
- ROS机器人星火计划公开课总结
非常荣幸参加了两次星火计划公开课(上海站), 感谢NXROBO.EXBOT以及所有支持ROS机器人星火计划的小伙伴们. ----废话开始,与课程总结无关,可跳过---- 在国内20多年的求学生涯以及2 ...
- 在Linux上部署DotNet Core项目的时候发现Apache无法转发Kestrel的5000端口的问题
CentOS服务器上使用Apache托管Dotnet Core2,服务启动了,端口也打开了.在本地使用curl命令可以访问5000端口的网页内容,但是访问Apache的端口却无法获取到网页的内容.想起 ...