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 ...
随机推荐
- 006——VUE中的内容与属性中使用javascript表达式的方法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Struts03---参数传递
package cn.bdqn.bean; /** * *用户的实体类 */ public class User { private String name; private String passw ...
- UI-自定义TabBar
MyCustomTabBar.h文件 #import <UIKit/UIKit.h> @interface MyCustomTabBar : UITabBarController @end ...
- Windows系统下MySQL解压版添加到系统服务
MySQL软件版本:64位 5.7.12 1.首先配置MySQL的环境变量,在系统环境变量Path的开头添加MySQL的bin目录的路径,以“;”结束,我的路径配置如下: 2.修改MySQL根目录下的 ...
- Android event logcat的研究
经常有这样的需求:在程序A启动之后,在这个程序上覆盖一个界面,让用户输入密码后才能启动程序A,这类场景主要集中在安全软件中. 那应该怎样得知某某程序启动了,系统没有相应的广播,这很难知道程序启动了. ...
- Arcgis for javascript不同的状态下自定义鼠标样式
俗话说:爱美之心,人皆有之.是的,没错,即使我只是一个做地图的,我也希望自己的地图看起来好看一点.在本文,给大家讲讲在Arcgis for javascript下如何自定义鼠标样式. 首先,说几个状态 ...
- 我们为什么选择JAVA
我们为什么选择Java 大多数人选择Java可能只是因为听说Java前景好.Java比较好找工作.Java语言在TIOBE排行榜上一直位于前三等等之类的原因,但是Java具体好在哪里,心里却是没有什么 ...
- [分享]Google 全球 IP 地址库[Google Global Cache IPs]
Google 全球 IP 地址库 IP 地址来源:http://www.kookle.co.nr,共计4351个. Bulgaria 93.123.23.1 93.123.23.2 93.123.23 ...
- Java进阶知识点5:服务端高并发的基石 - NIO与Reactor模式以及AIO与Proactor模式
一.背景 要提升服务器的并发处理能力,通常有两大方向的思路. 1.系统架构层面.比如负载均衡.多级缓存.单元化部署等等. 2.单节点优化层面.比如修复代码级别的性能Bug.JVM参数调优.IO优化等等 ...
- notebook查找文件